Erro ao consultar API CEP com o SDK PHP

Acho que já descobri!

Temos o setHost() em Configuration que por padrão está apontando para produção.
Caso alguém tenha a mesma dúvida iniciante que tive é só fazer o apontamento conforme a necessidade:

if ($ambiente == 'sandbox')
{
      $config->setHost('https://api.sandbox.nuvemfiscal.com.br');
}
else
{
      $config->setHost('https://api.nuvemfiscal.com.br');
}

Fica a sugestão para um complemento na documentação do SDK… uma linha que teria evitado tantas perguntas! rsss

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Obter token a partir das credenciais
$_ENV = [];
$_ENV['NUVEMFISCAL_CLIENTID'] = 'SEU_CLIENTID_SANDBOX';
$_ENV['NUVEMFISCAL_CLIENTSECRET'] = 'SEU_CLIENT_SECRET_SANDBOX';

$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);

$config->setHost('https://api.sandbox.nuvemfiscal.com.br'); //Defina a api a ser usada de acordo com as credenciais informadas

$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 = '80030030'; // 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;
}
2 curtidas