OrbitSenderDocs
ReferenceEstatísticas

Estatísticas por segmento

GET
/api/external/statistics

Campanhas, visualizações e cliques de cada segmento num período de até 5 meses, com os mesmos números da tela Estatísticas do painel.

  • O período é de dias inteiros no horário de Brasília e considera a data de criação da campanha. Visualizações e cliques dessas campanhas contam mesmo que aconteçam depois do fim do período.
  • Vêm todos os segmentos ativos da conta: quem não teve campanha no período aparece com zeros. Segmento apagado só aparece se teve campanha no período (deleted: true), e campanhas sem segmento vêm numa linha com id_segment: null. A soma das linhas é igual a totals.
  • clicks e clicks_unique vêm null quando nenhuma campanha do segmento usou o encurtador de links do OrbitSender (não medido), e 0 quando usou e ninguém clicou.
  • Limite: 5 consultas por minuto por conta, somando todas as chaves. Os números ficam em cache por até 2 minutos (15 segundos quando o período inclui hoje).

Exige o scope statistics:read e um plano com acesso à API e ao recurso Estatísticas. Só a chave de API da conta (sk_live_): apps de parceiro ainda não usam este endpoint.

Authorization

ApiKeyAuth
x-api-key<token>

Chave de API no formato sk_live_..., no header x-api-key.

In: header

Query Parameters

start_date*string

Primeiro dia do período, no formato AAAA-MM-DD (horário de Brasília).

Formatdate
end_date*string

Último dia do período (inclusive), no formato AAAA-MM-DD. Pode ir no máximo até a véspera do mesmo dia, 5 meses depois de start_date (ex.: de 2026-01-01 até 2026-05-31; de 2026-03-15 até 2026-08-14).

Formatdate
id_segment?string

Filtra por segmento (até 100), separados por vírgula ou repetindo o parâmetro. Use o id_segment devolvido por list-segments. Segmento que não é da conta responde 404 segment_not_found.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/external/statistics?start_date=2026-09-01&end_date=2026-09-30"
{  "success": true,  "period": {    "start_date": "2026-09-01",    "end_date": "2026-09-30",    "timezone": "America/Sao_Paulo"  },  "totals": {    "campaigns": 154,    "campaigns_sent": 135,    "views": 4210,    "clicks": 380,    "clicks_unique": 291  },  "segments": [    {      "id_segment": "segment_745f6e86-8c28-41cd-a62e-d54d0211d7fb",      "name": "Tecnologia",      "deleted": false,      "campaigns": 121,      "campaigns_sent": 107,      "views": 3980,      "clicks": 380,      "clicks_unique": 291    },    {      "id_segment": "segment_0a156d6b-ec05-4368-a4ba-3f00f209af2e",      "name": "Moda",      "deleted": false,      "campaigns": 33,      "campaigns_sent": 28,      "views": 230,      "clicks": null,      "clicks_unique": null    },    {      "id_segment": "segment_5e3214d2-c0b0-44f9-b14b-8387d1c9a119",      "name": "Mamãe e Bebê",      "deleted": false,      "campaigns": 0,      "campaigns_sent": 0,      "views": 0,      "clicks": null,      "clicks_unique": null    }  ],  "timestamp": "2026-10-05T17:43:12.345Z"}
{  "success": false,  "error": "Bad Request",  "code": "period_too_long",  "message": "O período pode ter no máximo 5 meses. Com start_date 2026-01-01, a end_date pode ir até 2026-05-31.",  "field": "end_date"}
{  "success": false,  "error": "Unauthorized",  "message": "Chave de API inválida ou ausente."}
{  "success": false,  "error": "Forbidden",  "code": "plan_feature_locked",  "message": "Seu plano não inclui acesso a esta funcionalidade.",  "feature": "statistics"}
{  "success": false,  "error": "Not Found",  "code": "segment_not_found",  "message": "Segmento não encontrado: segment_00000000-0000-4000-8000-000000000000.",  "field": "id_segment"}
{  "success": false,  "error": "Too Many Requests",  "code": "rate_limited",  "message": "Limite de 5 consultas de estatísticas por minuto atingido. Tente novamente em 42 segundos."}
{  "success": false,  "error": "Internal Server Error",  "code": "internal_error",  "message": "Erro interno ao consultar as estatísticas."}
{  "success": false,  "error": "Service Unavailable",  "code": "temporary_error",  "message": "Não foi possível concluir agora. Tente novamente em instantes. Se o erro continuar, fale com o suporte."}