Segurança
Dúvidas frequentes sobre segurança da API do Asaas
Recebendo erro de ação crítica. O que fazer?
Você vai identificar o erro de autorização crítica em transferências e escolher o fluxo de confirmação mais adequado para a sua integração.
Ao realizar algumas chamadas, como transferências, você pode receber o erro de “Autorização crítica habilitada”:
{
"errors": [
{
"code": "invalid_action",
"description": "Sua conta possui autorização crítica habilitada. Para efetuar esta ação informe o código de confirmação."
}
]
}O que esse erro significa
Toda transferência feita no Asaas, exceto em contas BaaS, precisa ser aprovada via token SMS ou token APP. Quando a conta possui autorização crítica habilitada, a API bloqueia a ação até que o código de confirmação seja informado ou até que a conta utilize uma alternativa de segurança configurada para automatizar esse processo.
Use os campos do erro para decidir o próximo passo:
| Campo | Significado | Como tratar |
|---|---|---|
errors | Lista de erros retornados pela API. | Percorra a lista e trate cada erro retornado. |
code | Código identificador do erro. | Quando receber invalid_action, verifique a description para confirmar se o bloqueio está relacionado à autorização crítica. |
description | Mensagem com a ação necessária. | Se a mensagem solicitar o código de confirmação, siga um dos fluxos descritos abaixo. |
Escolha o fluxo de confirmação
Você pode tratar a autorização crítica de três formas:
- Token SMS ou token APP: use quando a transferência puder ser confirmada manualmente por uma pessoa com acesso ao token.
- Fixação de IPs: use quando a sua integração fizer chamadas a partir de IPs conhecidos e controlados. Com essa configuração, apenas os IPs cadastrados utilizam a API. Caso qualquer outro IP faça a tentativa, a API retorna um erro informando que ele não é considerado seguro.
- Webhook de autenticação: use quando você precisar de um fluxo mais automático para validar saques ou transferências. Configure o webhook de autenticação conforme descrito na documentação.
Fluxo recomendado de tratamento
- Execute a chamada de transferência e verifique se a resposta contém
codeigual ainvalid_action. - Leia a
descriptiondo erro para confirmar se a ação exige código de confirmação. - Defina o mecanismo de segurança de acordo com o seu cenário:
- mantenha token SMS ou token APP para operações manuais;
- fixe IPs quando as chamadas partirem sempre de IPs confiáveis;
- configure o webhook de autenticação quando precisar automatizar a validação.
- Configure o mecanismo escolhido seguindo a documentação relacionada.
- Repita a operação bloqueada somente depois que a confirmação por token, a fixação de IPs ou o webhook de autenticação estiverem configurados corretamente.
Comportamentos críticos e boas práticas
- Ao fixar IPs, garanta que todos os ambientes que chamam a API usem IPs cadastrados. Chamadas feitas por IPs não cadastrados serão bloqueadas.
- Não ignore o erro
invalid_action. A transferência não deve ser considerada concluída enquanto a ação crítica estiver pendente. - Registre o
codee adescriptionem logs internos para facilitar diagnóstico, mas não exponha códigos de confirmação em logs, telas ou mensagens de erro. - Valide o fluxo em ambiente controlado antes de automatizar transferências em produção.
- Revise o mecanismo escolhido sempre que houver mudança de infraestrutura, como troca de servidor, proxy, gateway ou IP de saída.
