12.7.6. Recibo Entrega [01-06-21]
12.7.6.1. Recibo Entrega [01-06-21]
12.7.6. Recibo Entrega [01-06-21]
« Anterior
12.7.6.1.1. encode base64 [01-06-21]
Próximo »

12.7.6.1. Recibo Entrega [01-06-21]

Sumário

Evento Comprovante de Entrega da NF-e - Nota Técnica 2021.001

Assinatura

string EnviaCENFE(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveNFe, string dhEvento, int nroCENFe, string verAplic, string dhEntrega, string nDoc, string xNome, double latGPS_Opc, double longGPS_Opc, string hashComprovante, string dhHashComprovante, out string nroProtocolo, out string dhProtocolo, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade informar o nome e documento de indentificação do recebedor da mercadoria, coordenadas geográficas do ponto de entrega e o hash SHA1 da concatenação da chave de acesso da NF-e com a imagem capturada.

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla do WS desejado, este evento é recepcionado somente pelo "AN"
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 carta de correção 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 que o evento será vinculado
dhEvento string entrada informar a data e hora do evento 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]
nroCENFe inteiro entrada informar o número sequencial do evento, deve ser iniciada com 1 e valor máximo é 20, campo de controle do usuário, o Web Service não permite a duplicidade de numeração e nem controla a ordem crescente.
verAplic string entrada informar a Versão do aplicativo do Autor do Evento.
dhEntrega string entrada informar a data e hora final da entrega 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")
nDoc string entrada informar o documento de identificação da pessoa que assinou o comprovante de entrega da NF-e
xNome string entrada informar o nome da pessoa que assinou o comprovante de entrega da NF-e
latGPS_Opc double entrada informar a latitude do ponto de entrega, informação opcional.
longGPS_Opc double entrada informar a longititude do ponto de entrega, informação opcional.
hashComprovante string entrada informar o Hash SHA-1, no formato Base64, resultante da concatenação de: Chave de Acesso da NF-e + Base64 da imagem capturada do Comprovante de Entrega da NF-e.
dhHashComprovante string entrada informar data e hora da geração do hash do comprovante de entrega da NF-eno 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").
nProtocolo string saída retorna o número do protocolo de registro do Evento.
dhProtocolo string saída retorna a data e hora de registro do Evento, a data passou a ser 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 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 EnviaCENFE é a mensagem XML composta pelo comprovante de entrega e respectivo protocolo de homologação de vinculação de evento.

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 -
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 do parâmetro] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [conteúdo do parâmetro] DLL -
6104 Erro: O parâmetro chaveNFe não informado DLL -
6105 Erro: O tamanho [tamanho da chave da NFe] do parâmetro chaveNFe informado não tem 44 caracteres DLL -
6106 Erro: As posições correspondentes (1,2) ao código da UF [valor] 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: [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 -
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 -
6220 Erro: O parâmetro nroCENFe deve ser informado DLL -
6221 Erro: O parâmetro nroCENFe informado: [conteúdo do parâmetro] fora da faixa permitida 1-99 DLL -
6222 Erro: O parâmetro versão do aplicativo do autor do Evento (verAplic) deve ser informado DLL -
6223 Erro: O parâmetro versão do aplicativo do autor do Evento (verAplic) deve ter no máximo 20 caracteres [conteúdo do parâmetro] DLL -
6224 Erro: O parâmetro data e hora do final da entrega (dhEntrega) inválida: [conteúdo do parâmetro] DLL -
6225 Erro: O parâmetro documento de identificação da pessoa que recebeu a entrega (nDoc) deve ser informado DLL -
6226 Erro: O parâmetro documento de identificação da pessoa que recebeu a entrega (nDoc) deve ter pelo menos 2 caracteres [conteúdo do parâmetro] DLL -
6227 Erro: O parâmetro documento de identificação da pessoa que recebeu a entrega (nDoc) deve ter no máximo 20 caracteres [conteúdo do parâmetro] DLL -
6228 Erro: O parâmetro nome da pessoa que recebeu a entrega (xNome) deve ser informado DLL -
6229 Erro: O parâmetro nome da pessoa que recebeu a entrega (xNome) deve ter pelo menos 2 caracteres [conteúdo do parâmetro] DLL -
6230 Erro: O parâmetro nome da pessoa que recebeu a entrega (xNome) deve ter no máximo 60 caracteres [conteúdo do parâmetro] DLL -
6231 Erro: O parâmetro hash do Comprovante (hashComprovante) deve ser informado DLL -
6232 Erro: O parâmetro hash do Comprovante (hashComprovante) deve ter 28 caracteres: [conteúdo do parâmetro] DLL -
6233 Erro: O parâmetro data da geração do hash do Comprovante (dhHashComprovante) inválida: [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: [conteúdo do parâmetro] 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 -
12.7.6.1. Recibo Entrega [01-06-21]
12.7.6. Recibo Entrega [01-06-21]
« Anterior
12.7.6. Recibo Entrega [01-06-21]
Próximo »
12.7.6.1.1. encode base64 [01-06-21]