Partner Reports

Partner Reports — visão geral

Consulta integrada de eventos publicados, tipos de ingresso, combos, produtos e pedidos. Os dados são servidos a partir do data warehouse da Ingresse com cache de curta duração.

Fluxo

  1. Obter token → reutilizar por ~5 min
  2. GET /v1/reports/organizations/{organizationId}/events → o id de cada evento é o eventId dos demais endpoints
  3. Consultar /tickets, /bundles, /products, /orders e /ecommerce-items do evento

Valores monetários

Todos os campos de valor — price, item_unit_value, item_discount_value e item_total_value — são inteiros em centavos. R$ 150,00 = 15000. Exceção: no relatório de e-commerce (GA4), price e event_value são decimais na moeda de currency — veja a página E-commerce.

Endpoints

EndpointDescriçãoPágina
GET /eventsEventos da organização, sessões, local e link de vendaEventos
GET /tickets · /bundles · /productsCatálogo — ingressos e combos por lote, produtos por item —, preço e estoqueCatálogo
GET /orders · /orders/{orderId}Pedidos, linhas de compra, comprador e portadoresPedidos
GET /ecommerce-itemsFunil de e-commerce do GA4 — view_item a purchase, 1 linha por item, com origem de tráfegoE-commerce (GA4)

Erros

StatusQuando ocorre
400Bad RequestParâmetros inválidos — misturar page/page_size com limit/cursor, limit não numérico ou ≤ 0, data em formato inválido, ou offset de fuso nos filtros de /orders. Em /ecommerce-items: limit/cursor (endpoint sem modo cursor) ou event_name fora da lista aceita. Path sem organizationId ou (em rotas de evento) sem eventId retorna ACL_MISSING_ORGANIZATION ou ACL_MISSING_EVENT.
401unauthorizedToken ausente, expirado, malformado ou com assinatura inválida. O token também precisa das claims email e sub (UUID) — um token client_credentials sem email recebe 401 com a mensagem invalid token: invalid authentication token: missing email.
403ACL_FORBIDDENSem a permissão events.reports na organização ou no evento.
404Not FoundorderId inexistente ou de outro evento — indistinguíveis, de propósito.
500Internal Server ErrorFalha ao consultar o data warehouse. Reenvie com backoff.
502ACL_CHECK_FAILED · reports_gateway_errorACL_CHECK_FAILED: o serviço de permissões está indisponível. reports_gateway_error: o backend de relatórios está fora do ar.
503reports_gateway_not_configuredO backend de relatórios não está configurado neste ambiente.
504Gateway TimeoutCorpo vazio. Pode vir do gateway na frente da API quando a consulta demora além do timeout interno do serviço (30 s) — condicional, não emitido pelo código de aplicação. Reenvie com backoff.

Erros emitidos pelo BFF — autenticação (401), controle de acesso (403, os 400 do ACL, 502 ACL_CHECK_FAILED) e proxy (502 reports_gateway_error, 503 reports_gateway_not_configured) — retornam { "code": "...", "message": "..." }. Só o que vem do serviço de relatórios devolve { "error": "..." } — mensagem genérica em 404 e 500, mensagem específica em 400 de validação de parâmetros. Hoje a resposta não traz trace_id; se o API Gateway devolver x-amzn-RequestId, informe-o ao suporte junto com os parâmetros da requisição e o horário aproximado.

Limites e boas práticas

TemaRegra
TokenRenove quando restarem menos de 60 s. Mantenha o anterior em cache como fallback.
RetryApenas em 5xx e timeout, com backoff exponencial e no máximo 3 tentativas — exceto 503 reports_gateway_not_configured, que não se resolve com retry (o backend não está configurado no ambiente); contate o suporte. Erros 4xx são definitivos.
Timeout do cliente35 segundos — o serviço tem timeout interno de 30 s.
CacheRespostas são cacheadas no servidor por ~1 minuto, exceto o detalhe de pedido (GET /orders/{orderId}), que não é cacheado. Nos demais endpoints, requisições em intervalos menores retornam os mesmos dados.
PaginaçãoEm /events, /orders e /ecommerce-items, itere até acumular total. Para sincronização incremental, /orders, /tickets e /bundles aceitam janelas de data (updated_after etc.) e paginação por cursor (limit/cursor) — veja as páginas de Pedidos e Catálogo. /ecommerce-items não tem modo cursor: o incremental é pela janela date_from/date_to.
Limite de requisiçõesNão publicado — consulte o account manager.