Este é um repositório de exemplo, em Node.js (utilizando o TypeScript como fonte), de integração da Nota Fiscal de Serviço eletrônica com os serviços disponibilizados pela respectiva API.
As dependências para este projeto encontram-se no arquivo package.json.
O projeto foi criado utilizando a versão 18.7.0 do Node.js e a versão 5.1.3 do TypeScript.
As classes que representam os clientes retornam a resposta HTTP às requisições (no formato do Axios - AxiosResponse ou AxiosError).
O tratamento das respostas deve ser realizado na implementação dos clientes pelos usuários.
Os exemplos de respostas podem ser encontrados no Swagger da API para Contribuintes ou para Fiscos Municipais/Distrital.
Exemplos de uso encontram-se no repositório de Testes.
Importante que os usuários realizem seus testes no Ambiente de Produção Restrita, configurando-o no momento de instanciar a classe cliente. Os certificados específicos para este e demais ambientes não são e nem serão disponibilizados neste repositório de código.
Os testes dos clientes deste repositório foram realizados em
Homologação para os Contribuintes e em Produção Restrita para os Fiscos.
Sendo assim, presumir-se-á que métodos que funcionaram para os Fiscos funcionem também no
ambiente de Produção. Já para os Contribuintes, presume-se que os métodos que funcionaram no
ambiente de Homologação também funcionem em Produção Restrita e Produção. Com relação aos
métodos que não produziram o resultado esperado no ambiente (principalmente para o caso dos
Contribuintes no ambiente de Homologação), não significa que este comportamento se repetirá nos
ambiente de Produção Restrita e Produção. Métodos com comportamentos inesperados foram anotados com
os decorators integracaoNaoTestada
e retornandoErro
do arquivo ClienteDecorators.ts
Os arquivos TypeScript compilados para o formato JavaScript encontram-se dentro do diretório build.
Para correto funcionamento das requisições em ambiente Windows, fazer o Download, instalar e configurar o OpenSSL conforme instruções desta página. Após isso, caso opte por instalar a versão 3 do OpenSSL, copiar o conteúdo do diretório "/bin" para o diretório "/lib" e renomeá-lo para "ossl-modules" ficará assim (C:/Program Files/OpenSSL/lib/ossl-modules).