EnviaLoteV3

Skip to main content
Print

Envia Lote de NF-e da versão 3.x/4.00

int EnviaLoteV3(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, string msgDados, int GZip, out string msgRetWS, out string msgResultado, out string nRec, out string dhRecbto, out string tMed, string proxy, string usuario, string senha, string licenca)

Funcionalidade para transmissão de lote de NF-e para o web service da SEFAZ identificada no parâmetro siglaWS.

PREENCHIMENTO DA siglaWS PARA ESCOLHA DO WEBSERVICE

• SVAN, caso a UF seja usuária da SEFAZ Virtual do Ambiente Nacional (MA);

• SVRS, caso a UF seja usuária da SEFAZ Virtual do Rio Grande do Sul (AC, AL, AP, DF, ES, PA, PB, PI, RJ, RN, RO, RR, SC, SE e TO);

• sigla da UF, caso a UF tenha aplicação própria (AM, BA, CE, GO, MS, MT, MG, PE, PR, RS e SP);

PRENCHIMENTO 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 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.

nometipofluxodescrição
siglaWSstringentradainformar a sigla do WS de envio, veja Tabela de siglaWS
tipoAmbienteinteiroentradainformar o código do ambiente desejado: 1- produção ou 2-homologação
NomeCertificadostringentradainformar 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”.
versaostringentradainformar a versão da mensagem do WS – 4.00.
msgDadosstringentrada/saídainformar a string com o lote da NFC-e neste parâmetro, retorna a mensagem XML enviada para o WS.
GZipintentradainformar o indicador de compactação da mensagem XML: 0 – não compactado, 1 – compactado.
msgRetWSstringsaídaretorna a mensagem XML de resposta do WS
msgResultadostringsaídaretorna a literal do resultado da chamada do WS
nRecstringsaídaretorna o número do recibo do lote atribuído ao lote pela SEFAZ, este será utilizado para consultar o resultado do processamento do lote.
dhRecbtostringsaídaretorna a data e hora de recebimento do lote pela SEFAZ.
tMedstringsaídaretorna o tempo médio de resposta do serviço em segundos dos últimos 5 minutos.
proxystringentradainformar ‘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’
usuariostringentradainformar o usuário para autenticação no proxy se necessário
senhastringentradainformar a senha de autenticação no proxy se necessário
licencastringentradainformar 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

O resultado da chamada do EnviaLoteV3 é o código numérico que retorna como resultado da chamada com os seguintes significados:

códigoMensagemorigemregra
5001Erro: 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–
5002Erro: 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–
5003Erro: 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–
5004Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido)DLL–
5005Erro: 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–
5006Erro: 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–
5007Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida)DLL–
5008Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas)DLL–
5009Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado)DLL–
5010Erro: 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–
5011Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível)DLL–
5012Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportadaDLL–
5013Erro: 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–
5014Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida)DLL–
5015Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] – [MENSAGEM DE ERRO DO WINDOWS]DLL–
5016Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS]DLL–
5017Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS]DLL–
5101Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS]DLL–
5102Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS]DLL–
5103Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS]DLL–
5104Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS]DLL–
5105Erro: O WS não devolveu nenhum resultadoDLL–
5201Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 – produção e 2 – homologaçãoDLL–
5202Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválidaDLL–
5203Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível.DLL–
5204Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO]DLL–
5205Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS]DLL–
5206Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS]DLL–
5403Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS]DLL–
5404Erro: Nenhum certificado digital selecionadoDLL
5405Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser]DLL–
5406Erro: Falha no tratamento do parâmetro nome: [nome informado]DLL–
5407Erro: Quantidade de parâmetos inválido: [nome informado]DLL–
5408Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS]DLL–
6101Erro: O parâmetro versao não foi informadoDLL–
6102Erro: O conteúdo do parâmetro sigla da UF: [CONTEÚDO] é inválidoDLL–
6103Erro: O conteúdo do parâmetro versao informado é inválido: [CONTEUDO]DLL– –
6110Erro: O nome do titular do certificado deve ser informadoDLL–
6123Erro: O parâmetro tipoAmbiente deve ser informadoDLL–
6124Erro: O parâmetro tipoAmbiente [CONTEUDO] deve ser 1 ou 2DLL–
6141Erro: O parâmetro siglaWS deve ser informadoDLL–
7001Erro: A licença não foi informadaDLL–
7002Erro: A licença informada: [CONTEUDO] tem tamanho:[TAMANHO] diferente de 128DLL–
7003Erro: A licença informada: [CONTEUDO] não pertence ao CNPJ:[TAMANHO]DLL–
103Lote recebido com sucessoWS–
108Serviço Paralisado Momentaneamente (curto prazo)WSB03
109Serviço Paralisado sem PrevisãoWSB04
213Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado DigitalWSF02
214Rejeição: Tamanho da mensagem excedeu o limite estabelecidoWSB01
225Rejeição: Falha no schema XMLWSD01
238Rejeição: Cabeçalho – Versão do arquivo XML superior a Versão vigenteWSC05
239Rejeição: Cabeçalho – Versão do arquivo XML não suportadaWSC06
242Rejeição: Cabeçalho – Falha no Schema XMLWSC01
243Rejeição: XML Mal FormadoWSB02
280Rejeição: Certificado Transmissor inválidoWSA01
281Rejeição: Certificado Transmissor Data ValidadeWSA02
282Rejeição: Certificado Transmissor sem CNPJWSA07
283Rejeição: Certificado Transmissor – erro Cadeia de CertificaçãoWSA03
284Rejeição: Certificado Transmissor revogadoWSA05
285Rejeição: Certificado Transmissor difere ICP-BrasilWSA06
286Rejeição: Certificado Transmissor erro no acesso a LCRWSA04
290Rejeição: Certificado Assinatura inválidoWSE01
291Rejeição: Certificado Assinatura Data ValidadeWSE02
292Rejeição: Certificado Assinatura sem CNPJWSE03
293Rejeição: Certificado Assinatura – erro Cadeia de CertificaçãoWSE04
294Rejeição: Certificado Assinatura revogadoWSE06
295Rejeição: Certificado Assinatura difere ICP-BrasilWSE07
296Rejeição: Certificado Assinatura erro no acesso a LCRWSE05
297Rejeição: Assinatura difere do calculadoWSF02
298Rejeição: Assinatura difere do padrão do ProjetoWSF01
299Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8WSC01a
402Rejeição: XML da área de dados com codificação diferente de UTF-8WSD03
404Rejeição: Uso de prefixo de namespace não permitidoWSD02
409Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP HeaderWSC02
410Rejeição: UF informada no campo cUF não é atendida pelo Web ServiceWSC03
411Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP HeaderWSC04
565Rejeição: Falha no schema XML – inexiste a tag raiz esperada para a mensagemWSD01a
568Rejeição: Falha no schema XML – inexiste atributo versao na tag raiz da mensagemWSD02a
567Rejeição: Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão da mensagemWSD01c
587Rejeição: Usar somente o namespace padrão da NF-eWSD01d
588Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagemWSD01e
595Rejeição: Versão de leiaute da NF-e utilizada não é mais válidaWSGB09.02
596Rejeição: Ambiente de homologação indisponível para recepção de NF-e da versão 1.10.WSGB09.03
999Rejeição: Erro não catalogado (mensagem)WS–
Finalidade do nREC – número do recibo do lote

O nRec – número do recibo do lote não é o protocolo de autorização. É um número que a SEFAZ atribui ao lote recebido, sendo necessário para consultar o resultado do processamento do lote.

Número do Recibo do Lote é número de 15 dígitos com o seguinte significado:

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)
  • 5403 – 5408 – falha no acesso ao certificado digital
  • 5201 – 5206 – falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
  • 6101 – 6141 – falha no tratamento dos parâmetros da chamada da DLL
  • 7001 – 7003 – falha na validação da licença

Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
How Can We Improve This Article?
Sumário