Padrão de chave com $ e clientes PHP
Autenticação com API Key do Asaas
Introdução
No Asaas, a autenticação é realizada por meio de um header HTTP chamado access_token, que recebe o valor da sua API Key.
Diferente de outros serviços, o Asaas não utiliza o padrão:
Authorization: Bearer ...
✅ O formato correto é:
access_token: $aact_prod_xxxxxxxxxxxxxxxx
Prefixos das chaves por ambiente
As chaves de API do Asaas possuem prefixos distintos conforme o ambiente, o que garante separação clara entre produção e homologação.
Ambiente: Produção Prefixo da chave: $aact_prod_ Exemplo: $aact_prod_xxxxxxxxxxxxxxxxxx
Ambiente: Sandbox (homologação) Prefixo da chave: $aact_hmlg_ Exemplo: $aact_hmlg_xxxxxxxxxxxxxxxxxx
Atenção ao cifrão ($) na API Key
O caractere $ faz parte da API Key e nunca deve ser removido, alterado ou interpretado como variável.
Este ponto é crítico em PHP, mas deve ser considerado em qualquer linguagem. O cifrão não representa uma variável, ele é parte fixa da chave.
Por que o cifrão causa erro em algumas linguagens?
O cifrão ($) pode gerar erro em linguagens que o interpretam como início de variável, especialmente o PHP.
No PHP, quando uma string está entre aspas duplas (" "), o interpretador tenta interpolar variáveis automaticamente.
❌ Exemplo incorreto (PHP)
$apiKey = "$aact_prod_xxxxxxxxx";
Neste caso, o PHP interpreta $aact_prod_... como uma variável chamada $aact_prod_.
O resultado é que o cifrão é removido, a chave fica inválida e a requisição retorna:
401 Unauthorized
✅ Como enviar corretamente a API Key (PHP)
A forma correta é utilizar aspas simples, garantindo que o valor seja tratado como string literal, sem interpolação.
Exemplo:
$apiKey = '$aact_hmlg_xxxxxxxxxxxxxxxxxx'; // Sandbox
$headers = [
'Accept: application/json',
'Content-Type: application/json',
'access_token: ' . $apiKey,
];
$ch = curl_init('[https://api-sandbox.asaas.com/v3/customers](https://api-sandbox.asaas.com/v3/customers)');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;O mesmo vale para o ambiente Sandbox:
$apiKey = '$aact_hmlg_xxxxxxxxxxxxxxxxxx';
Cabeçalhos corretos e padrão do Asaas
Header: access_token Descrição: Contém a chave de API, iniciando com $aact_... Exemplo: $aact_prod_xxxxxxxxxxxxxxxxxx
Header: Content-Type Descrição: Define o tipo de conteúdo da requisição Exemplo: application/json
Não use:
Authorization: Bearer ...
Nota importante
O Asaas utiliza o formato $aact_... propositalmente, para reforçar segurança e segmentação de ambientes.
➡️ O cifrão ($) faz parte da chave ➡️ Não é uma variável ➡️ Não deve ser removido, truncado ou modificado
Essa regra vale independentemente da linguagem utilizada, mesmo que os exemplos deste guia tenham foco em clientes PHP.
Updated 23 days ago