OrbitSenderDocs

Programa de Parceiros

Integre seu produto ao OrbitSender via OAuth 2.0 e aja em nome de um usuário — sem nunca tocar na senha, nas credenciais ou nos dados pessoais dele.

O Programa de Parceiros permite que seu produto se conecte ao OrbitSender e aja em nome de um usuário — ler estatísticas, listar campanhas, gerar um link de login delegado — usando OAuth 2.0 (Authorization Code + PKCE). O usuário autoriza o seu app numa tela de consentimento e você recebe um token escopado e revogável. Você nunca vê nem toca a senha, as credenciais de marketplace ou os dados pessoais dele.

App de parceiro vs. API key

São dois modelos diferentes de acesso à API:

  • App de parceiro (OAuth): seu produto age em nome de outro usuário do OrbitSender. O usuário passa por uma tela de consentimento, aprova os scopes e pode revogar o acesso quando quiser. O token é escopado, tem validade curta e as respostas vêm mascaradas (sem PII).
  • API key (self-service): o próprio dono da conta gera uma chave para automatizar a própria conta. É acesso direto, sem tela de consentimento e sem máscara de parceiro.

Qual eu uso?

Se você está construindo um produto que outros usuários do OrbitSender vão conectar às contas deles, use um app de parceiro. Se você só quer automatizar a sua própria conta, use uma API key (seção Desenvolvedor). Um app de parceiro não pode se passar pelo usuário para trocar a senha dele nem mexer nas credenciais/integrações — isso é proposital.

Modelo de segurança em alto nível

O programa é desenhado para que o parceiro tenha o mínimo necessário e nada além disso:

  • Consentimento por-scope. Cada permissão (scope) é revisada por um superadmin do OrbitSender antes de o app entrar no ar, e o usuário consente scope a scope na tela de autorização. Scopes de marketplace (integrations:*) nunca são concedidos a parceiro.
  • Token escopado e revogável. O access_token (orb_at_...) vale por ~1h e carrega apenas os scopes aprovados e consentidos. O refresh_token (orb_rt_...) é rotativo e o acesso pode ser revogado a qualquer momento.
  • Resposta mascarada. Quando a chamada vem de um app de parceiro, aplicamos uma allowlist default-deny: o parceiro nunca vê PII (telefones, JIDs de grupo, nomes de contatos), nem a cadência anti-ban, nem credenciais de marketplace. IDs internos de canal viram referências opacas (channel_ref).
  • Guardamos só o hash. Todos os tokens são armazenados apenas como SHA-256 — nunca em texto puro.

Explore a documentação

Início rápido

Vire parceiro

Fale com o time em suporte@orbitsender.com para entrar no programa. Detalhes em Como virar parceiro.

Crie o app no Portal do Dev

Dentro do app (https://app.orbitsender.com), registre o app, defina as redirect_uri e escolha os scopes que precisa. Veja Criar e configurar o app.

Tenha os scopes aprovados

Um superadmin revisa por-scope. O app precisa estar com status approved antes de o /authorize funcionar. Referência em scopes.

Leve o usuário ao consentimento

Redirecione o navegador do usuário (logado) para a tela de autorização com PKCE:

GET https://app.orbitsender.com/oauth/authorize?response_type=code&client_id=cli_abc123&redirect_uri=https://seu-app.com/callback&scope=statistics:read%20campaigns:read&state=xyz&code_challenge=E9Melhoa...&code_challenge_method=S256

Se ele aprovar, volta para redirect_uri com um code=orb_ac_.... Detalhes em fluxo OAuth e PKCE.

Troque o code por um token

Servidor-a-servidor, troque o código temporário (uso único, TTL 60s) por um access_token:

curl -X POST https://api.orbitsender.com/api/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d grant_type=authorization_code \
  -d client_id=cli_abc123 \
  -d code=orb_ac_... \
  -d redirect_uri=https://seu-app.com/callback \
  -d code_verifier=SEU_CODE_VERIFIER
{
  "success": true,
  "access_token": "orb_at_...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "orb_rt_...",
  "scope": "statistics:read campaigns:read"
}

Mais em Do código ao token.

Chame a API em nome do usuário

Envie o access_token no header Authorization:

curl https://api.orbitsender.com/api/external/partner/statistics?days=30 \
  -H "Authorization: Bearer orb_at_..."

As respostas vêm mascaradas (sem PII). Veja Chamar a API e o Fastlogin para abrir o painel logado.

Nesta página