Partner Reports
Ingressos, combos e produtos
O catálogo do evento: ingressos e combos na granularidade de lote; produtos por item, sem lote. Sem parâmetros, os três endpoints retornam a lista completa; /tickets e /bundles também aceitam filtros de data e paginação por cursor.
Listar ingressos do evento
/v1/reports/organizations/{organizationId}/events/{eventId}/ticketsLista completa dos tipos de ingresso na granularidade de lote — um item por lote de cada ingresso. Sem parâmetros, retorna a lista completa (array puro); aceita leitura incremental — veja abaixo.
| Campo | Tipo | Descrição |
|---|---|---|
id | string (UUID) | Identificador do lote. Vem "" quando o ingresso ainda não tem lote atribuído. |
dates[] | array | Sessões associadas ao grupo do ingresso. |
group_id | string | Identificador do setor. |
group_name | string | Nome do setor — ex.: Pista, Camarote. |
ticket_id | string | Identificador do tipo de ingresso. |
ticket_name | string | Nome do tipo de ingresso. |
ticket_tier_id | string | Identificador do lote. |
ticket_tier_name | string | Nome do lote — ex.: 1º Lote. |
price | integer | Preço de catálogo em centavos. |
creation_ticket | string | Data de criação. |
updated_ticket | string | Data da última atualização. |
begin_sales | string | Início do período de vendas do lote. Sem fonte confirmada na origem — hoje vem vazio; não construa lógica sobre ele. |
end_sales | string | Fim do período de vendas do lote. |
status | string | Status do ingresso/lote. |
max_stock | integer | Estoque máximo configurado — base para “emitidos” no borderô. |
Timestamps: UTC com sufixo +00
Combos
/v1/reports/organizations/{organizationId}/events/{eventId}/bundlesCombos na granularidade de lote. Sem parâmetros, retorna a lista completa; aceita leitura incremental — veja abaixo. Os mesmos campos de /tickets, com o prefixo bundle_ (bundle_id, bundle_name, bundle_tier_id, bundle_tier_name, creation_combo, updated_combo) — exceto group_id, group_name e max_stock, que não existem em combos —, mais bundle_type (tipo do combo, ex.: fixed). Em combos, begin_sales é a primeira venda registrada (id de lote também pode vir "" sem lote atribuído).
Produtos
/v1/reports/organizations/{organizationId}/events/{eventId}/productsProdutos do evento — um item por produto, sem lote. Não paginado; parâmetros de filtro/paginação enviados a este endpoint são ignorados em silêncio, sem erro 400. Campos: id, dates[], product_id, product_name, price, creation_combo, updated_combo, begin_sales, end_sales, status, max_stock. dates[], begin_sales e end_sales podem vir sempre vazios hoje — sem fonte confirmada na origem; não construa lógica sobre eles. O tipo das colunas de data de /products não está confirmado — veja o aviso de fuso na seção de ingressos.
Leitura incremental (/tickets e /bundles)
/tickets e /bundles aceitam os mesmos parâmetros opcionais de /orders: updated_after, updated_before, created_after, created_before (janela de data, limites inclusivos — a mesma chave coalescida de atualização/criação usada em Pedidos), limit (liga o modo cursor — default 20, teto 200) e cursor (retoma a travessia). Sem limit/cursor, a resposta continua sendo o array JSON puro, ordenado por nome — ticket_name, ticket_tier_name em /tickets; bundle_name, bundle_tier_name em /bundles —, diferente do modo legado de Pedidos (que ordena por criação, decrescente). Em modo cursor a resposta muda para o envelope { items, next_cursor, has_more }, ordenado pela chave de atualização crescente e desempatado por id — não mais por nome. Formatos inválidos ou limit ≤ 0 → 400; combinar page/page_size com limit/cursor também → 400 (vale para /orders, /tickets e /bundles); um cursor não vazio ou a simples presença de limit (mesmo vazio, ex.: limit=) já liga o modo cursor. /products não aceita esses parâmetros — ver o aviso na seção de Produtos.
Fuso dos filtros — diferente de /orders
