- 12.7. Eventos da NF-e
12.7.2. Manifestação do Destinatário [26-08-18] - 12.7.1. Carta de Correção [15-08-17]
« Anterior - 12.7.3. Manifestação do Destinatário 2 [03-06-24]
Próximo »
12.7.2. Manifestação do Destinatário [26-08-18]
Manifestação do Destinatário
Assinatura
string EnviaManDest(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveNFe, string CNPJAutor, string dhEvento, int tpEvento, string xJust, out string nroProtocolo, out string dhProtocolo, string proxy, string usuario, string senha, string licenca)
Descrição:
Funcionalidade que permite ao destinatário de uma NF-e, manifestar sobre a sua participação na operação descrita na NF-e.
Manifestações possíveis:
- Ciência da Operação - permite que o destinatário obtenha o XML da NF-e para conhecer os detalhes da operação, requer uma posterior manifestação conclusiva da operação: Confirmação da Operação ou Registro da Operação não Realizada ou Desconhecimento da Operação;
- Confirmação da Operação - o destinatário reconhece a operação;
- Registro de Operação não Realizada - o destinatáro reconhece a operação, mas não confirma a efetivação da operação em razão de algum evento que impediu a ocorrência da operação:
- devolução sem entrada física da mercadoria no estabelecimento do destinatário;
- ocorrência de sinistro da carga;
- etc.
- Desconhecimento da Operação - o destinatário desconhece a operação.
ATENÇÃO OBRIGATORIEDADE DA MANIFESTAÇÃO DO DESTINATÁRIO [12/08/22]
A obrigatoriedade de registro de eventos está prevista no Anexo II do Ajuste SINIEF 07/2005:
OBRIGATORIEDADE DE REGISTRO DE EVENTOS NACIONAL
Além da obrigatoriedade prevista no inciso II da cláusula décima quinta-B deste ajuste, o destinatário da NF-e tem o dever de registrar, nos termos do MOC, um dos eventos previstos naquele inciso para toda NF-e que:
I - exija o preenchimento do Grupo Detalhamento Específico de Combustíveis, nos casos de circulação de mercadoria destinada a:
a) estabelecimentos distribuidores de combustíveis, a partir de 1º de março de 2013;
b) postos de combustíveis e transportadores revendedores retalhistas, a partir de 1º de julho de 2013;
II - acoberte operações com álcool para fins não-combustíveis, transportado a granel, a partir de 1º de julho de 2014;
III - nos casos em que o destinatário for um estabelecimento distribuidor ou atacadista, acoberte, a partir de 1º de agosto de 2015, a circulação de:
a) cigarros;
b) bebidas alcoólicas, inclusive cervejas e chopes;
c) refrigerantes e água mineral.OBRIGATORIEDADE DE REGISTRO DE EVENTOS DA UF - As UF podem estabelecer a obrigatoriedade do registro de eventos para outros destinatário.
PRAZOS PARA MANIFESTAÇÃO DO DESTINATÁRIO
O evento "Ciência da Operação" poderá ser registrado em até dez dias contados da autorização da NF-e. O registro da evento "Ciência da Operação" obriga o registro de uma manifestação conclusiva: Confirmação de operação, Operação não Realizada ou Desconhecimento da Operação, a ausência da manifestação conclusiva está sujeito à multa na maioria das UF.
Destinatários obrigados a realizar a manifestação - deverão registrar os eventos conclusivos da manifestação do destinatário nos seguintes prazos:
Evento prazo Confirmação de operação 180 dias Operação não realizada 180 dias Desconhecimento da operação 180 dias Destinatários não obrigados a realizar a manifestação - podem registrar os eventos conclusivos: Confirmação de operação, Operação não Realizada ou Desconhecimento da Operação em até cento e oitenta dias contados da autorização da NF-e.
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
siglaWS | string | entrada | informar "AN" - o WS do Ambiente Nacional (AN) atende destinatário de qualquer UF. Os destinatários do RS que desejarem utilizar o WS do RS podem informar "RS". |
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 : 4.00 |
msgDados | string | saída | retorna a mensagem XML do evento manifestação do destinatário criado pela DLL que foi enviado ao WS. |
msgRetWS | string | saída | retorna a mensagem XML de resposta do WS |
cStat | inteiro | saída | retorna o resultado da chamada 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 objeto da manifestação do destinatário |
CNPJAutor | string | entrada | informar o CNPJ/CPF do autor da manifestação, é o CNPJ ou CPF do destinatário da NF-e. [26-08-18] |
dhEvento | string | entrada | informar a data e hora da manifestação no formato "AAAA-MM-DD HH:MM:SS". Ex. Delphi: FormatDateTime('yyyy-mm-dd "" hh:mm:ss', Now); VB: Format$(Now, "yyyy-mm-dd HH:mm:ss") Se a data e hora informada for maior que a data do WS vai ocorrer o erro 578, veja o retorno do WS e verifique se o horário do equipamento está sincronizado com o horário do WS. A data e hora é convertida em formato UTC - Universal Time Zone (representação do horário que considera o fuso em relação ao horário UTC), assim como existe a validação de schema XML para a data e hora, se o fuso horário do equipamento estiver com uma configuração que não seja a brasileira ocorrerá falha de schema XML. A DLL irá pegar a data e hora do equipamento se o conteúdo for omitido. [18-11-12] |
tpEvento | inteiro | entrada | informar o tipo do Evento: 0 - Confirmação da Operação 1 - Ciência da Operação 2 - Desconhecimento da Operação 3 - Registro da Operação não Realizada Correção da codificação [04-09-12][18-09-12] |
xJust | string | entrada | informar a justificativa da não realizadação da operação. Informação obrigatória para o tpEvento = 3 - Registro da Operação não Realizada, nos demais eventos a informação será desprezada, mesmo que seja informada pelo usuário. |
nProtocolo | string | saída | retorna o número do protocolo de registro do Evento da Manifestação do Destinatário. |
dhProtocolo | string | saída | retorna a data e hora de registro do Evento, a data no formato UTC com a indicação do fuso horário. |
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 licenca 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 |
Preenchimento da siglaWS
AN - O WS do Ambiente Nacional (AN) atende qualquer UF. RS - os destinatários do RS, podem consumir o WS do RS.
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.
Retorno:
O resultado da chamada do EnviaManDest é a mensagem XML composta pela manifestação do destinatário e respectivo protocolo de homologação de vinculação de evento, inexiste determinação legal para a manutenção da manifestação, contudo recomendamos a guarda do XML.
O parâmetro cStat retorna um 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 | - |
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 | - |
6103 | Erro: O conteúdo do parâmetro versao informado é inválido: [conteúdo do parâmetro] | DLL | - |
6107 | Erro: A chave de acesso deve ter 44 posições: [tamanho da chave] | DLL | - |
6110 | Erro: O nome do titular do certificado deve ser informado | DLL | - |
6120 | Erro: O parâmetro chave de acesso deve ser informado | DLL | - |
6122 | Erro: O parâmetro justificativa deve ter se informado | DLL | - |
6123 | Erro: O parâmetro tipoAmbiente deve ser informado | DLL | - |
6124 | Erro: O parâmetro tipoAmbiente [conteúdo do parâmetro] deve ser 1 ou 2 | DLL | - |
6141 | Erro: O parâmetro siglaWS deve ser informado | DLL | - |
6143 | Erro: O parâmetro Justificativa deve ter pelo menos 15 caracteres: [conteúdo do parâmetro] | DLL | - |
6152 | Erro: A chave da NF-e do retEvento: [chaveNFe retEvento] é divergente da chave da NF-e do Evento: [chaveNFe Evento] | DLL | - |
6153 | Erro: O parâmetro tipoEvento deve ser informado | DLL | - |
6154 | Erro: O parâmetro tipoEvento [conteúdo do parâmetro] deve ser informado com: 0-Confirmação da Operação, 1-Ciência da Operação, 2-Desconhecimento da Operação, 3-Operação não Realizada | DLL | - |
6155 | Erro: O parâmetro Justificativa pode ter no máximo 255 caracteres: [conteúdo do parâmetro] | DLL | - |
6156 | Erro: O parâmetro CNPJ do Autor deve ser informado | DLL | - |
6157 | Erro: O parâmetro CNPJ do Autor informado:[conteúdo do parâmetro] é inválido | DLL | - |
6158 | Erro: O parâmetro dhEvento é inválida: [conteúdo do parâmetro] | DLL | - |
6159 | Erro: O parâmetro siglaWS informado: [conteúdo do parâmetro] é diferente de RS e AN | DLL | - |
7001 | Erro: A licença não foi informada | DLL | - |
7002 | Erro: A licença informada: [licença] tem tamanho:[tamanho da licença] diferente de 128 | DLL | - |
7003 | Erro: A licença informada: [licença] não pertence ao CNPJ:[CNPJ informado] | DLL | - |
7009 | Erro: A licença informada: [licença] não permite o uso da funcionalidade:[EnviaManDest], para utilizar a funcionalidade é necessário uma atualização onerosa da licença. | DLL | - |
135 | Evento registrado e vinculado a NF-e | WS | - |
136 | Evento registrado, mas nao vinculado a NF-e | WS | - |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | B02 |
109 | Serviço Paralisado sem Previsão | WS | B03 |
213 | Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital | WS | F03 |
214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido | WS | B01 |
217 | Rejeição: NF-e não consta na base de dados da SEFAZ | WS | H06 |
221 | Rejeição: Confirmado o recebimento da NF-e pelo destinatário | WS | H12 |
222 | Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consulta | WS | H11 |
225 | Rejeição: Falha no schema XML | WS | D01 |
236 | Rejeição: Chave de Acesso com dígito verificador inválido | WS | H03 |
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 |
240 | Rejeição: Cancelamento/Inutilização - Irregularidade Fiscal do Emitente | WS | H05 |
242 | Rejeição: Cabeçalho - Falha no Schema XML | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
250 | Rejeição: UF da Chave de Acesso diverge da UF autorizadora | WS | G02 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | G01 |
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 |
290 | Rejeição: Certificado Assinatura inválido | WS | E01 |
291 | Rejeição: Certificado Assinatura Data Validade | WS | E02 |
292 | Rejeição: Certificado Assinatura sem CNPJ | WS | E03 |
293 | Rejeição: Certificado Assinatura - erro Cadeia de Certificação | WS | E04 |
294 | Rejeição: Certificado Assinatura revogado | WS | E06 |
295 | Rejeição: Certificado Assinatura difere ICP-Brasil | WS | E07 |
296 | Rejeição: Certificado Assinatura erro no acesso a LCR | WS | E05 |
297 | Rejeição: Assinatura difere do calculado | WS | F02 |
298 | Rejeição: Assinatura difere do padrão do Projeto | WS | F01 |
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 |
420 | Rejeição: Cancelamento para NF-e já cancelada | WS | H09 |
489 | Rejeição: CNPJ informado inválido (DV ou zeros) | WS | G03 |
490 | Rejeição: CPF informado inválido (DV ou zeros) | WS | G04 |
491 | Rejeição: O tpEvento informado inválido | WS | D04 |
492 | Rejeição: O verEvento informado inválido | WS | D05 |
493 | Rejeição: detEvento não atende o Schema XML específico | WS | D06 |
502 | Rejeição: Erro na Chave de Acesso - Campo Id não corresponde à concatenação dos campos correspondentes | WS | H02c |
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 |
572 | Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos ("ID" + tpEvento + chNFe + nSeqEvento) | WS | G05 |
573 | Rejeição: Duplicidade de Evento | WS | G07 |
575 | Rejeição: O autor do evento diverge do destinatário da NF-e | WS | G09 |
576 | Rejeição: O autor do evento não é um órgão autorizado a gerar o evento | WS | G10 |
577 | Rejeição: A data do evento não pode ser menor que a data de emissão da NF-e | WS | G11 |
578 | Rejeição: A data do evento não pode ser maior que a data do processamento | WS | G12 |
579 | Rejeição: A data do evento não pode ser menor que a data de autorização para NF-e não emitida em contingência | WS | G13 |
580 | Rejeição: O evento exige uma NF-e autorizada | WS | GA01 |
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 |
594 | Rejeição: O número de sequencia do evento informado é maior que o permitido | WS | H02 |
595 | Rejeição: Obrigatória a informação da justificativa do evento. | WS | H01 |
596 | Rejeição: Evento apresentado fora do prazo: [prazo vigente] | WS | H03 |
614 | Rejeição: Chave de Acesso inválida (Código UF inválido) | WS | G04b |
615 | Rejeição: Chave de Acesso inválida (Ano menor que 05 ou Ano maior que Ano corrente) | WS | G04c |
616 | Rejeição: Chave de Acesso inválida (Mês menor que 1 ou Mês maior que 12) | WS | G04d |
617 | Rejeição: Chave de Acesso inválida (CNPJ zerado ou dígito inválido) | WS | G04e |
618 | Rejeição: Chave de Acesso inválida (modelo diferente de 55) | WS | G04f |
619 | Rejeição: Chave de Acesso inválida (número NF = 0) | WS | |
640 | Rejeição: Evento de "Ciência da Operação" não pode ser informado após a manifestação final do destinatário (Confirmação, Operação não Realizada ou Desconhecimento) | WS | H06 |
650 | Rejeição: Evento de "Ciência da Operação" para NF-e Cancelada ou Denegada | H04 | |
651 | Rejeição: Evento de "Desconhecimento da Operação" para NF-e Cancelada ou Denegada | H05 | |
999 | Rejeição: Erro não catalogado (mensagem) | WS | - |
Tratamento de Erro:
Caso ocorra algum erro na chamada do WS (5001-6159) ou a requisição não seja atendida pelo WS (213-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)
- 6101 - 6159 - falha no tratamento dos pârametros da chamada da DLL
- 7001 - 7009 - falha na validação da licença de uso da DLL
Histórico de atualização:
- 2012-07-31 - 2Gv1.0 - Versão beta preliminar.
- 2012-09-04 - correção da codificação do tpEvento para: 0 - Confirmação da Operação e 1 - Ciência da Operação.
- 2012-09-18 - correção da codificação do tpEvento para: 2 - Registro da Operação não Realizada e 3 - Desconhecimento da Operação.
- 2012-11-18 - alteração para aceitar a omissão da dhEvento.
- 2012-12-06 - acréscimo da dica da obrigatoriedade de manifestação do destinatário.
Mensagens XML da Manifestação do Destinatário - versão 1.00:
Evento 210200 Confirmacao da Operacao
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <idLote>000000013199200</idLote> <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <infEvento Id="ID2102003511051014278500019055111000000013199881790001"> <cOrgao>43</cOrgao> <tpAmb>2</tpAmb> <CNPJ>10142785000190</CNPJ> <chNFe>35110510142785000190551110000000131998817900</chNFe> <dhEvento>2012-07-28T11:38:00-03:00</dhEvento> <tpEvento>210200</tpEvento> <nSeqEvento>1</nSeqEvento> <verEvento>1.00</verEvento> <detEvento versao="1.00"> <descEvento>Confirmacao da Operacao</descEvento> </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="#ID2102003511051014278500019055111000000013199881790001"> <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>dIthXA85CHhUtjQHbx7bzDijdwM=</DigestValue> </Reference> </SignedInfo> <SignatureValue>HXCGIApCPfL7H/d+y/Lyuc0(...)hfXvSly/Z/mf4yr88+6mR+D48=</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIFtDCCBJygAwIBAg(...)AhA0oDjO/oaDeEC</X509Certificate> </X509Data> </KeyInfo> </Signature> </evento> </envEvento>
Evento 210210 Ciencia da Operacao
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <idLote>000000013199210</idLote> <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <infEvento Id="ID2102103511051014278500019055111000000013199881790001"> <cOrgao>43</cOrgao> <tpAmb>2</tpAmb> <CNPJ>10142785000190</CNPJ> <chNFe>35110510142785000190551110000000131998817900</chNFe> <dhEvento>2012-07-28T11:38:00-03:00</dhEvento> <tpEvento>210210</tpEvento> <nSeqEvento>1</nSeqEvento> <verEvento>1.00</verEvento> <detEvento versao="1.00"> <descEvento>Ciencia da Operacao</descEvento> </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="#ID2102103511051014278500019055111000000013199881790001"> <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>zKwatGmmFYDmt8/znhNTrQ7N+zY=</DigestValue> </Reference> </SignedInfo> <SignatureValue>qdarzgZLK8L6xcgZPH+cV04e(...)cwN9d8T5hRYZP2xCT6q5I=</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIFtDCCBJygAwIBAg(...)AhA0oDjO/oaDeEC</X509Certificate> </X509Data> </KeyInfo> </Signature> </evento> </envEvento>
Evento 210220 Desconhecimento da Operacao
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <idLote>000000013199220</idLote> <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <infEvento Id="ID2102203511051014278500019055111000000013199881790001"> <cOrgao>43</cOrgao> <tpAmb>2</tpAmb> <CNPJ>10142785000190</CNPJ> <chNFe>35110510142785000190551110000000131998817900</chNFe> <dhEvento>2012-07-28T11:38:00-03:00</dhEvento> <tpEvento>210220</tpEvento> <nSeqEvento>1</nSeqEvento> <verEvento>1.00</verEvento> <detEvento versao="1.00"> <descEvento>Desconhecimento da Operacao</descEvento> </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="#ID2102203511051014278500019055111000000013199881790001"> <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>i14NhSeURLA0nwgHELYQ2c5cSkE=</DigestValue> </Reference> </SignedInfo> <SignatureValue>qAmVM8C9yrRB8JBvp3IuUhYSj(...)p0JAfyuiWlruEbJ5/BUfUM=</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIFtDCCBJygAwIBAg(...)AhA0oDjO/oaDeEC</X509Certificate> </X509Data> </KeyInfo> </Signature> </evento> </envEvento>
Evento 210240 Operacao nao Realizada
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <idLote>000000013199240</idLote> <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <infEvento Id="ID2102403511051014278500019055111000000013199881790001"> <cOrgao>43</cOrgao> <tpAmb>2</tpAmb> <CNPJ>10142785000190</CNPJ> <chNFe>35110510142785000190551110000000131998817900</chNFe> <dhEvento>2012-07-28T11:38:00-03:00</dhEvento> <tpEvento>210240</tpEvento> <nSeqEvento>1</nSeqEvento> <verEvento>1.00</verEvento> <detEvento versao="1.00"> <descEvento>Operacao nao Realizada</descEvento> <xJust>Mercadoria perdida em sinistro no transporte</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="#ID2102403511051014278500019055111000000013199881790001"> <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>ulEMHcpTxIVvqR03y3gLAz1gz9o=</DigestValue> </Reference> </SignedInfo> <SignatureValue>ZaFwzfBZsx+dUdhxrk8g0Uf(...)4oOJ+VKDy9edq+I63q/8E=</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIFtDCCBJygAwIBAg(...)AhA0oDjO/oaDeEC</X509Certificate> </X509Data> </KeyInfo> </Signature> </evento> </envEvento>
Mensagens XML de resposta do WS da SEFAZ - versão 1.00:
retEnvEvento Resposta de Evento Registrado
<retEnvEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <idLote>000002002154210</idLote> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>128</cStat> <xMotivo>Lote de Evento Processado</xMotivo> <retEvento versao="1.00"> <infEvento Id="ID143120001872811"> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>135</cStat> <xMotivo>Evento registrado e vinculado a NF-e</xMotivo> <chNFe>43120593282481000156550030000020021542582062</chNFe> <tpEvento>210210</tpEvento> <nSeqEvento>1</nSeqEvento> <CNPJDest>10142785000190</CNPJDest> <dhRegEvento>2012-05-07T11:46:46-03:00</dhRegEvento> <nProt>143120001872811</nProt> </infEvento> </retEvento> </retEnvEvento>
retEnvEvento Resposta do WS Rejeição 494
<retEnvEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <idLote>000000013199240</idLote> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>128</cStat> <xMotivo>Lote de Evento Processado</xMotivo> <retEvento versao="1.00"> <infEvento> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>494</cStat> <xMotivo>Rejeicao: Chave de Acesso inexistente</xMotivo> <chNFe>35110510142785000190551110000000131998817900</chNFe> <tpEvento>210240</tpEvento> <nSeqEvento>1</nSeqEvento> <dhRegEvento>2012-07-28T11:47:37-03:00</dhRegEvento> </infEvento> </retEvento>
<retEnvEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <idLote>000088420100200</idLote> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>128</cStat> <xMotivo>Lote de Evento Processado</xMotivo> <retEvento versao="1.00"> <infEvento> <tpAmb>2</tpAmb> <verAplic>RS20110530105153</verAplic> <cOrgao>43</cOrgao> <cStat>573</cStat> <xMotivo>Rejeicao: Duplicidade de Evento</xMotivo> <chNFe>42120473681975000104550000000884201000774208</chNFe> <tpEvento>210200</tpEvento> <nSeqEvento>1</nSeqEvento> <dhRegEvento>2012-05-07T16:04:05-03:00</dhRegEvento> </infEvento> </retEvento> </retEnvEvento>
Importante
Os XML acima foram identados para uma melhor visualização, a mensagem original não tem formatação.
Exemplos de uso:
Delphi 7
uses (...), ComCtrls, ComObj; // acrescentar ComCtrls e ComObj no use da unit procedure TForm1.btManifestDestClick(Sender: TObject); var //-------------------------------------------------------------------------------------- // // Funcionalidade para a Manifestação do Destinatário // // //-------------------------------------------------------------------------------------- objNFeUtil: OleVariant; // declarar a interface da DLL //-------------------------------------------------------------------------------------- // DECLARAÇÃO DE PARÂMETROS DE ENTRADA DA FUNCIONALIDADE //-------------------------------------------------------------------------------------- siglaWS: widestring; // sigla do WS: AN para Ambiente Nacional ou RS tipoAmbiente: integer; // Ambiente: 1-Produção e 2-Homologação nomeCertificado: widestring; // campo assunto do certificado digital versao: widestring; // versão= 1.00 chaveNFe: widestring; // chave de acesso da NF-e objeto da manifestação CNPJAutor: widestring; // CNPJ do Autor da manifestação dhEvento: widestring; // data e hora do evento tpEvento: integer; // 0 - Confirmação da Operação, // 1 - Ciência da Operação, // 2 - Desconhecimento da Operação, // 3 - Operação não Realizada xJust: widestring; // justificativa da não realização da operação proxy: widestring; // IP e porta do proxy, informar se existir proxy usuario: widestring; // usuario do proxy senha: widestring; // senha do proxy licenca: widestring; // licenca de uso, necessário informar para produção //-------------------------------------------------------------------------------------- // DECLARAÇÃO DE PARÂMETROS DE RETORNO DA FUNCIONALIDADE //-------------------------------------------------------------------------------------- msgDados: widestring; // retorna o XML enviado ao WS msgRetWS: widestring; // retorna o XML de resposta do WS cStat:integer; // retorna o código do resultado da chamada msgResultado: widestring; // retorna o literal do resultado da chamada nroProtocolo: widestring; // retorna o número do protocolo do registro do evento dhProtocolo: widestring; // retorna a data e hora de registro do evento procEvento: widestring; // retorna o XML do procEvento begin //-------------------------------------------------------------------------------------- // INICIALIZAÇÃO DE PARÂMETROS //-------------------------------------------------------------------------------------- siglaWS := 'RS'; tipoAmbiente := 2; nomeCertificado := 'CN=M R M KATO ASAKURA - EPP:69621187915, OU=AC CAIXA PJ-1 V1, OU=Caixa Economica Federal, O=ICP-Brasil, C=BR'; versao := '1.00'; msgDados := ''; msgRetWS := ''; cStat := 0; msgResultado := ''; chaveNFe := '35120571702716000774550020005977941051682119'; CNPJAutor := '10142785000190'; dhEvento := FormatDateTime('yyyy-mm-dd "" hh:mm:ss', Now); tpEvento := 0; xJust := ''; nroProtocolo := ''; dhProtocolo := ''; proxy := ''; usuario := ''; senha := ''; licenca := ''; procEvento := ''; //-------------------------------------------------------------------------------------- // instancia classe //-------------------------------------------------------------------------------------- objNFeUtil := CreateOleObject('NFe_Util_2G.util'); //-------------------------------------------------------------------------------------- // chama funcionalidade // // 135 - Evento registrado e vinculado a NF-e // 136 - Evento registrado, mas nao vinculado a NF-e // //-------------------------------------------------------------------------------------- procEvento := objNFeUtil.EnviaManDest(siglaWS, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, cStat, msgResultado, chaveNFe, CNPJAutor, dhEvento, tpEvento, xJust, nroProtocolo, dhProtocolo, proxy, usuario, senha, licenca); MessageDlg( msgResultado + chr(13)+chr(13)+ procEvento, mtInformation, [mbOk], 0); end;
Visual Basic 6.0
'-------------------------------------------------------------------------------------- ' ' Funcionalidade para a Manifestação do Destinatário ' '-------------------------------------------------------------------------------------- ' DECLARAÇÃO DE PARÂMETROS DE ENTRADA DA FUNCIONALIDADE '-------------------------------------------------------------------------------------- Dim siglaWS As String ' sigla do WS: AN para Ambiente Nacional ou RS Dim tipoAmbiente As Long ' Ambiente: 1-Produção e 2-Homologação Dim nomeCertificado As String ' campo assunto do certificado digital Dim versao As String ' versão= 1.00 Dim chaveNFe As String ' chave de acesso da NF-e objeto da manifestação Dim CNPJAutor As String ' CNPJ do Autor da manifestação Dim dhEvento As String ' data e hora do evento Dim tpEvento As Long ' 0 - Confirmação da Operação, ' 1 - Ciência da Operação, ' 2 - Desconhecimento da Operação, ' 3 - Operação não Realizada Dim xJust As String ' justificativa da não realização da operação Dim proxy As String ' IP e porta do proxy, informar se existir proxy Dim usuario As String ' usuario do proxy Dim senha As String ' senha do proxy Dim licenca As String ' licenca de uso, necessário informar para produção '-------------------------------------------------------------------------------------- ' DECLARAÇÃO DE PARÂMETROS DE RETORNO DA FUNCIONALIDADE '-------------------------------------------------------------------------------------- Dim msgDados As String ' retorna o XML enviado ao WS Dim msgRetWS As String ' retorna o XML de resposta do WS Dim cStat As Long ' retorna o código do resultado da chamada Dim msgResultado As String ' retorna o literal do resultado da chamada Dim nroProtocolo As String ' retorna o número do protocolo do registro do evento Dim dhProtocolo As String ' retorna a data e hora de registro do evento Dim procEvento As String ' retorna o XML do procEvento '-------------------------------------------------------------------------------------- ' INICIALIZAÇÃO DE PARÂMETROS '-------------------------------------------------------------------------------------- siglaWS = "RS" tipoAmbiente = 2 nomeCertificado = "CN=M R M KATO ASAKURA - EPP:69621187915, OU=AC CAIXA PJ-1 V1, OU=Caixa Economica Federal, O=ICP-Brasil, C=BR" versao = "1.00" msgDados = "" msgRetWS = "" cStat = 0 msgResultado = "" chaveNFe = "35120571702716000774550020005977941051682119" CNPJAutor = "10142785000190" dhEvento = Format$(Now, "yyyy-mm-dd HH:mm:ss") tpEvento = 0 xJust = "" nroProtocolo = "" dhProtocolo = "" proxy = "" usuario = "" senha = "" licenca = "" procEvento = "" '-------------------------------------------------------------------------------------- ' instancia classe '-------------------------------------------------------------------------------------- Dim objNFeUtil As Object Set objNFeUtil = CreateObject("NFe_Util_2G.util") '-------------------------------------------------------------------------------------- ' chama funcionalidade ' ' 135 - Evento registrado e vinculado a NF-e ' 136 - Evento registrado, mas nao vinculado a NF-e ' '-------------------------------------------------------------------------------------- procEvento = objNFeUtil.EnviaManDest(siglaWS, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, cStat, msgResultado, chaveNFe, CNPJAutor, dhEvento, tpEvento, xJust, nroProtocolo, dhProtocolo, proxy, usuario, senha, licenca) MsgBox msgResultado & vbCrLf & vbCrLf & procEvento, vbInformation, "Resultado" '-------------------------------------------------------------------------------------- ' libera classe '-------------------------------------------------------------------------------------- Set objNFeUtil = Nothing
xBase
CLEAR &&-------------------------------------------------------------------------------------- && && Funcionalidade para a Manifestação do Destinatário && &&-------------------------------------------------------------------------------------- && DECLARAÇÃO DE PARÂMETROS DE ENTRADA DA FUNCIONALIDADE &&-------------------------------------------------------------------------------------- Local siglaWS As String && sigla do WS: AN para Ambiente Nacional ou RS 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 objeto da manifestação Local CNPJAutor As String && CNPJ do Autor da manifestação Local dhEvento As String && data e hora do evento Local tpEvento As Long && 0 - Confirmação da Operação, && 1 - Ciência da Operação, && 2 - Desconhecimento da Operação, && 3 - Registro da Operação não Realizada Local xJust As String && justificativa da não realização da operação 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 Local nroProtocolo As String && retorna o número do protocolo do registro do evento Local dhProtocolo As String && retorna a data e hora de registro do evento Local procEvento As String && retorna o XML do procEvento &&-------------------------------------------------------------------------------------- && INICIALIZAÇÃO DE PARÂMETROS &&-------------------------------------------------------------------------------------- siglaWS = "RS" tipoAmbiente = 2 nomeCertificado = "CN=M R M KATO ASAKURA - EPP:69621187915, OU=AC CAIXA PJ-1 V1, OU=Caixa Economica Federal, O=ICP-Brasil, C=BR" versao = "1.00" msgDados = "" msgRetWS = "" cStat = 0 msgResultado = "" chaveNFe = "35120571702716000774550020005977941051682119" CNPJAutor = "10142785000190" dhEvento = "2012-07-31 15:00:00" tpEvento = 0 xJust = "" nroProtocolo = "" dhProtocolo = "" proxy = "" usuario = "" senha = "" licenca = "" procEvento = "" &&-------------------------------------------------------------------------------------- && instancia classe &&-------------------------------------------------------------------------------------- Local objNFeUtil As Object objNFeUtil = CREATEOBJECTEX("NFe_Util_2G.Util","","") &&-------------------------------------------------------------------------------------- && chama funcionalidade && && 135 - Evento registrado e vinculado a NF-e && 136 - Evento registrado, mas nao vinculado a NF-e &&-------------------------------------------------------------------------------------- procEvento = objNFeUtil.EnviaManDest(siglaWS, tipoAmbiente, nomeCertificado, versao, @msgDados, @msgRetWS, @cStat, @msgResultado, chaveNFe, CNPJAutor, dhEvento, tpEvento, xJust, @nroProtocolo, @dhProtocolo, proxy, usuario, senha, licenca) ? msgResultado ? procEvento &&-------------------------------------------------------------------------------------- && libera classe &&-------------------------------------------------------------------------------------- objNFeUtil = null
- 12.7.2. Manifestação do Destinatário [26-08-18]
12.7. Eventos da NF-e - « Anterior
12.7.1. Carta de Correção [15-08-17] - Próximo »
12.7.3. Manifestação do Destinatário 2 [03-06-24]