- 7.5. API da NFS-e
7.5.1. Obter NFS-e vinculadas a um interessado - 7.5. API da NFS-e
« Anterior - 7.5.2. Download da NFS-e
Próximo »
7.5.1. Obter NFS-e vinculadas a um interessado
Consultar as NFS-e emitidas e tomadas pela consulente a partir do NSU informado no parâmetro ultNSURecebido.
Assinatura
string distNFSeNSU(int tipoAmbiente, string nomeCertificado, out string msgDados, out string msgRetAPI, out int cStat, out string msgResultado, string CNPJ, string ultNSURecebido, out string verAplic, out string dhResp, out string ultNSU, out int qtdeDocto, string proxy, string usuario, string senha, string licenca);
Descrição:
Consulta as NFS-e e Eventos existentes no Ambiente Nacional para o interessado a partir do NSU informado no parâmetro ultNSURecebido, a API retorna até 50 documentos fiscais a partir do ultNSURecebido informado.
Se a qtdeDocto retornada for igual ao limite de 50 documentos fiscais, significa que podem existir mais documentos disponíveis, portanto o interessado deve repetir a consulta atualizando o ultNSURecebido com o ultNSU devolvido pela API até que a qtdeDocto seja menor que 50.
IMPORTANTE: Este serviço disponibiliza todos os documentos fiscais emitidos pelo interessado que existem no ambiente nacional diferentemente dos serviços de download da NF-e, CT-e e MDF-e que não disponibilizam os documentos fiscais emitidos para o emitente.
Preenchimento do nomeCertificado
informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, formas possíveis:
1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)
É a forma de mais comum de uso, cabe ressaltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.2. uso de certificado digital em arquivo no formato pfx
Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.3. uso de certificado digital em string base64
Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.
Parâmetros:
| nome | tipo | fluxo | descrição |
|---|---|---|---|
| tipoAmbiente | inteiro | entrada | informar o código do ambiente desejado: 1- produção ou 2-homologação |
| NomeCertificado | string | entrada | informar o certificado digital que será utilizado para assinatura: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". (novas opções) |
| msgDados | string | saída | retorna a mensagem Json enviada para a API |
| msgRetAPI | string | saída | retorna a mensagem Json de resposta da API |
| cStat | inteiro | saída | retorna o resultado da chamada da API. exemplo: sucesso = 200, rejeição/erro = 400, 401, 404, etc. |
| msgResultado | string | saída | retorna a literal do resultado da chamada da API |
| CNPJ | string | entrada | informar o CNPJ ou CPF do ator que se deseja consultar os documentos fiscais |
| ultNSURecebido | string | entrada | informar o NSU a partir do qual deseja realizar a consulta. Aparentemente, todos os documentos fiscais existentes no Ambiente Nacional estão disponíveis para download. |
| verAplic | string | saída | retorna a versão da API. |
| dhResp | string | saída | retorna a Data e hora da mensagem de Resposta. |
| ultNSU | string | saída | retorna o Último NSU pesquisado na API. Se a qtdeDcto < 50, não devem existir mais documentos fiscais disponíveis, caso contrário (qtdeDocto=50) o solicitante pode continuar a consulta a partir deste NSU para obter novos resultados. |
| qtdeDocto | int | saída | retorna a quantidade de documentos devolvidos pela API. |
| proxy | string | entrada | informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' |
| usuario | string | entrada | informar o usuário para autenticação no proxy, se necessário |
| senha | string | entrada | informar a senha de autenticação no proxy, se necessário |
| licenca | string | entrada | informar a chave da licença de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento, para maiores detalhes veja as condições de uso |
Retorno:
A chamada devolve uma string com o resumo ou XML do documento consultado separados por quebra de linha.
O retorno é um TXT que tem uma linha para cada documento.
Cada linha tem 4 informações separadas por pipe (|):
NSU|tipo documento|chaveNFSe|XML
000000000006051|35347082210142785000190000000000008726096426978561|NFSE |<?xml version="1.0" encoding="utf-8"?><NFSe (...)</NFSe>
000000000006052|35347082210142785000190000000000008826097104337784|NFSE |<?xml version="1.0" encoding="utf-8"?><NFSe (...)</NFSe>
000000000006053|35347082210142785000190000000000008926094000165748|NFSE |<?xml version="1.0" encoding="utf-8"?><NFSe (...)</NFSe>
A parte inicial do texto é sempre posicional:
| posições | conteúdo |
|---|---|
| 1 a 15 | NSU |
| 17 a 66 | chave da NFS-e |
| 68 a 102 | tipo do documento: NFSE ou EVENTO |
| 104 a ... | XML do documento |
- 7.5.1. Obter NFS-e vinculadas a um interessado
7.5. API da NFS-e - « Anterior
7.5. API da NFS-e - Próximo »
7.5.2. Download da NFS-e
