4. Web Service do MDF-e 07-09-18
4.13. Consulta MDF-e não Encerrada 07-09-18
4.12. Inclui Pgto Operação 09-03-22
« Anterior
4.14. Distribuição de DF-e
Próximo »

4.13. Consulta MDF-e não Encerrada 07-09-18

Consultar MDF-e emitidas por um CNPJ e ainda não encerradas.

Atualizado para aceitar emissor PF (NT 2018/002)

Agora é possível que Pessoa Física com Inscrição Estadual emita o MDF-e.

Assinatura

string ConsMDFeNaoEnc(string siglaWS, string siglaUF, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int resultado, out string msgResultado, string CNPJ, string cUF, int qtdeMDFe, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade para Consultar MDF-e emitidas por um CNPJ e ainda não encerradas.

O Web Service permite consultar os MDF-e que ainda não foram encerrados para um CNPJ emissor, o Web Service respode se existem MDF-e não encerrados, devolvendo uma lista de chave de acesso do MDF-e e respectivos nProt.

Parâmetros da chamada:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla "RS".
siglaUF string entrada informar a sigla da UF de localização do emissor do MDF-e.
tipoAmbiente inteiro entrada informar o código do ambiente que será processado o evento de inclusao de condutor:
1- produção ou 2-homologação
nomeCertificado string entrada informar nome do titular do certificado a ser utilizado na assinatura e conexão SSL com o WS:
É permitido o uso do certificado digital que tenha o mesmo CNPJ base (oito primeiros dígitos do CNPJ) do emissor do MDF-e.
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: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto;
3. 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".
4. 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".
versao string entrada informar a versão da mensagem do WS: "1.00" ou "3.00"
msgDados string saída retorna a mensagem XML do evento de inclusão de condutor que foi enviado ao WS.
msgRetWS string saída retorna a mensagem XML de resposta do WS
resultado inteiro saída retorna o resultado do processamento do evento de inclusão de condutor, veja a tabela de retorno.
Teremos o retorno do código 112 quando não exitirem MDF-e não encerrados e código 111 quando existirem MDF-e não encerrados que serão devolvidos como resposta da chamada.
O retorno de código diferente de 111 e 112 significa que houve algum problema no processamento da consulta de MDF-e não encerrados.
msgResultado string saída retorna a literal do resultado da chamada do WS
CNPJ string entrada informar o CNPJ ou CPF do emissor do MDF-e que desejamos consultar, deve ser informado com 14 ou 11 dígitos07-09-18
cUF string saída retorna o cUF (código da UF) da UF que atendeu a solicitação.
qtdeMDFe inteiro saída retorna a quantidade de MDF-e que não estão encerrados.
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 ou registro, para maiores detalhes veja as condições de uso

XML do Retorno da chamada:

Quando existirem MDF-e não encerrados para o CNPJ consultado (resultado=111), a DLL vai devolver um TXT com uma linha por MDF-e contendo a chave de acesso do MDF-e e respectivo protocolo autorização de uso.

Exemplo de retorno, um MDF-e por linha, cada linha tem uma chave de acesso e protocolo de autorização de uso separado por pipe (|)

35140110142785000190580010000000121880044007|935140000005944
35140110142785000190580010000000131880055005|935140000005945
35140110142785000190580010000000141880066003|935140000005946

Tabela de códigos de Retorno do parâmetro resultado:

código Mensagem origem regra
5101 Erro: A mensagem de retorno do WS não é um XML válido: [mensagem de retorno] DLL -
5102 Erro: Tag cStat inexistente na mensagem de retorno [mensagem de erro] DLL -
5103 Erro: Tag xMotivo inexistente na mensagem de retorno [mensagem de erro] DLL -
5104 Erro: Tag [nome tag] inexistente na mensagem de retorno [mensagem de erro] DLL -
5105 Erro: O WS não devolveu nenhum resultado DLL -
5201 Erro: O código do tipo de ambiente [tipo de ambiente 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 informado] 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 aplicação] DLL -
5205 Erro: Ocorreu um erro inesperado no processamento da URL (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âmetros inválido: [nome informado] DLL -
5408 Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] DLL -
6801 Erro: O parâmetro siglaWS deve ser informado DLL -
6802 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6803 Erro: O parâmetro tipoAmbiente [valor Informado] deve ser 1 ou 2 DLL -
6804 Erro: O nome do titular do certificado deve ser informado DLL -
6805 Erro: O parâmetro siglaUF deve ser informado DLL -
6806 Erro: O conteúdo do parâmetro CNPJ: [] deve ser informado DLL -
6807 Erro: O conteúdo do parâmetro CNPJ: [valor Informado] deve ter 14 digitos DLL -
6808 Erro: O parâmetro versao não foi informado DLL -
6809 Erro: O conteúdo do parâmetro versao informado é inválido: [valor Informado], a DLL espera: [valor Esperado] DLL -
6810 Erro: O conteúdo do parâmetro sigla da UF: [valor Informado] é inválido DLL -
7001 Erro: A licença não foi informada [Identificação da versão da DLL em uso] DLL -
7002 Erro: A licença informada: [valor informado] tem tamanho:[tamanho] diferente de 128 - [Identificação da versão da DLL em uso] DLL -
7003 Erro: A licença informada: [valor informado] não pertence ao CNPJ:[valor informado] [Identificação da versão da DLL em uso] DLL -
111 MDF-e não encerrados localizados WS -
112 MDF-e não encerrados não localizados WS -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
203 Rejeição: Emissor nao habilitado para emissao do MDF-e WS L05
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
215 Rejeição: Falha no schema XML WS D01
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: Elemento mdfeCabecMsg inexistente no SOAP Header WS C01
243 Rejeição: XML Mal Formado WS B02
252 Rejeição: Tipo do Ambiente informado diverge do Ambiente do Web Service WS L01
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
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 mdfeCabecMsg do SOAP Header WS C02
410 Rejeição: UF informada no campo cUF não é atendida pelo WebService WS C03
411 Rejeição: Campo versaoDados inexistente no elemento mdfeCabecMsg do SOAP Header WS C04
598 Rejeicao: Usar somente o namespace padrao do MDF-e WS D02
599 Rejeicao: Nao eh permitida a presenca de caracteres de edicao no inicio/fim da mensagem ou entre as tags da mensagem WS D03


Tratamento de Erro:

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

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

Histórico de atualização:

Exemplo de XML de Evento de Consulta de MDF-e não encerrado

 
<?xml version="1.0" encoding="UTF-8"?>
<consMDFeNaoEnc xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00">
  <tpAmb>2</tpAmb>
  <xServ>CONSULTAR NÃO ENCERRADOS</xServ>
  <CNPJ>10142785000190</CNPJ>
</consMDFeNaoEnc>


Exemplo de XML de Retornos

111 - Consulta não encerrados localizou MDF-e nessa situação


<?xml version="1.0" encoding="UTF-8"?>
<retConsMDFeNaoEnc xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00">
  <tpAmb>2</tpAmb>
  <verAplic>RS20150102093257</verAplic>
  <cStat>111</cStat>
  <xMotivo>Consulta não encerrados localizou MDF-e nessa situação</xMotivo>
  <cUF>35</cUF>
  <infMDFe>
    <chMDFe>35140110142785000190580010000000121880044007</chMDFe>
    <nProt>935140000005944</nProt>
  </infMDFe>
</retConsMDFeNaoEnc>


112 - Consulta não encerrados não localizou MDF-e nessa situação


<?xml version="1.0" encoding="UTF-8"?>
<retConsMDFeNaoEnc xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00">
  <tpAmb>2</tpAmb>
  <verAplic>RS20150102093257</verAplic>
  <cStat>112</cStat>
  <xMotivo>Consulta não encerrados não localizou MDF-e nessa situação</xMotivo>
  <cUF>35</cUF>
</retConsMDFeNaoEnc>


203 - Rejeição: Emissor nao habilitado para emissao do MDF-e


<retConsMDFeNaoEnc xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00">
  <tpAmb>1</tpAmb>
  <verAplic>RS20150102140934</verAplic>
  <cStat>203</cStat>
  <xMotivo>Rejeição: Emissor nao habilitado para emissao do MDF-e</xMotivo>
  <cUF>35</cUF>
</retConsMDFeNaoEnc>


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 do evento de inclusao de condutor criado pela DLL que foi enviado ao 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
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 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 evento: 1.00
'
' Informações da MDF-e e do condutor que será incluido
'
Dim siglaUF As String         ' informar a sigla do UF do emissor
Dim CNPJ As String            ' informar o CNPJ do condutor com 14 digitos

'
' Retorno da DLL
'
Dim cStat As Long             ' retorna o resultado da chamada do WS
Dim qtdeMDFe                  ' retorna a quantide de MDF-e não encerrados localizados pelo Web Serviço
Dim cUF                       ' retorna o código da UF do WS que atendeu a solicitação
Dim txtMDFe                   ' retorna uma lista com as chaves de acesso dos MDF-e não encerrados e respectivo protocolo de autorizao de uso
'
' exemplo de retorno, um MDF-e por linha, cada linha tem uma chave de acesso e protocolo de autorização de uso separado por pipe (|)
' 35140110142785000190580010000000121880044007|935140000005944
' 35140110142785000190580010000000131880055005|935140000005945
' 35140110142785000190580010000000141880066003|935140000005946

 
'
' 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
'
' chave da licença de uso, vinculado ao CNPJ do emissor
'
Dim licenca As String         ' 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 ou registro, para maiores detalhes veja as condições de uso
'
' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicialiazadas
'
'
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 do evento de inclusao de condutor criado pela DLL que foi enviado ao WS - util para identificar problemas
msgRetWS = ""                 ' retorna a mensagem XML de resposta do WS - util para identificar problemas
'
'
'
licenca = "" ' 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 ou registro, para maiores detalhes veja as condições de uso
'
' prepara variáveis
'
nomeCertificado = "CN=M R M KATO ASAKURA EIRELI EPP:69621187915, OU=AC CAIXA PJ v2, OU=Caixa Economica Federal, O=ICP-Brasil, C=BR"
' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
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 = "1.00"  ' informar a versão da mensagem do WS
siglaUF = "SP"   ' inforamr a sigla da UF do emissor do MDF-e
CNPJ = "10142785000190" ' informar o CNPJ do emissor do MDF-e
'
' Retorno da DLL
'
cStat = 0         ' retorna o resultado da chamada do WS
qtdeMDFe = 0      ' retorna a quantide de MDF-e não encerrados localizados pelo Web Serviço
cUF = ""          ' retorna o código da UF do WS que atendeu a solicitação
'
Dim objMDFeUtil As Object
 
Set objMDFeUtil = CreateObject("MDFe_Util.Util")
 
'
'
Screen.MousePointer = vbHourglass ' ampulheta
'

txtMDFe = objMDFeUtil.ConsMDFeNaoEnc(siglaWS, _
                                     siglaUF, _
                                     tipoAmbiente, _
                                     nomeCertificado, _
                                     versao, _
                                     msgDados, _
                                     msgRetWS, _
                                     cStat, _
                                     msgResultado, _
                                     CNPJ, _
                                     cUF, _
                                     qtdeMDFe, _
                                     proxy, _
                                     usuario, _
                                     senha, _
                                     licenca)
'
'
Screen.MousePointer = vbDefault ' normal
'
' analisar o retorno do WS, se cStat:
'
'     111 - MDF-e não encerrados localizados, tratar txtMDFe que vai retornar um MDF-e por linha, cada linha tem uma chave de acesso e protocolo de autorização de uso separado por pipe (|)
'
'             35140110142785000190580010000000121880044007|935140000005944
'             35140110142785000190580010000000131880055005|935140000005945
'             35140110142785000190580010000000141880066003|935140000005946
'
'    112 - MDF-e não encerrados não localizados, não existe MDF-e não encerrado
'
'    outros - ocorreu algum erro no processamento da chamada, procure guardar o msgDados, msgRetWS e msgResultado, pois eles serão úteis para identificação do problemas.
'
' mostra mensagem XML da mensagem de retorno do WS
'
MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da chamada do Web Service"
 
'
' mostra lista de MDF-e
'

MsgBox txtMDFe, vbInformation, "Lista de MDF-e não encerrados"
4.13. Consulta MDF-e não Encerrada 07-09-18
4. Web Service do MDF-e 07-09-18
« Anterior
4.12. Inclui Pgto Operação 09-03-22
Próximo »
4.14. Distribuição de DF-e