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

GET/v1/reports/organizations/{organizationId}/events/{eventId}/tickets

Lista 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.

CampoTipoDescrição
id
string (UUID)Identificador do lote. Vem "" quando o ingresso ainda não tem lote atribuído.
dates[]
arraySessões associadas ao grupo do ingresso.
group_id
stringIdentificador do setor.
group_name
stringNome do setor — ex.: Pista, Camarote.
ticket_id
stringIdentificador do tipo de ingresso.
ticket_name
stringNome do tipo de ingresso.
ticket_tier_id
stringIdentificador do lote.
ticket_tier_name
stringNome do lote — ex.: 1º Lote.
price
integerPreço de catálogo em centavos.
creation_ticket
stringData de criação.
updated_ticket
stringData da última atualização.
begin_sales
stringIní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
stringFim do período de vendas do lote.
status
stringStatus do ingresso/lote.
max_stock
integerEstoque máximo configurado — base para “emitidos” no borderô.

Timestamps: UTC com sufixo +00

creation_ticket, updated_ticket, begin_sales e end_sales de /tickets e /bundles (e as datas equivalentes de combo) são TIMESTAMP em UTC — vêm com o sufixo +00, separados por espaço e com microssegundos, não em RFC 3339 estrito (ex.: 2026-07-29 15:19:05.842260+00). Diferente de Pedidos, onde order_created_at/order_updated_at são DATETIME no horário local do evento, sem offset, com o fuso indicado no campo timezone (veja a página de Pedidos). Em /products, o tipo das colunas de data não está confirmado hoje — não assuma UTC nem horário local; dates[], begin_sales e end_sales de /products hoje podem vir sempre vazios — sem fonte confirmada na origem; não construa lógica sobre eles.

Combos

GET/v1/reports/organizations/{organizationId}/events/{eventId}/bundles

Combos 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

GET/v1/reports/organizations/{organizationId}/events/{eventId}/products

Produtos 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

Aqui os valores de janela sem offset são interpretados como UTC (e offset explícito é aceito) — em /orders, são interpretados no horário local do evento e offset é recusado com 400. A diferença vem do schema das colunas na origem. O guia completo de leitura incremental (formatos, watermark, margem de sobreposição) está na página de Pedidos.