Fala Wagner boa tarde,
Estava faltando acrescentar a função “get_oauth2_token”, acabei de colocar agora e deu certo
<?php
require 'vendor/autoload.php';
function get_oauth2_token($auth_url, $client_id, $client_secret, $scope)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $auth_url);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(
'grant_type' => 'client_credentials',
'scope' => $scope,
)));
$headers[] = "Authorization: Basic " . base64_encode($client_id . ":" . $client_secret);
$headers[] = "Content-Type: application/x-www-form-urlencoded";
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return json_decode($response);
}
}
$_ENV['NUVEMFISCAL_CLIENTID'] = 'XXXXXXXXXXXXXX';
$_ENV['NUVEMFISCAL_CLIENTSECRET'] = 'XXXXXXXXXXX';
// Obter token a partir das credenciais
$token = get_oauth2_token(
'https://auth.nuvemfiscal.com.br/oauth/token',
$_ENV['NUVEMFISCAL_CLIENTID'],
$_ENV['NUVEMFISCAL_CLIENTSECRET'],
'cep cnpj' // defina o scope a ser usado
);
// Configurar access token OAuth2 para autorização: oauth2
$config = NuvemFiscal\Configuration::getDefaultConfiguration()->setAccessToken($token->access_token);
$apiInstance = new NuvemFiscal\Api\CepApi(
// Se quiser usar um client http customizado, passe um client que implemente `GuzzleHttp\ClientInterface`.
// Isso é opcional, `GuzzleHttp\Client` será usado por padrão.
new GuzzleHttp\Client(),
$config
);
$cep = 'cep_example'; // string | CEP sem máscara.
try {
$result = $apiInstance->consultarCep($cep);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling CepApi->consultarCep: ', $e->getMessage(), PHP_EOL;
}