Padrão de chave com $ e clientes PHP
Envie corretamente a API Key em PHP
A API do Asaas utiliza o header access_token para autenticar as requisições.
access_token: $aact_prod_xxxxxxxxxxxxxxxxxxO Asaas não utiliza o padrão
Authorization: Bearer.Envie a chave diretamente no header
access_token.
Prefixos por ambiente
| Ambiente | Prefixo |
|---|---|
| Produção | $aact_prod_ |
| Sandbox | $aact_hmlg_ |
A chave e a URL da requisição devem pertencer ao mesmo ambiente.
Atenção ao caractere $
$O caractere $ faz parte da chave e não deve ser removido ou alterado.
Em PHP, strings entre aspas duplas permitem interpolação de variáveis. Por isso, uma chave escrita diretamente dessa forma pode ter seu valor interpretado incorretamente.
Exemplo incorreto
$apiKey = "$aact_prod_xxxxxxxxxxxxxxxxxx";Nesse exemplo, o PHP tenta interpretar o conteúdo iniciado por $ como uma variável. Com isso, o valor enviado no header pode ficar diferente da chave original e resultar em 401 Unauthorized.
Utilize aspas simples
Ao declarar uma chave diretamente em uma string PHP, utilize aspas simples:
$apiKey = '$aact_hmlg_xxxxxxxxxxxxxxxxxx';As aspas simples fazem com que o conteúdo seja tratado como uma string literal.
Não mantenha chaves reais diretamente no código-fonte.
O exemplo acima serve apenas para demonstrar o tratamento do caractere
$. Em sua aplicação, utilize uma variável de ambiente ou um gerenciador de segredos.
Exemplo de requisição
<?php
$apiKey = getenv('ASAAS_API_KEY');
if (!$apiKey) {
throw new RuntimeException('A variável ASAAS_API_KEY não foi configurada.');
}
$headers = [
'Accept: application/json',
'Content-Type: application/json',
'User-Agent: nome_da_sua_aplicacao',
'access_token: ' . $apiKey,
];
$ch = curl_init('https://api-sandbox.asaas.com/v3/customers');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "Status HTTP: {$statusCode}\n";
echo $response;Nesse exemplo, a chave deve ser configurada na variável de ambiente ASAAS_API_KEY com o valor completo, incluindo o $.
Como confirmar o envio
Verifique se:
- o header utilizado é
access_token; - a chave mantém o caractere
$; - não existem espaços antes ou depois da chave;
- a chave e a URL pertencem ao mesmo ambiente;
- o valor não foi truncado ou alterado durante a leitura da variável.
Erro de autenticação
Caso a chave seja enviada incorretamente, a API poderá retornar:
401 UnauthorizedPara corrigir:
- confirme o valor carregado pela aplicação;
- verifique se o caractere
$foi preservado; - confira a URL do ambiente;
- valide se a chave continua ativa.
Próximos passos
Updated 18 days ago