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;
}