GET/api/integration/combos

    Lista combos ativos com itens, precos, economia e disponibilidade. Suporta dois modos de QR code.

    Modos de QR Code
    Cada combo define como QR codes sao gerados no checkout:
    • por_pessoa - Um QR code por pessoa. Todas as pessoas do combo precisam preencher nome, CPF, etc.
    • unico - Um QR code de grupo baseado no numero do pedido (formato: YYYYMMDD-NNNN), mais QR codes individuais por pessoa. O QR do combo agrupa todos os participantes para check-in simultaneo.
    O campo modo_qrcode esta presente em todas as respostas para que seu sistema saiba qual fluxo de checkout apresentar.

    Autenticacao

    Permissao necessaria: integration:combos:read

    Envie sua API Key no header X-Integration-Key.

    Listar Combos

    Filtros

    ParâmetroTipoDescrição
    destaque
    booleanFiltrar apenas combos em destaque
    slug
    stringBuscar combo por slug exato (ex: combo-familia)
    limit
    numberItens por pagina (max: 100)
    offset
    numberPular N registros

    Listar todos os combos ativos

    curl -X GET "https://sua-plataforma.com.br/api/v1/integration/combos" \
      -H "X-Integration-Key: sk_live_SUA_CHAVE_AQUI"

    Filtrar combos em destaque

    curl -X GET "https://sua-plataforma.com.br/api/v1/integration/combos?destaque=true" \
      -H "X-Integration-Key: sk_live_SUA_CHAVE_AQUI"

    Resposta - Listar Combos

    200OK
    {
      "success": true,
      "data": [
        {
          "id": "0c9469c9-3da3-4422-b01d-b7275e911ed7",
          "nome": "Combo Familia",
          "slug": "combo-familia",
          "descricao": "2 adultos + 2 criancas com almoco",
          "imagem_url": "https://...",
          "preco_combo": 299.90,
          "preco_original": 450.00,
          "economia": {
            "valor": 150.10,
            "percentual": 33
          },
          "tipo_desconto": "preco_fixo",
          "percentual_desconto": null,
          "modo_qrcode": "por_pessoa",
          "requer_data": true,
          "destaque": true,
          "max_por_pedido": 5,
          "data_inicio": "2026-01-01",
          "data_fim": "2026-12-31",
          "itens": [
            {
              "tipo_ingresso_id": "d5b759f4-...",
              "tipo_ingresso_nome": "Day Use",
              "lote_nome": "Adulto COM Almoco",
              "categoria_lote_id": "abc123-...",
              "lote_id": null,
              "quantidade": 2,
              "preco_unitario": 150.00
            },
            {
              "tipo_ingresso_id": "d5b759f4-...",
              "tipo_ingresso_nome": "Day Use",
              "lote_nome": "Crianca COM Almoco",
              "categoria_lote_id": "def456-...",
              "lote_id": null,
              "quantidade": 2,
              "preco_unitario": 75.00
            }
          ],
          "total_ingressos": 4,
          "itens_resumo": "2x Adulto COM Almoco + 2x Crianca COM Almoco"
        }
      ],
      "pagination": {
        "page": 1,
        "per_page": 50,
        "total": 3,
        "total_pages": 1
      },
      "timestamp": "2026-03-27T15:00:00.000Z"
    }

    Campos do Combo

    Raiz

    ParâmetroTipoDescrição
    id
    uuidIdentificador unico do combo
    nome
    stringNome do combo
    slug
    stringSlug URL-friendly para links diretos
    descricao
    stringDescricao do combo (pode conter HTML)
    preco_combo
    numberPreco final do combo (com desconto aplicado)
    preco_original
    numberSoma dos precos individuais dos itens (sem desconto)
    economia.valor
    numberValor economizado em reais
    economia.percentual
    numberPercentual de desconto (0-100)
    tipo_desconto
    stringpreco_fixo (valor manual) ou percentual (desconto %)
    modo_qrcode
    stringpor_pessoa (1 QR por pessoa) ou unico (1 QR por pedido)
    requer_data
    booleanSe true, cliente deve selecionar data de uso
    destaque
    booleanSe o combo esta em destaque
    max_por_pedido
    numberQuantidade maxima por pedido (null = ilimitado)
    total_ingressos
    numberTotal de ingressos inclusos no combo
    itens_resumo
    stringResumo legivel dos itens (ex: 2x Adulto + 2x Crianca)

    itens[]

    ParâmetroTipoDescrição
    tipo_ingresso_id
    uuidID do tipo de ingresso
    tipo_ingresso_nome
    stringNome do tipo de ingresso
    lote_nome
    stringNome do lote/categoria
    categoria_lote_id
    uuidID da categoria de lote (identificador estavel)
    quantidade
    numberQuantidade de ingressos deste item no combo
    preco_unitario
    numberPreco unitario congelado na criacao do combo
    GET/api/integration/combos/:id

    Retorna detalhe de um combo especifico. Aceita UUID ou slug como identificador.

    Buscar por ID

    curl -X GET "https://sua-plataforma.com.br/api/v1/integration/combos/0c9469c9-3da3-4422-b01d-b7275e911ed7" \
      -H "X-Integration-Key: sk_live_SUA_CHAVE_AQUI"
    404Combo nao encontrado
    {
      "success": false,
      "error": {
        "code": "COMBO_NOT_FOUND",
        "message": "Combo nao encontrado: combo-inexistente"
      }
    }
    GET/api/integration/combos/:id/availability

    Retorna datas disponiveis para um combo. A disponibilidade e a intersecao de todos os itens do combo.

    Estoque Compartilhado
    A disponibilidade de um combo depende de todos os seus itens terem estoque na mesma data. O campo min_stock indica quantos combos podem ser vendidos naquela data (limitado pelo item com menor estoque).

    Filtros

    ParâmetroTipoDescrição
    date_from
    stringYYYY-MM-DD - Data inicial do periodo
    date_to
    stringYYYY-MM-DD - Data final do periodo

    Consultar disponibilidade

    curl -X GET "https://sua-plataforma.com.br/api/v1/integration/combos/0c9469c9-3da3-.../availability?date_from=2026-04-01&date_to=2026-04-30" \
      -H "X-Integration-Key: sk_live_SUA_CHAVE_AQUI"

    Resposta - Disponibilidade

    200OK
    {
      "success": true,
      "data": {
        "combo_id": "0c9469c9-3da3-4422-b01d-b7275e911ed7",
        "combo_nome": "Combo Familia",
        "modo_qrcode": "por_pessoa",
        "total_ingressos": 4,
        "requer_data": true,
        "dates": [
          {
            "date": "2026-04-01",
            "available": true,
            "min_stock": 23,
            "items_availability": [
              {
                "tipo_ingresso_nome": "Day Use",
                "lote_nome": "Adulto COM Almoco",
                "quantidade_necessaria": 2,
                "estoque_disponivel": 45
              },
              {
                "tipo_ingresso_nome": "Day Use",
                "lote_nome": "Crianca COM Almoco",
                "quantidade_necessaria": 2,
                "estoque_disponivel": 23
              }
            ]
          },
          {
            "date": "2026-04-02",
            "available": true,
            "min_stock": 50,
            "items_availability": [
              {
                "tipo_ingresso_nome": "Day Use",
                "lote_nome": "Adulto COM Almoco",
                "quantidade_necessaria": 2,
                "estoque_disponivel": 50
              },
              {
                "tipo_ingresso_nome": "Day Use",
                "lote_nome": "Crianca COM Almoco",
                "quantidade_necessaria": 2,
                "estoque_disponivel": 50
              }
            ]
          }
        ]
      },
      "timestamp": "2026-03-27T15:00:00.000Z"
    }

    Campos da Disponibilidade

    ParâmetroTipoDescrição
    combo_id
    uuidID do combo consultado
    combo_nome
    stringNome do combo
    modo_qrcode
    stringModo de geracao de QR code
    total_ingressos
    numberTotal de ingressos no combo
    requer_data
    booleanSe o combo requer selecao de data
    dates[].date
    stringData no formato YYYY-MM-DD
    dates[].available
    booleanSe todos os itens tem estoque nesta data
    dates[].min_stock
    numberQuantos combos podem ser vendidos (baseado no item com menor estoque)
    dates[].items_availability[]
    arrayEstoque detalhado por item do combo

    Modos de QR Code

    por_pessoa - QR Code Individual

    Gera um QR code unico para cada pessoa do combo. Todas as pessoas precisam preencher seus dados (nome, CPF, etc.) no checkout.

    Exemplo: Combo com 4 ingressos (2 adultos + 2 criancas) = 4 QR codes, 4 formularios de dados pessoais.

    unico - QR Code Unico por Pedido

    Gera um QR code de grupo baseado no numero do pedido (formato: YYYYMMDD-NNNN), que agrupa todos os participantes para check-in simultaneo. Alem disso, cada participante recebe seu proprio QR code individual.

    Exemplo: Combo com 4 ingressos = 1 QR code de combo (combo_qr_code) + 4 QR codes individuais (qr_code).

    No endpoint /orders/:id/qrcodes, os campos combo_qr_code e is_titular indicam o QR do grupo e quem e o responsavel.

    Erros Possiveis

    Codigos de Erro

    ParâmetroTipoDescrição
    COMBO_NOT_FOUND
    404Combo nao encontrado pelo ID ou slug informado
    QUERY_ERROR
    500Erro interno ao consultar dados
    AUTH_ERROR
    401API Key invalida ou sem permissao integration:combos:read
    RATE_LIMITED
    429Limite de requisicoes excedido (100 req/min para GET)
    OmniTicketz API Documentation