Dúvidas a respeito da integração com API Asaas [RESOLVIDO]

Boa tarde!
Gostaria de tirar uma dúvida a respeito da integração de uma API.

Pretendo integrar a plataforma Asaas para geração de boleto de meus sistemas. Tentei fazer a integração por meio do composer e guzzle através da biblioteca “asaas-php-sdk” do GitHub com o código abaixo, porém, não funcionou como o esperado. Ele me retorna apenas um id, sem nenhum código de erro.

$url = 'https://sandbox.asaas.com/api/v3/customers';
    $data = array(
        'name' => 'John Doe',
        'email' => 'john.doe@example.com',
        'documentNumber' => '12345678900',
        'phoneNumber' => '+5511999998888'
    );

   
    $ch = curl_init();


if (!$ch) {
    die('Erro ao inicializar a sessão cURL: ' . curl_error());
}

curl_setopt($ch, CURLOPT_CAINFO, 'caminho/do/arquivo');

echo "$ch";
  
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

   
    $apiKey ='$minha_chave';
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/x-www-form-urlencoded',
        'Authorization: Basic ' . base64_encode("$apiKey:")
    ));

   
    $response = curl_exec($ch);

    
    if(curl_errno($ch)) {
        echo 'Error: ' . curl_error($ch);
    } else {
       
        $decodedResponse = json_decode($response);

          print_r($decodedResponse);
    }

  curl_close($ch);

Também já tentei com o próprio composer, mas a versão php não é compatível com a do meu ambiente de produção. Alguém teria alguma dica de como realizar essa integração?

Boa tarde! Veja se te ajuda:

1 Curtida

Obrigada pela sugestão, Thiago! Eu já tinha assistido a um trecho deste vídeo, vou olhar novamente para ver se perdi algum detalhe.

Testei aqui porém não deu certo! Teria outra sugestão?

include sc_url_library(‘prj’, ‘asaas2’, ‘vendor/autoload.php’);

$client = new \GuzzleHttp\Client();

$response = $client->request(‘POST’, ‘https://sandbox.asaas.com/api/v3/customers’, [
‘body’ => ‘{“name”:“Roberto Carlos2”,“cpfCnpj”:“39883167253”}’,
‘headers’ => [
‘accept’ => ‘application/json’,
‘access_token’ => ‘$aact_xxxxxxxxxxMQ==’,
‘content-type’ => ‘application/json’,
],
]);

$response->getBody();

Tudo acima funciona, cadastrao cliente e retorno abaixo: // AJUDA COMO PEGAR SOMENTE O VALOR: “cus_000006010865” do retorno abaixo. já tentei de todas as formas e nada. ??? Alguém poderia me ajudar.

{“object”:“customer”,“id”:“cus_000006010865”,“dateCreated”:“2024-05-13”,“name”:“Roberto Carlos2”,“email”:null,“company”:null,“phone”:null,“mobilePhone”:null,“address”:null,“addressNumber”:null,“complement”:null,“province”:null,“postalCode”:null,“cpfCnpj”:“39883167253”,“personType”:“FISICA”,“deleted”:false,“additionalEmails”:null,“externalReference”:null,“notificationDisabled”:false,“observations”:null,“municipalInscription”:null,“stateInscription”:null,“canDelete”:true,“cannotBeDeletedReason”:null,“canEdit”:true,“cannotEditReason”:null,“city”:null,“cityName”:null,“state”:null,“country”:“Brasil”}

Consegui:

	//echo $response->getBody();

	$json = $response->getBody();


	// Decodifica o JSON em um array associativo
	$dadosCliente = json_decode($json, true);

	// Acessa os campos individualmente
	$idCliente = $dadosCliente['id'];
	$nomeCliente = $dadosCliente['name'];
	$dataCriacao = $dadosCliente['dateCreated'];


	// Exibe os valores
	echo "ID do cliente: " . $idCliente . "<br>";
	echo "Nome do cliente: " . $nomeCliente . "<br>";
	echo "Data de criação: " . $dataCriacao . "<br>";
1 Curtida