/nuvemfiscal-sdk-delphi

Biblioteca Delphi para uso da API da Nuvem Fiscal.

Primary LanguagePascalApache License 2.0Apache-2.0

nuvemfiscal-sdk-delphi

Biblioteca Delphi para uso da API da Nuvem Fiscal. É importante também consultar a documentação da Nuvem Fiscal.

Instalação

Para utilizar a biblioteca, basta adicionar o caminho completo da pasta Source ao Library Path da IDE do Delphi (ou ao Search Path do seu projeto).

Utilização

Para uso do client, você precisa adicionar as units NuvemFiscalClient e NuvemFiscalDTOs à clausula uses da sua unit. Caso queira usar a interface de geração de token, você também precisa adicionar a unit OpenApiRest:

uses 
  NuvemFiscalClient, NuvemFiscalDTOs, OpenApiRest;

Obtendo o token de acesso

O processo de autenticação da Nuvem Fiscal envolve dois passos:

O primeiro passo deve ser feito no console da Nuvem Fiscal, enquanto o segundo você deve fazer manualmente. O SDK do Delphi oferece uma forma fácil de obter esse token a partir das credenciais, da seguinte forma:

var
  TokenProvider: IClientCredencialsTokenProvider;
  TokenData: ITokenData;
  AccessToken: string;
  DataExpiracao: TDateTime;
begin
  TokenProvider := TClientCredentialsTokenProvider.Create;
  TokenProvider.TokenEndpoint := 'https://auth.nuvemfiscal.com.br/oauth/token';
  TokenProvider.ClientId := '<seu client id>';
  TokenProvider.ClientSecret := '<seu client secret>';
  TokenProvider.Scope := 'empresa cep cnpj nfe nfse nfce cte mdfe';
  TokenData := TokenProvider.RetrieveToken;
  AccessToken := TokenData.AccessToken;
  DataExpiracao := TokenData.ExpirationTime;
...

Criando o client

Com um token de acesso em mãos, você pode instanciar e configurar o client:

var
  Client: INuvemFiscalClient;
{...}
  Client := TNuvemFiscalClient.Create;
  Client.Config.AccessToken := '<seu access token>';

Executando os métodos

Todos os endpoints da API da Nuvem Fiscal estão disponíveis no client, agrupadas por interfaces de acordo com o serviço. Por exemplo, o client disponibiliza interfaces nas propriedades Nfse (métodos para emissão de Nfse e outras operações relacionadas), Nfe (operações relacionados a NFe), Cep (operações para consulta de CEP), e assim por diante.

O exemplo a seguir faz uma consulta de dados de um CNPJ:

var
  Empresa: TCnpjEmpresa;
  Endereco: TCnpjEndereco;
begin
  Empresa := Client.Cnpj.ConsultarCnpj('08421842000190');
  try
    // Dados do CNPJ estão disponíveis na variável Empresa, por exemplo:
    // Empresa.RazaoSocial
    // Empresa.Endereco.Logradouro
    // Empresa.Endereco.Municipio
    // Empresa.Endereco.Uf
  finally
    Empresa.Free;
  end;
end;

Todos os objetos criados e passados como parâmetros, bem como os objetos recebidos como retorno de função, precisam ser destruídos pelo usuário, caso contrário isso gerará um vazamento de memória.

Você pode usar o code completion do Delphi para verificar os serviços, métodos, propriedades e classes disponíveis.

Visite os links da Nuvem Fiscal para saber mais: