Authorization de toda chamada:
abc_dev_...) simula transações, e uma chave de produção (abc_prod_...) movimenta dinheiro real. A URL é a mesma.
Chave de API não é chave pública
Para mostrar o formulário de cartão no seu site, o abacatepay.js usa outra chave, a chave pública (
pk_...), que pode ficar no navegador. A chave de API continua só no backend.Criar uma chave
- No dashboard, vá em Integração → API e clique em Nova chave. Para criar chaves, a conta precisa ter a verificação em duas etapas (2FA) ativa; se não tiver, o dashboard pede para ativar.
- Escolha a versão. Use a API v2. Chaves da v1 e da v2 não se misturam: uma chave v1 numa rota v2 recebe
401 API key version mismatch. - Escolha o escopo e as permissões (veja abaixo) e escreva uma descrição que diga onde a chave é usada, como “Loja principal” ou “Integração do ERP”.
- Copie a chave. Ela aparece uma única vez; depois, a lista mostra só uma parte dela. Guarde num gerenciador de segredos ou numa variável de ambiente.
401.
Permissões
Cada rota exige uma permissão. Sem ela, a API responde 401 comInsufficient permissions.
Dê a cada chave só as permissões que a integração usa: uma chave só para ler clientes, outra só para criar cobranças. As permissões não podem ser editadas depois que a chave é criada. Para mudar o acesso, crie uma chave nova e exclua a antiga.
Cada página de endpoint também diz, no topo, qual permissão ele exige.
As rotas de Public MRR são a exceção: elas não usam a chave de API, e sim o token
mrr_ do plugin Public MRR (Integração → Plugins).
Quem se autentica pela CLI com login, sem chave, não chama as rotas que tiram dinheiro da loja (WITHDRAW:CREATE, REFUND:CREATE e SUB_ACCOUNT:WITHDRAW): a API responde 403. Para essas rotas, use uma chave de API.
Erros de autenticação
Os erros de chave e de permissão respondem401, com a causa no campo error. A lista completa está na Introdução da Referência.
Boas práticas
- Guarde a chave em variável de ambiente ou num gerenciador de segredos, nunca no código.
- Não publique a chave em repositórios, prints ou grupos.
- Use uma chave por integração, com só as permissões necessárias.
- Exclua na hora qualquer chave que possa ter vazado.
- A AbacatePay nunca pede a sua chave.