12. Web Service da NF-e [15-08-17]
12.4. Consulta NF [15-08-17]
12.3.3. InutilizaNroNF2G [15-08-17]
« Anterior
12.5. Consulta Status Serviços [15-08-17]
Próximo »

12.4. Consulta NF [15-08-17]

Consulta o status de uma NF-e

Assinatura

int ConsultaNF2G(string siglaWS,int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, string chaveNFe, string proxy, string usuario, string senha)

Descrição:

Consulta o status de uma NF-e no Web Services onde foi autorizado.

A identificação do WS consultado será informada no parâmetro siglaWS.

É importante ressaltar que os emissores localizados em UF usuárias da SEFAZ Virtual devem informar a sigla SVAN (MA, PA e PI) ou a sigla SVRS (AC, AL, AP, DF, PB, RJ, RO, RR, SC, SE e TO), ou informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP) nos casos de UF que tenham aplicação própria. Em caso de emissão em contingência, informar a sigla SCAN, SVC-AN ou SVC-RS.

Consulta status NF-e

Esta funcionalidade não deve ser utilizada para verificar se a NF-e foi autorizada. Após o envio do Lote/NF-e, o usuário deve utilizar a funcionalidade buscaLote2G ou buscaNFe2G que são as funcionalidades adequadas para obter o resultado do processamento do Lote/NF-e.

A mensagem de retorno da versão 2.0x ou superior do WS devolve o protNFe e retCancNFe que podem ser utilizados para montagem do procNFe e do procCancNFe naquelas situações em que a comunicação com WS no envio do lote ou do cancelamento não foi concluída e ficamos sem a resposta do WS.

Eventos da NF-e

A SEFAZ devolve os eventos vinculados na NF-e a partir da versão 2.01, assim esta funcionalidade é útil para recuperar os eventos de cancelamento, carta de correção eletrônica e os eventos da manifestação do destinatário.

Novidades:

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
siglaWS string entrada informar a sigla do WS desejado, veja Tabela de siglaWS
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)
versao string entrada informar a versão da mensagem do WS - 2.00, 2.01, 3.00, 3.10 ou 4.00 [15-08-17]
msgDados string saída retorna a mensagem XML enviada para o WS
msgRetWS string saída retorna a mensagem XML de resposta do WS
msgResultado string saída retorna a literal do resultado da chamada do WS
chaveNFe string entrada informar a chave de acesso da NF-e que se deseja consultar
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

Retorno:

O resultado da chamada da Consulta Status de uma NF-e é o código numérico com os seguintes significados:

código Mensagem origem regra
5001 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) DLL -
5002 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) DLL -
5003 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) DLL -
5004 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) DLL -
5005 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) DLL -
5006 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) DLL -
5007 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) DLL -
5008 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) DLL -
5009 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) DLL -
5010 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) DLL -
5011 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) DLL -
5012 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada DLL -
5013 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) DLL -
5014 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) DLL -
5015 Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] - [MENSAGEM DE ERRO DO WINDOWS] DLL -
5016 Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5017 Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5101 Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5102 Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5103 Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5104 Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5105 Erro: O WS não devolveu nenhum resultado DLL -
5201 Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 - produção e 2 - homologação DLL -
5202 Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida DLL -
5203 Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. DLL -
5204 Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] DLL -
5205 Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5206 Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5403 Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] DLL -
5404 Erro: Nenhum certificado digital selecionado DLL
5405 Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] DLL -
5406 Erro: Falha no tratamento do parâmetro nome: [nome informado] DLL -
5407 Erro: Quantidade de parâmetos inválido: [nome informado] DLL -
5408 Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] DLL -
6101 Erro: O parâmetro versao não foi informado DLL -
6102 Erro: O conteúdo do parâmetro sigla da UF: [CONTEÚDO] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [CONTEUDO] DLL -
6104 Erro: O parâmetro chaveNFe não informado DLL -
6105 Erro: O tamanho [TAMANHO DO PARAMETRO] do parâmetro chaveNFe informado não tem 44 caracteres DLL -
6106 Erro: As posições correspondentes (1,2) ao código da UF [POSIÇÃO DA CHAVE] do parâmetro chaveNFe não é um código de UF válido DLL -
6107 Erro: A chave de acesso deve ter 44 posições: [POSIÇÃO DA CHAVE] DLL -
6108 Erro: O conteúdo do parâmetro número do protocolo: [NÚMERO DO PROTOCOLO] deve ter 15 posições DLL -
6109 Erro: O conteúdo do parâmetro justificativa: [JUSTIFICATIVA] deve ter pelo menos 15 posições DLL -
6110 Erro: O nome do titular do certificado deve ser informado DLL -
6123 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6124 Erro: O parâmetro tipoAmbiente [CONTEUDO] deve ser 1 ou 2 DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
100 Autorizado o uso da NF-e WS -
101 Cancelamento de NF-e homologado WS -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
110 Uso Denegado WS -
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido WS B01
215 Rejeição: Falha no schema XML WS D01
216 Rejeição: Chave de Acesso difere da cadastrada WS J04
217 Rejeição: NF-e não consta na base de dados da SEFAZ WS J03
226 Rejeição: Código da UF do Emitente diverge da UF autorizadora WS J02
236 Rejeição: Chave de Acesso com dígito vereficador inválido WS J02a
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C05
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C06
242 Rejeição: Cabeçalho - Falha no Schema XML WS C01
243 Rejeição: XML Mal Formado WS B02
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento WS J01
280 Rejeição: Certificado Transmissor inválido WS A01
281 Rejeição: Certificado Transmissor Data Validade WS A02
282 Rejeição: Certificado Transmissor sem CNPJ WS A07
283 Rejeição: Certificado Transmissor - erro Cadeia de Certificação WS A03
284 Rejeição: Certificado Transmissor revogado WS A05
285 Rejeição: Certificado Transmissor difere ICP-Brasil WS A06
286 Rejeição: Certificado Transmissor erro no acesso a LCR WS A04
299 Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8 WS C01a
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D03
404 Rejeição: Uso de prefixo de namespace não permitido WS D02
409 Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP Header WS C02
410 Rejeição: UF informada no campo cUF não é atendida pelo Web Service WS C03
411 Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header WS C04
516 Rejeição: Falha no schema XML - inexiste a tag raiz esperada para a mensagem WS D01a
517 Rejeição: Falha no schema XML - inexiste atributo versao na tag raiz da mensagem WS D01b
545 Rejeição: Falha no schema XML - versão informada na versaoDados do SOAPHeader diverge da versão da mensagem WS D01c
561 Rejeição: Mês de Emissão informado na Chave de Acesso difere do Mês de Emissão da NFe WS J05
562 Rejeição: Código Numérico informado na Chave de Acesso difere do Código Numérico da NF-e WS J04
587 Rejeição: Usar somente o namespace padrão da NF-e WS D01d
588 Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem WS D01e
613 Rejeição: Chave de Acesso diferente da existente em BD WS J06
614 Rejeição: Chave de Acesso inválida (Código UF inválido) WS J02b
615 Rejeição: Chave de Acesso inválida (Ano < 05 ou Ano maior que Ano corrente) WS J02c
616 Rejeição: Chave de Acesso inválida (Mês < 1 ou Mês > 12) WS J02d
617 Rejeição: Chave de Acesso inválida (CNPJ zerado ou dígito inválido) WS J02e
618 Rejeição: Chave de Acesso inválida (modelo diferente que 55) WS J02f
619 Rejeição: Chave de Acesso inválida (número NF = 0) WS J02g
656 Rejeição: Consumo indevido WS -
999 Rejeição: Erro não catalogado (mensagem) WS -

Tratamento de Erro:

Caso ocorra algum erro na chamada do WS (5001-6145) ou a requisição não seja atendida pelo WS (214-999), será gravado um log na pasta log, com as seguintes informações que devem ser úteis para identificação do problema:

Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:

Histórico de atualização:

Mensagens XML - versão 1.07:

Pedido de Consulta Status NF-e

<?xml version="1.0" encoding="UTF-8" ?>
<consSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07">
   <tpAmb>2</tpAmb>
   <xServ>CONSULTAR</xServ>
   <chNFe>43060992665611012850550079000000011485651995</chNFe>
</consSitNFe>

Resposta do WS para NF-e autorizada

<?xml version="1.0" encoding="utf-8"?>
<retConsSitNFe versao="1.07" xmlns="http://www.portalfiscal.inf.br/nfe">
   <infProt Id="NFe43060992665611012850550079000000011485651995">
      <tpAmb>2</tpAmb>
      <verAplic>RS20100112140136</verAplic>
      <cStat>100</cStat><xMotivo>Autorizado o uso da NF-e</xMotivo>
      <cUF>43</cUF>
      <chNFe>43060992665611012850550079000000011485651995</chNFe>
      <dhRecbto>2006-09-13T11:29:17</dhRecbto>
      <nProt>143060000294904</nProt>
      <digVal>vFL68WETQ+mvj1aJAMDx+oVi928=</digVal>
   </infProt>
</retConsSitNFe>

Resposta do WS para NF-e cancelada

<?xml version="1.0" encoding="utf-8"?>
<retConsSitNFe versao="1.07" xmlns="http://www.portalfiscal.inf.br/nfe">
   <infProt Id="NFe43060992665611012850550070000081711388781007">
      <tpAmb>2</tpAmb>
      <verAplic>RS20100112140136</verAplic>
      <cStat>101</cStat>
      <xMotivo>Cancelamento de NF-e homologado</xMotivo>
      <cUF>43</cUF>
      <chNFe>43060992665611012850550070000081711388781007</chNFe>
      <dhRecbto>2006-09-14T14:46:50</dhRecbto>
      <nProt>143060000295045</nProt>
      <digVal>TIBBolOLQgQJ0a0yY9WNkOek9a8=</digVal>
   </infProt>
</retConsSitNFe>

Mensagens XML - versão 2.00:

Pedido de Consulta Status NF-e

<?xml version="1.0" encoding="UTF-8" ?>
<consSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
   <tpAmb>2</tpAmb>
   <xServ>CONSULTAR</xServ>
   <chNFe>43060992665611012850550079000000011485651995</chNFe>
</consSitNFe>

Resposta do WS para NF-e inexistente

<retConsSitNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>SVAN_2.00</verAplic>
   <cStat>217</cStat>
   <xMotivo>Rejeicao: NF-e nao consta na base de dados da SEFAZ</xMotivo>
   <cUF>43</cUF>
   <chNFe>43060992665611012850550079000000011485651995</chNFe>
</retConsSitNFe>

Resposta do WS para NF-e autorizada

<retConsSitNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>SP_NFE_PL_006e</verAplic>
   <cStat>100</cStat>
   <xMotivo>Autorizado o uso da NF-e</xMotivo>
   <cUF>35</cUF>
   <chNFe>35100610142785000190551100000000014259062380</chNFe>
   <protNFe versao="2.00">
      <infProt>
         <tpAmb>2</tpAmb>
         <verAplic>SP_NFE_PL_005e</verAplic>
         <chNFe>35100610142785000190551100000000014259062380</chNFe>
         <dhRecbto>2010-06-10T02:04:23</dhRecbto>
         <nProt>135100021500481</nProt>
         <digVal>kcry/2bpeM4KbTsGsRFI/f6MjvU=</digVal>
         <cStat>100</cStat>
         <xMotivo>Autorizado o uso da NF-e</xMotivo>
      </infProt>
   </protNFe>
</retConsSitNFe>

Resposta do WS para NF-e cancelada

<retConsSitNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
   <tpAmb>2</tpAmb>
   <verAplic>SP_NFE_PL_006e</verAplic>
   <cStat>101</cStat>
   <xMotivo>Cancelamento de NF-e homologado</xMotivo>
   <cUF>35</cUF>
   <chNFe>35100610142785000190550100000000018921770079</chNFe>
   <protNFe versao="2.00">
      <infProt>
         <tpAmb>2</tpAmb>
         <verAplic>SP_NFE_PL_005e</verAplic>
         <chNFe>35100610142785000190550100000000018921770079</chNFe>
         <dhRecbto>2010-06-09T01:57:52</dhRecbto>
         <nProt>135100021434480</nProt>
         <digVal>YzwrNQ/Xd2rNMS2U3eH31S3uAMk=</digVal>
         <cStat>100</cStat>
         <xMotivo>Autorizado o uso da NF-e</xMotivo>
       </infProt>
   </protNFe>
   <retCancNFe versao="2.00">
      <infCanc>
         <tpAmb>2</tpAmb>
         <verAplic>SP_NFE_PL_005e</verAplic>
         <cStat>101</cStat>
         <xMotivo>Cancelamento de NF-e homologado</xMotivo>
         <cUF>35</cUF>
         <chNFe>35100610142785000190550100000000018921770079</chNFe>
         <dhRecbto>2010-06-09T02:11:11</dhRecbto>
         <nProt>135100021434495</nProt>
      </infCanc>
   </retCancNFe>
</retConsSitNFe>

Resposta do WS para NF-e cancelada (EVENTO)

<retConsSitNFe versao="2.01" xmlns="http://www.portalfiscal.inf.br/nfe">
  <tpAmb>2</tpAmb>
  <verAplic>SP_NFE_PL_006j</verAplic>
  <cStat>101</cStat>
  <xMotivo>Cancelamento de NF-e homologado</xMotivo>
  <cUF>35</cUF>
  <chNFe>35120810142785000190550010000000231184534973</chNFe>
  <protNFe versao="2.00">
    <infProt>
      <tpAmb>2</tpAmb>
      <verAplic>SP_NFE_PL_006j</verAplic>
      <chNFe>35120810142785000190550010000000231184534973</chNFe>
      <dhRecbto>2012-08-18T20:25:51</dhRecbto>
      <nProt>135120005426259</nProt>
      <digVal>Bd42XRxmoKgt5SAg62HNuOouvcY=</digVal>
      <cStat>100</cStat>
      <xMotivo>Autorizado o uso da NF-e</xMotivo>
    </infProt>
  </protNFe>
  <procEventoNFe versao="1.00">
    <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
      <infEvento Id="ID1101113512081014278500019055001000000023118453497301">
        <cOrgao>35</cOrgao>
        <tpAmb>2</tpAmb>
        <CNPJ>10142785000190</CNPJ>
        <chNFe>35120810142785000190550010000000231184534973</chNFe>
        <dhEvento>2012-08-18T20:26:58-03:00</dhEvento>
        <tpEvento>110111</tpEvento>
        <nSeqEvento>1</nSeqEvento>
        <verEvento>1.00</verEvento>
        <detEvento versao="1.00">
          <descEvento>Cancelamento</descEvento>
          <nProt>135120005426259</nProt>
          <xJust>Teste de Cancelamento como Evento</xJust>
        </detEvento>
      </infEvento>
      <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
        <SignedInfo>
          <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
          <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
          <Reference URI="#ID1101113512081014278500019055001000000023118453497301">
            <Transforms>
              <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
              <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
            </Transforms>
            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <DigestValue>ltctExluD0Od3kxNimxSQTgKkAQ=</DigestValue>
          </Reference>
        </SignedInfo>
        <SignatureValue>iorN1e//LP/fKzwJtmxkh4fvZjafKkd4qUi(...)UC3p7B6/9g1f3d599XTO62JsQEU=</SignatureValue>
        <KeyInfo>
          <X509Data>
            <X509Certificate>MIIFtDCCBJygAwIBAgIIG1mv0XRoWy4(...)6f5GtED6q4AxkHNUQBimd6HAhA0oDjO/oaDeEC</X509Certificate>
          </X509Data>
        </KeyInfo>
      </Signature>
    </evento>
    <retEvento versao="1.00">
      <infEvento>
        <tpAmb>2</tpAmb>
        <verAplic>SP_EVENTOS_PL_100</verAplic>
        <cOrgao>35</cOrgao>
        <cStat>135</cStat>
        <xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
        <chNFe>35120810142785000190550010000000231184534973</chNFe>
        <tpEvento>110111</tpEvento>
        <xEvento>Cancelamento registrado</xEvento>
        <nSeqEvento>1</nSeqEvento>
        <CNPJDest>00000000000191</CNPJDest>
        <emailDest>contato@bb.com.br</emailDest>
        <dhRegEvento>2012-08-18T20:32:05-03:00</dhRegEvento>
        <nProt>135120005426267</nProt>
      </infEvento>
    </retEvento>
  </procEventoNFe>
</retConsSitNFe>

Importante

Os XML acima foram identados para uma melhor visualização, a mensagem original não tem formatação.

Os XML das mensagens de retorno da versão 2.00, 2.01, 3.00 e 3.10 não têm a declaração XML.

Exemplos de uso:

Visual Basic 6.0

 
 
 ' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
 '
 Dim msgDados As String     ' retorna a mensagem XML enviada para o WS
 Dim msgRetWS As String     ' retorna a mensagem XML de resposta do WS
 Dim msgResultado As String ' retorna a literal do resultado da chamada do WS
 Dim siglaWS As String      ' informar a sigla do WS que deseja consultar
                            ' AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP (WS próprio);
                            ' SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI);
                            ' SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ,
                            '        RO, RR, SC, SE e TO);
                            ' SCAN - Sistema de Contingência do Ambiente Nacional
                            ' SVC-AN - SEFAZ Virtual de Contingência do Ambiente Nacional (AC, AL,
                            '           AP, DF, MG, PB, RJ, RS, RO, RR, SC, SE, SP e TO);
                            ' SVC-RS - SEFAZ Virtual de Contingência do Rio Grande do Sul (AM, BA,
                            '          CE, ES, GO, MA, MT, MS, PA, PE, PI, PR e RN);
                            ' am e mt para a NFC-e.
 Dim nomeCertificado As String  ' informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
 '
 ' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
 '
 ' EXEMPLO PARA USO DE ARQUIVO PFX
 '
 'nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao"
 '
 '  onde:
 '  ARQUIVO            --> indica opção de uso de arquivo PFX
 '  c:\certificado.pfx --> nome e caminho do arquivo PFX
 '  associacao         --> senha do arquivo PFX
 '
 '
 ' EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64
 '
 'nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha"
 '
 '  onde:
 '  CERTIFICADO        --> indica opção de uso de arquivo PFX em base64
 '  MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64
 '  senha              --> senha do arquivo PFX
 '
 Dim chaveNFe As String   ' informar a chave de acesso da NF-e que se deseja consultar
 '
 ' As variáveis do proxy devem ser informadas se necessário
 '
 ' proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443
 '
 Dim proxy As String ' 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'
 Dim usuario As String ' informar o usuário para autenticação no proxy, se necessário
 Dim senha As String ' informar a senha de autenticação no proxy, se necessário
 '
 Dim tipoAmbiente As Integer ' informar o código do ambiente a ser consultado: 1- produção ou 2-homologação
 Dim versao As String ' informar a versão da mensagem do WS - 1.07 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x)
 '
 ' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas
 '
 '
 proxy = "" ' 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 = "" ' informar o usuário para autenticação no proxy, se necessário
 senha = "" ' informar a senha de autenticação no proxy, se necessário
 msgDados = "" ' retorna a mensagem XML enviada para o WS
 msgRetWS = "" ' retorna a mensagem XML de resposta do WS
 msgResultado = "" ' retorna a literal do resultado da chamada do WS
 chaveNFe = "35100610142785000190550100000000018921770079" ' informar a chave de acesso da NF-e que se deseja consultar"
 '
 ' prepara variáveis
 '
 nomeCertificado = "CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR"
 
 siglaWS = "SP"      ' informar a sigla do WS que deseja consultar, informar SVAN - SEFAZ Virtual do Ambiente Nacional (MA, PA e PI) ou SVRS - SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ, RO, RR, SC, SE e TO), caso a UF seja usuário da SEFAZ Virtual, em caso contrário informar a sigla da UF (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP). Em caso de contingência SCAN, informar a sigla SCAN
 tipoAmbiente = "2" ' informar o código do ambiente a ser consultado: 1- produção ou 2-homologação
 versao = "2.01" ' informar a versão da mensagem do WS - 1.07 (manual de integração versão 2.04 ou 3.00) ou 2.00 (manual de integração versão 4.0x) ou 2.01 (NT 2011/003)
 '
 Dim Result As Long
 
 Dim objNFeUtil As Object
 
 '
 ' instancia a DLL (late binding)
 '

 '******************************IMPORTANTE************************************
 '*                                                                          *
 '*  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
 '*     fazer o registro é utilizar o instalador da DLL:                     *
 '*                                                                          *
 '*     http://www.flexdocs.com.br/guiaNFe/instala.html                      *
 '*                                                                          *
 '*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
 '*     na pasta da aplicação.                                               *
 '*                                                                          *
 '*  3. para execução em modo debug, a DLL NFe_Util_2G.dll e Reports.dll e a *
 '*     pasta NFe_Util devem existir na pasta do VB98                        *
 '*     C:\Program Files (x86)\Microsoft Visual Studio\VB98                  *
 '*                                                                          *
 '*     Ex. VB98 : C:\Program Files (x86)\Microsoft Visual Studio\VB98       *
 '*                                                                          *
 '*  4. consulte o guia de uso da DLL para ter outras informações:           *
 '*                                                                          *
 '*     http://www.flexdocs.com.br/guianfe/WS.consultaNF2G.html              *
 '*                                                                          *
 '****************************************************************************

 
 Set objNFeUtil = CreateObject("NFe_Util_2G.util")
 '
 '
 Screen.MousePointer = vbHourglass    ' ampulheta
 '
 Result = objNFeUtil.ConsultaNF2G(siglaWS, _
                                  tipoAmbiente, _
                                  nomeCertificado, _
                                  versao, _
                                  msgDados, _
                                  msgRetWS, _
                                  msgResultado, _
                                  chaveNFe, _
                                  proxy, _
                                  usuario, _
                                  senha)
 '
 '
 Screen.MousePointer = vbDefault ' normal
 '
 ' mostra mensagem XML enviada e a mensagem de retorno do WS
 '
 MsgBox msgDados + Chr(13) + Chr(13) + msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da Consulta Status da NF-e"

c#

 
//
// declaração e inicilização de parâmetros da chamada
//
string msgDados = "";     // mensagem XML enviada ao WS
string msgRetWS = "";     // mensagem XML de resposta do WS
string msgResultado = ""; // literal do resultado da chamada do WS
string nomeCertificado = "CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR";
string siglaWS = "SP";  // sigla do WS: UF, SVRS, SVC-RS, SVC-AN, SCAN, etc.
string versao = "2.01";   // 2.00, 2.01, 3.00 ou 3.10
int tipoAmbiente = 2;     // 1 - produção / 2 - homologação
int cStat = 0;            // código retorno da chamada do WS
string chaveNFe = "35100610142785000190550100000000018921770079";
 
//  informar proxy, usuário e senha caso exista proxy na rede
 
string proxy = "";        
string usuario = "";
string senha = "";
 
//******************************IMPORTANTE************************************
//*                                                                          *
//*  1. não existe necessidade de fazer o registro da DLL no Windows, mas é  *
//*     necessário fazer add reference da DLL no solution explorer           *
//*                                                                          *
//*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
//*     na pasta da aplicação.                                               *
//*                                                                          *
//*  3. consulte o guia de uso da DLL para ter outras informações:           *
//*                                                                          *
//*     http://www.flexdocs.com.br/guianfe/WS.consultaNF2G.html              *
//*                                                                          *
//****************************************************************************
 
 
NFe_Util_2G.Util NFe_Util = new NFe_Util_2G.Util();
 
// chama WS de consulta Status da NF-e
 
cStat = NFe_Util.ConsultaNF2G(siglaWS,
                                  tipoAmbiente,
                                  nomeCertificado,
                                  versao,
                                  out msgDados,
                                  out msgRetWS,
                                  out msgResultado,
                                  chaveNFe,
                                  proxy,
                                  usuario,
                                  senha);
 
// mostra retorno do WS
 
MessageBox.Show(msgResultado + "\r\n\r\n" + msgRetWS);

xBase (Visual Fox Pro)

 
CLEAR
 
&&--------------------------------------------------------------------------------------
&&
&&              Funcionalidade para consultar a situação da NF-e
&&
&&--------------------------------------------------------------------------------------
&&          DECLARAÇÃO DE PARÂMETROS DE ENTRADA DA FUNCIONALIDADE
&&--------------------------------------------------------------------------------------
Local  siglaWS As String           && sigla do WS: AN para Ambiente Nacional e RS para SVRS
Local  tipoAmbiente As Long        && Ambiente: 1-Produção e 2-Homologação
Local  nomeCertificado As String   && campo assunto do certificado digital
Local  versao As String            && versão= 1.00
Local  chaveNFe As String          && chave de acesso da NF-e
Local  proxy As String             && IP e porta do proxy, informar se existir proxy
Local  usuario As String           && usuario do proxy
Local  senha As String             && senha do proxy
Local  licenca As String           && licenca de uso, necessário informar para produção
&&--------------------------------------------------------------------------------------
&&          DECLARAÇÃO DE PARÂMETROS DE RETORNO DA FUNCIONALIDADE
&&--------------------------------------------------------------------------------------
Local  msgDados As String          && retorna o XML enviado ao WS
Local  msgRetWS As String          && retorna o XML de resposta do WS
Local  cStat As Long               && retorna o código do resultado da chamada
Local  msgResultado As String      && retorna o literal do resultado da chamada
&&--------------------------------------------------------------------------------------
&&          INICIALIZAÇÃO DE PARÂMETROS
&&--------------------------------------------------------------------------------------
siglaWS = "SP"
tipoAmbiente = 2
nomeCertificado = "CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR"
versao = "2.01"
msgDados = ""
msgRetWS = ""
cStat = 0
msgResultado = ""
chaveNFe = "35100610142785000190550100000000018921770079"
proxy = ""
usuario = ""
senha = ""
&&--------------------------------------------------------------------------------------
&&  instancia classe
&&--------------------------------------------------------------------------------------
 
Local  objNFeUtil As Object
objNFeUtil = CREATEOBJECTEX("NFe_Util_2G.Util","","")
 
&&******************************IMPORTANTE************************************
&&*                                                                          *
&&*  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
&&*     fazer o registro é utilizar o instalador da DLL:                     *
&&*                                                                          *
&&*     http://www.flexdocs.com.br/guiaNFe/instala.html                      *
&&*                                                                          *
&&*  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
&&*     na pasta do VFP ou do runtime do VFP                                 *
&&*                                                                          *
&&*  3. consulte o guia de uso da DLL para ter outras informações:           *
&&*                                                                          *
&&*     http://www.flexdocs.com.br/guianfe/WS.consultaNF2G.html              *
&&*                                                                          *
&&****************************************************************************
&&--------------------------------------------------------------------------------------
&&  chama funcionalidade
&&--------------------------------------------------------------------------------------
cStat = objNFeUtil.ConsultaNF2G(siglaWS, ;
                                tipoAmbiente, ;
                                nomeCertificado, ;
                                versao, ;
                                @msgDados, ;
                                @msgRetWS, ;
                                @msgResultado, ;
                                chaveNFe, ;                                     
                                proxy, usuario, senha)
? "Consulta status da NF-e"
? "----------------------------------------------------------------------"
? "Resultado do chamada:"
? "----------------------------------------------------------------------"
? msgResultado
? "----------------------------------------------------------------------"
?
? "XML da resposta do WS:"
? "----------------------------------------------------------------------"
? msgRetWS
? "----------------------------------------------------------------------"
&&--------------------------------------------------------------------------------------
&& libera classe
&&--------------------------------------------------------------------------------------
objNFeUtil = null

Object Pascal (Delphi)

procedure TForm1.ConsultaNFe;
var
 
Util: OleVariant;           // acrescentar comObj no uses da aplicaçõa
 
siglaWS: widestring;        // informar a siglaWS: UF, SCAN, SVRS, SVC-AN, SVC-RS
tipoAmbiente: integer;      // informar o ambiente: 1 - produção ou 2 - homologação
versao: widestring;         // informar a versao do WS: 2.00, 3.00 ou 3.10
nomeCertificado: widestring; // informar o nomeCertificado (campo assunto do certificado)
chaveNFe:widestring;        // informar a chave de acesso da NF-e que será consultada
proxy : widestring;         // informar o proxy se necessário
usuario : widestring;       // inforamr o usuário do proxy se necessário
senha : widestring;         // informar a senha se necessário
 
//  parâmetros de retorno - inicilizar todas ela
 
cStat: integer;             // retorna o cStat do Web Service
msgDados: widestring;       // retorna o XML enviado ao Web Service
msgRetWS: widestring;       // retorna o XML da resposta do Web Service
msgResultado: widestring;   // retorna o literal da resposto do Web Service
 
begin
 
  {
  ******************************IMPORTANTE************************************
  *                                                                          *
  *  1. a DLL deve estar registrada no Windows, a forma mais simples de      *
  *     fazer o registro é utilizar o instalador da DLL:                     *
  *                                                                          *
  *     http://www.flexdocs.com.br/guiaNFe/instala.html                      *
  *                                                                          *
  *  2. a DLL NFe_Util_2G.dll e Reports.dll e a pasta NFe_Util devem existir *
  *     na pasta da aplicação.                                               *
  *                                                                          *
  *  3. consulte o guia de uso da DLL para ter outras informações:           *
  *                                                                          *
  *     http://www.flexdocs.com.br/guianfe/WS.consultaNF2G.html              *
  *                                                                          *
  ****************************************************************************
  }
 
  Util := CreateOleObject('NFe_Util_2G.util');            // instância a DLL
  nomeCertificado := 'CN=M R M KATO ASAKURA EPP:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR';
  siglaWS := 'SP';
  tipoAmbiente := 2;
  versao := '2.00';
  chaveNFe := '35100610142785000190550100000000018921770079';
 
  proxy := '';
  usuario := '';
  senha := '';
 
  msgDados :='';
  msgRetWS := '';
  msgResultado :='';
 
  cStat := Util.ConsultaNF2G(siglaWS,
                             tipoAmbiente,
                             nomeCertificado,
                             versao,
                             msgDados,
                             msgRetWS,
                             msgResultado,
                             chaveNFe,
                             proxy,
                             usuario,
                             senha);
 
  MessageDlg( 'Resultado da chamada do WS'+#13+#13+msgResultado+#13+#13+msgRetWS, mtInformation, [mbOk], 0);
 
end;
12.4. Consulta NF [15-08-17]
12. Web Service da NF-e [15-08-17]
« Anterior
12.3.3. InutilizaNroNF2G [15-08-17]
Próximo »
12.5. Consulta Status Serviços [15-08-17]