- 12. Web Service da NF-e
12.4. Consulta NF - 12.3.2. InutilizaNroNF2G
« Anterior - 12.5. Consulta Status Serviços
Próximo »
12.4. Consulta NF
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 (ES, MA, PA, PI e RN) 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 SCAN - Sistema de Contingência do Ambiente Nacional, informar a sigla SCAN.
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.0 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.
Novidades:
multiversão - possibilidade de consumir WS da versão 1.07 do leiaute (versões 2.04 e 3.00 do Manual de Integração) que utiliza área de cabeçalho e os WS da versão 2.00 (Manual de Integração versão 4.0x) que utilizam o SOAPHeader. A escolha do WS é realizada pelo parâmetro versao.
suporte SCAN, SVAN e SVRS - possibilidade de indicar o WS desejado, não sendo mais necessária a alteração manual da url no arquivo ws.xml.
padronização dos códigos de erro - os códigos de erro foram renumerados e as mensagens padronizadas.
gravação do log - gravação do log da chamada da DLL quando o resultado da chamada for diferente de 107, 108, 109, 113 e 114. Se o resultado for maior que 999, indica que o WS nem chegou a ser consumido, se o resultado estiver compreendido na faixa: 214 e 999 , o WS foi consumido, mas a solicitação foi rejeitada pelo WS.
Preenchimento da siglaWS
a sigla SVAN, caso a UF seja usuária da SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN);
a sigla SVRS, caso a UF seja usuária da SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, PB, RJ, RO, RR, SC, SE e TO);
a sigla da UF, caso a UF tenha aplicação própria (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP);
a sigla SCAN, na emissão em contingência SCAN - Sistema de Contingência do Ambiente Nacional.
Preenchimento do nomeCertificado
informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, 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 que deseja consultar, informar SVAN - SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN) 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 | inteiro | entrada | informar o código do ambiente a ser consultado: 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 - 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 - com retorno dos eventos)(parâmetro novo) |
| 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 |
Atenção para as seguintes alterações nos parâmetros:
Parâmetros novos:
- versao;
Parâmetros eliminados:
- msgCabec;
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 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}\NFe_Util\URL\NOME ARQUIVO | 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 |
| 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:
- Timestamp - data e hora da ocorrência do erro
- WS - nome do WS acessado
- URL - URL do WS acessado
- ambiente - código do ambiente
- certificado - nome do titular (assunto) do certificado digital utilizado
- erro - código e descrição do erro
- msgDados - mensagem enviada ao WS
- msgRetWS - conteúdo do retorno do WS
Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:
- 5001 - 5017 - falha na tentativa de consumir o WS (problema de conexão/rede)
- 5101 - 5105 - falha no tratamento do XML de resposta do WS (problema na resposta do WS)
- 5201 - 5206 - falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
- 5403 - 5408 - falha no acesso ao certificado digital
- 6101 - 6141 - falha no tratamento dos pârametros da chamada da DLL
Histórico de atualização:
- 2010-02-02 - 2Gv0.0 - Versão beta preliminar.
- 2010-06-05 - correção da assinatura com eliminação dos parâmetros siglaUF e tMed que estavam incorretos.
- 2010-06-27 - correção da assinatura e da tabela de parâmetros relacionados com os parâmetros msgResultado e chaveAcessoNFe;
- 2011-06-18 - 2Gv0.7 - Acréscimo de novas opções para uso de certificado digital
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>
Importante
Os XML acima foram identificados para uma melhor visualização, a mensagem original não tem formatação.
Os XML das mensagens de retorno da versão 2.00 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, informar SVAN - SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN) 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 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 = "35080600000000000000550000000000010000000000" ' informar a chave de acesso da NF-e que se deseja consultar ' ' prepara variáveis ' nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS" siglaWS = "RS" ' informar a sigla do WS que deseja consultar, informar SVAN - SEFAZ Virtual do Ambiente Nacional (ES, MA, PA, PI e RN) 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.00" ' 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 NFe_Util_2G.Util ' ' instancia a DLL ' Set objNFeUtil = New NFe_Util_2G.Util ' ' Screen.MousePointer = vbHourglass ' ampulheta ' Result = objNFeUtil.ConsultaNF2G(siglaWS, tipoAmbiente, certificado, 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" ' ' libera classe ' Set objNFeUtil = Nothing
- 12.4. Consulta NF
12. Web Service da NF-e - « Anterior
12.3.2. InutilizaNroNF2G - Próximo »
12.5. Consulta Status Serviços