Pular para o conteúdo principal

Autenticação

Toda requisição leva uma chave de API. A API aceita dois headers equivalentes — use o que preferir:

Authorization: Bearer <sua-chave>
x-api-key: <sua-chave>

A chave nunca é armazenada em claro no nosso lado (apenas o hash SHA-256) e identifica a sua organização: todos os dados retornados são automaticamente escopados a ela.

Criando chaves

Crie chaves no dashboard em Configurações → Segurança, com três níveis de acesso:

  • Total — toda a API.
  • Leitura e escrita — toda a operação de cobrança, sem administração da conta.
  • Somente leitura — apenas GET.

Os escopos seguem o catálogo dunning.dashboard.<recurso>.<ação>; chave sem escopos tem acesso total ao negócio. A chave é exibida uma única vez na criação — copie e guarde em local seguro.

Chaves podem ter expiração (30/90/365 dias) com aviso por e-mail antes do vencimento. Administração da conta (membros, roles, chaves, estrutura organizacional) nunca é acessível via API — responde 403.

Escopos

Cada escopo é dunning.dashboard.<recurso>.<ação>. Wildcards são aceitos: dunning.dashboard.charges.* (todas as ações de cobranças) ou dunning.dashboard.* (tudo).

Presets

Ao criar a chave você escolhe um preset; os três derivam do mesmo catálogo:

PresetCobreUso típico
Somente leituraações list/show/view de todos os recursosespelhar dados, BI, dashboards — nunca altera nada
Leitura e escritatoda a operação de cobrança (todos os recursos, menos administração da conta)integrações ERP/CRM que criam e atualizam clientes, cobranças, acordos...
Totaldunning.dashboard.*tudo que uma chave pode alcançar

Uma chave criada sem escopos equivale a "Leitura e escrita" (acesso total ao negócio). Você também pode montar um conjunto sob medida escolhendo escopos individuais do catálogo abaixo.

Catálogo de recursos

RecursoAçõesO que permite
dashboardviewler os indicadores do painel
peoplelist show create update deletecarteira de clientes/devedores
chargeslist show create update delete notifycobranças e disparo manual de notificação
collection_ruleslist show create update delete activateréguas de cobrança e sua ativação
classificationslist show create update deleteclassificações/tags da carteira
templateslist show create update delete duplicatemodelos de mensagem
notificationslist show create update resend deletenotificações e reenvio
taskslist show create update delete completetarefas da operação
interactionslist show create update deleteinterações/histórico de contato
agreementslist show create update cancelacordos de pagamento
disputeslist show create resolvedisputas e sua resolução
negativationslist show create approve cancelnegativação em bureau
protestslist show create approve cancelprotesto em cartório
portalgenerate_link revoke_linklinks do portal do devedor
webhookslist show create update deleteendpoints de webhook
email_layoutslist show create update deletelayouts de e-mail
importslist show createimportações em lote
exportscreateexportações de dados
integrationslist manageintegrações da conta

Administração da conta

Membros, papéis (roles), chaves de API, workspaces, auditoria e configurações da conta compõem a administração da conta. Esses recursos existem no catálogo para os papéis do dashboard, mas nenhuma rota de administração da conta é exposta na API: uma chave, mesmo com o preset Total, recebe 403 ao tentar alcançá-los. Conta e permissões se gerenciam apenas pelo dashboard.

Requisição válida

export DUNNING_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxx

curl -i \
-H "Authorization: Bearer $DUNNING_TOKEN" \
-H 'Content-Type: application/json' \
-H 'User-Agent: Minha Integração <dev@minhaempresa.com.br>' \
-X GET 'https://api.dunning.kobana.com.br/api/v1/charges?per_page=1'
HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 599

{
"data": [
{
"id": "cmd8k2p4x0001ab3f",
"status": "overdue",
"amount": "1500.00",
"dueDate": "2026-07-10T00:00:00.000Z",
...
}
],
"meta": { "total": 142, "page": 1, "limit": 1, "totalPages": 142 }
}

Requisição inválida

Chave ausente, malformada, revogada ou expirada responde 401 com o envelope de erro padrão:

curl -i \
-H "Authorization: Bearer chave-invalida" \
-X GET 'https://api.dunning.kobana.com.br/api/v1/charges'
HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
"message": "Não autorizado",
"code": "UNAUTHORIZED"
}

Chave válida sem o escopo necessário responde 403 com code: "FORBIDDEN" (ou API_KEY_FORBIDDEN) e o campo required indicando a permissão que faltou.

Boas práticas

  • Nunca versione chaves em git. Use variáveis de ambiente ou cofres de segredo (Vault, AWS Secrets Manager...).
  • Use uma chave por integração (ERP, CRM, BI...) — revogar uma não derruba as outras, e a auditoria fica legível.
  • Prefira o menor nível de acesso que resolve: integrações de leitura não precisam de escrita.
  • Defina expiração sempre que possível; o aviso por e-mail chega antes do vencimento.
  • Revogue imediatamente qualquer chave exposta — a revogação é instantânea.
  • HTTPS obrigatório em todas as chamadas.