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_xxxxxxxxxxxxxxxxxx
📘

O Asaas não utiliza o padrão Authorization: Bearer.

Envie a chave diretamente no header access_token.

Prefixos por ambiente

AmbientePrefixo
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 Unauthorized

Para corrigir:

  1. confirme o valor carregado pela aplicação;
  2. verifique se o caractere $ foi preservado;
  3. confira a URL do ambiente;
  4. valide se a chave continua ativa.

Próximos passos


Did this page help you?