API Asender
Uma API para gerenciar contas, contatos, campanhas, páginas, CRM e e-mail corporativo. 131 operações públicas; 378 no total contando os serviços internos.
Primeira chamada, passo a passo
1. Obtenha um token
A API usa OAuth 2.1 com PKCE. O fluxo começa no Authorization Server e termina
com um access_token que você envia em toda requisição.
curl -X POST 'https://auth.asender.net/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=authorization_code' \
-d 'code=CODIGO_RECEBIDO' \
-d 'code_verifier=SEU_VERIFIER' \
-d 'client_id=SEU_CLIENT_ID' \
-d 'redirect_uri=https://seu-app/callback'
Os endpoints, e os parâmetros que cada um exige, estão publicados pelo próprio
servidor em /.well-known/openid-configuration. O
guia de convenções explica o fluxo inteiro.
2. Chame a API
curl 'https://api.asender.net/api/contacts?limit=20' \
-H 'Authorization: Bearer SEU_TOKEN'
3. Leia a resposta
Coleções vêm paginadas por cursor: a resposta traz NextCursor e
HasMore. Passe o cursor de volta para pegar a página seguinte — nunca
um offset, que pula ou repete item quando o dado muda entre as chamadas.
4. Escreva com segurança
Toda escrita aceita Idempotency-Key. Repetir a mesma chave devolve
o MESMO resultado em vez de criar de novo — é o que torna seguro repetir uma
requisição cuja resposta você não recebeu.
curl -X POST 'https://api.asender.net/api/messages/send' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 8f7c1e2a-...' \
-d '{ }'
Por onde seguir
Convenções da API
Autenticação, formato de requisição e resposta, erros, paginação, idempotência, webhooks e limites.
Arquitetura
Como os serviços se dividem e conversam.
Modelo de dados
As entidades e como elas se relacionam.
Padrões de serviço
O que todo serviço desta plataforma implementa igual.
Core
Contas, tenants e a árvore.
Relay multi-tenant
Entrega de e-mail, DKIM por domínio e reputação.
Referência completa
As 378 operações, com parâmetros, respostas e exemplo de chamada.
Superfícies
| serviço | base | operações | |
|---|---|---|---|
| API pública (BFF) | https://api.asender.net | 89 | público |
| Identidade (OIDC / OAuth 2.1) | https://auth.asender.net | 42 | público |
| Core — contas e árvore de tenants | http://asender-core:8002 | 63 | interno |
| Messages — campanhas, contatos e envio | http://asender-messages:8004 | 24 | interno |
| CRM — jornadas, alertas e destinos | http://asender-crm:8005 | 42 | interno |
| Pages — páginas, formulários e mídia | http://asender-pages:8006 | 49 | interno |
| Runtime — publicação e analytics | http://asender-runtime:8007 | 40 | interno |
| Mail — e-mail corporativo | http://asender-mail:8016 | 29 | interno |
Os serviços internos não são alcançáveis de fora — eles conversam pela malha privada. Estão aqui porque um agente que precisa entender o sistema precisa vê-los, e escondê-los não os tornaria menos reais.