Skip to main content
A API utiliza OAuth 2.0 com dois grant types: Client Credentials (para obter o primeiro token) e Refresh Token (para renovar sem reenviar o secret).

Gerando Credenciais

  1. Acesse o dashboard em Configurações > Credenciais da API
  2. Clique em Gerar Novas Credenciais
  3. Salve o client_id e o client_secret — o secret só é exibido uma vez

Obtendo um Access Token

curl -X POST https://api-hub-campaign.convertt.ai/api/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "rcs_a1b2c3d4e5f6...",
    "client_secret": "seu-client-secret-aqui"
  }'

Resposta

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "a1b2c3d4e5f6...",
  "scope": "campaigns:dispatch"
}

Usando o Access Token

Inclua o token no header Authorization:
curl -X POST https://api-hub-campaign.convertt.ai/api/v1/external/campaigns/dispatch \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Renovando com Refresh Token

O access token expira em 1 hora. Use o refresh token para obter um novo par sem reenviar o client secret:
curl -X POST https://api-hub-campaign.convertt.ai/api/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "refresh_token",
    "refresh_token": "seu-refresh-token"
  }'
O refresh token usa rotation: cada uso gera um novo refresh token e invalida o anterior. O refresh token expira em 30 dias.

Segurança

  • Nunca exponha o client_secret em código client-side (frontend, mobile)
  • Use variáveis de ambiente para armazenar as credenciais
  • Revogue credenciais comprometidas imediatamente no dashboard