OrbitSenderDocs
ReferenceEstatísticas

Estatísticas de uma campanha

GET
/api/external/campaign-statistics/{id_campaign}

Visualizações e cliques de uma campanha, no total e por grupo, e os aparelhos, navegadores e estados de quem clicou. Para o resumo por segmento num período, use GET /api/external/statistics.

  • views: visualizações (leituras) registradas nos grupos; o total é a soma dos grupos.
  • clicks e clicks_unique vêm null quando a campanha não usou o encurtador de links do OrbitSender (não medido), e 0 quando usou e ninguém clicou. devices, browsers e states seguem a mesma regra.
  • Por grupo, os cliques só aparecem quando a campanha usou um link para cada grupo. Com o mesmo link para todos os grupos, o total aparece em clicks, mas cada grupo vem com clicks: null (não dá para separar).
  • Os números ficam em cache por até 15 segundos. Esta rota não tem o limite de 5 consultas por minuto de statistics: vale o limite geral da API.

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

Path Parameters

id_campaign*string

Id da campanha no formato campaign_<uuid>: o id_campaign devolvido na criação da campanha ou recebido no webhook campaign_status.

Lengthlength <= 64

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/campaign-statistics/campaign_c08f913d-83bd-4cbe-8345-58175a4b4310"
{  "success": true,  "id_campaign": "campaign_c08f913d-83bd-4cbe-8345-58175a4b4310",  "name": "Ofertas da noite",  "status": "sent",  "message_type": "image",  "id_segment": "segment_745f6e86-8c28-41cd-a62e-d54d0211d7fb",  "segment_name": "Tecnologia",  "created_at": "2026-10-26T12:00:00.000Z",  "scheduled_at": null,  "finished_at": "2026-10-26T12:05:00.000Z",  "views": 72,  "clicks": 10,  "clicks_unique": 8,  "devices": {    "Mobile": 9,    "Desktop": 1  },  "browsers": {    "Chrome": 8,    "Safari": 2  },  "states": {    "SP": 4,    "RJ": 3,    "MG": 3  },  "groups": [    {      "id_group": "120363021234567890@g.us",      "name": "Achados do Dia",      "status": "sent",      "views": 42,      "clicks": 7,      "clicks_unique": 5    },    {      "id_group": "120363021234567891@g.us",      "name": "Ofertas Tech",      "status": "sent",      "views": 30,      "clicks": 3,      "clicks_unique": 3    },    {      "id_group": "120363021234567892@g.us",      "name": "Cupons VIP",      "status": "error",      "views": 0,      "clicks": null,      "clicks_unique": null    }  ],  "timestamp": "2026-10-26T15:07:29.667Z"}
{  "success": false,  "error": "Bad Request",  "code": "invalid_field",  "message": "id_campaign inválido. Use o id_campaign devolvido na criação da campanha (ex.: campaign_<uuid>).",  "field": "id_campaign"}
{  "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": "campaign_not_found",  "message": "Campanha não encontrada.",  "field": "id_campaign"}
{  "success": false,  "error": "Too Many Requests",  "code": "rate_limited",  "message": "Muitas requisições. Tente novamente em instantes."}
{  "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."}