SDK para PHP
Comece a usar rapidamente a Nuvem Fiscal com o nosso SDK para PHP! O SDK é uma biblioteca open source cujo código-fonte completo está disponível no GitHub:
- SDK da Nuvem Fiscal para PHP: https://github.com/nuvem-fiscal/nuvemfiscal-sdk-php
Instalação e uso
Requisitos
PHP 7.4 ou posterior.
Composer
Para instalar os bindings via Composer, adicione o seguinte ao composer.json
:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nuvem-fiscal/nuvemfiscal-sdk-php.git"
}
],
"require": {
"nuvem-fiscal/nuvemfiscal-sdk-php": "*@dev"
}
}
Então execute composer install
Instalação manual
Baixe os arquivos e inclua o autoload.php
:
<?php
require_once('/path/to/NuvemFiscal/vendor/autoload.php');
Guia rápido
Siga os passos para instalação e então execute o seguinte:
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Obter token a partir das credenciais
$token = get_oauth2_token(
'https://auth.nuvemfiscal.com.br/oauth/token',
getenv('NUVEMFISCAL_CLIENTID'),
getenv('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);
// Configurações gerais
$config->setBooleanFormatForQueryString(Configuration::BOOLEAN_FORMAT_STRING);
// Efetuar a chamada ao endpoint
$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;
}
A função get_oauth2_token
é uma função genérica para buscar o token OAuth2 a partir das credenciais. Isso não é definido pela Nuvem Fiscal,
mas sim pelo padrão OAuth2. A seguir apresentamos uma sugestão básica de uso, mas essa função fica sob sua responsabilidade:
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);
}
}
Referência completa
O repositório do GitHub contém a lista de todos os endpoints e métodos correspondentes, classes DTOs, parâmetros, e mais. Visite o repositório para uma referência completa do SDK para PHP:
- SDK da Nuvem Fiscal para PHP: https://github.com/nuvem-fiscal/nuvemfiscal-sdk-php