API: conexão e consulta de dados
Prepare a integração com AffiliateCore: tokens, permissões, consultas, paginação, registros de conversões e tratamento de erros.
A API v1 foi lançada em 10 de outubro de 2026. Consulte dados do seu papel e projeto. Um titular autorizado cria o token no painel; o link do guia não concede permissões.
Dados disponíveis
A API permite ler dados próprios. Webmasters consultam o catálogo disponível e suas campanhas e conversões. Anunciantes consultam seu projeto, ofertas, campanhas e conversões. A análise conta registros de conversões por dia e status, não visitantes, cliques brutos, receita ou saldo. Esta versão não cria ofertas, ativa campanhas, adiciona saldo nem solicita saques.
Como conectar
- Entre com o papel correto, confirme o e-mail e cumpra os requisitos da conta.
- Abra Conta e configurações → Acesso à API. O anunciante precisa ser proprietário do projeto selecionado; funções de gerente ou financeiro não bastam.
- Nomeie a integração, selecione apenas permissões necessárias e confirme a senha atual. Um resumo de webmaster precisa apenas de
publisher:analytics:read. - Salve imediatamente o token em local seguro: ele não será exibido novamente. Validade de 30 dias, no máximo cinco ativos por usuário/contexto. Outro papel ou projeto exige token separado.
- Envie somente por HTTPS no cabeçalho
Authorization: Bearer, nunca em URLs, JavaScript público, mensagens ou logs. Com MFA ativo, a emissão está indisponível nesta versão; procure suporte sem desligar a proteção.
Consulta e resposta
O exemplo didático é para webmaster. YOUR_TOKEN é um marcador. Anunciantes usam o ID numérico do projeto, não seu slug. As permissões são independentes: análise não libera exportação de conversões individuais.
GET /api/v1/publisher/analytics?from=2026-10-01&to=2026-10-07
Host: affiliate-core.com
Authorization: Bearer YOUR_TOKEN
Accept: application/json
| GET | Scope |
|---|---|
/api/v1/publisher/offers |
publisher:offers:read |
/api/v1/publisher/campaigns |
publisher:campaigns:read |
/api/v1/publisher/conversions |
publisher:conversions:read |
/api/v1/publisher/analytics |
publisher:analytics:read |
/api/v1/advertiser/{id}/company |
advertiser:company:read |
/api/v1/advertiser/{id}/offers |
advertiser:offers:read |
/api/v1/advertiser/{id}/campaigns |
advertiser:campaigns:read |
/api/v1/advertiser/{id}/conversions |
advertiser:conversions:read |
/api/v1/advertiser/{id}/analytics |
advertiser:analytics:read |
Paginação e datas
Listas retornam data e meta.next_cursor. per_page aceita 1–100, padrão 25. Envie o cursor recebido com filtros e tamanho inalterados até next_cursor=null. Não construa nem decifre o cursor. Detalhes e análise ficam em data.
from e to usam YYYY-MM-DD em UTC, incluindo ambos os dias. Máximo de 30 dias corridos; padrão dos últimos 30. Datas futuras não são aceitas. A referência é event_at. De 1 a 7 de outubro são sete dias; de 10 de setembro a 9 de outubro, 30. Divida históricos maiores em janelas.
Ofertas: status, payout_model; campanhas: status, offer_id; conversões: status, event_type, offer_id, campaign_id, from, to. Análise aceita os últimos cinco sem status. Detalhes e company não aceitam parâmetros. Parâmetros desconhecidos geram 422. Zero em resposta bem-sucedida significa ausência de registros; 503 não significa zero conversões.
Erros e manutenção
401: token/validade; 403: permissões/conta; 404: objeto ausente ou inacessível, ou API desativada; 405: método não aceito; 422: parâmetros; 429: aguarde Retry-After; 503: tente depois com intervalos crescentes. Não repita 401/403 indefinidamente.
Limite de 60 consultas por minuto por usuário entre tokens; análise, adicionalmente, 10 por minuto por usuário/contexto. Para rotacionar, crie outro token, atualize a integração e revogue o antigo. A troca de senha invalida tokens existentes. Revogue imediatamente um token exposto.
Comece com período curto e compare registros/status com o painel na mesma janela UTC. Registre separadamente a última sincronização bem-sucedida e as falhas. Envie ao suporte caminho sem credenciais, horário, código e descrição anonimizada.