Web Service - MDFeDistribuicaoDFe
1. Visão Geral do Serviço
- Função: distribuição de informações de documentos fiscais eletrônicos de interesse de um ator, pessoa física ou jurídica.
- Processo: síncrono.
- Nome do Serviço:
MDFeDistribuicaoDFe. - Método:
mdfeDistDFeInteresse.
O serviço permite que um ator do MDF-e acesse DF-e que não tenham sido gerados por ele e que sejam de seu interesse. Pode ser consumido por pessoa jurídica ou física que possua certificado digital de PJ ou PF. Para pessoa jurídica, a autenticação é realizada pelo CNPJ base, permitindo consultar estabelecimentos cujo CNPJ base seja o mesmo do certificado.
Os documentos permanecem disponíveis para distribuição por até 6 meses após a recepção pelo Ambiente Nacional do MDF-e.
2. Documentos Disponibilizados para Terceiros
| Documento |
|---|
| MDF-e |
| Evento de Cancelamento |
| Evento de Encerramento / Encerramento do Fisco |
| Evento de Inclusão de Condutor |
3. Leiaute da Mensagem de Entrada
Entrada: estrutura XML contendo a consulta do MDF-e.
Schema XML: distDFeInt_v9.99.xsd.
| # | Campo | Ele. | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| AP01 | distDFeInt | Raiz | - | - | - | - | TAG raiz. |
| AP02 | versao | A | AP01 | N | 1-1 | 2v2 | Versão do leiaute. |
| AP03 | tpAmb | E | AP01 | N | 1-1 | 1 | Identificação do Ambiente: 1 = Produção; 2 = Homologação. |
| AP04 | CNPJ | CE | AP01 | N | 1-1 | 14 | CNPJ do interessado no DF-e. |
| AP05 | CPF | CE | AP01 | N | 1-1 | 11 | CPF do interessado no DF-e. |
| AP06 | distNSU | CG | AP01 | - | 1-1 | - | Grupo para distribuir DF-e de interesse. |
| AP07 | ultNSU | E | AP06 | N | 1-1 | 1-15 | Último NSU recebido pelo ator. Se informado com zero ou com NSU muito antigo, a consulta retorna unicamente documentos recepcionados pelo Ambiente Nacional nos últimos 6 meses. |
| AP08 | consNSU | CG | AP01 | - | 1-1 | - | Grupo para consultar um DF-e a partir de um NSU específico. |
| AP09 | NSU | E | AP08 | N | 1-1 | 1-15 | Número Sequencial Único. Consulta utilizada quando o interessado identifica um NSU faltante. O Web Service retorna o documento ou informa que o NSU não existe no Ambiente Nacional. |
4. Leiaute da Mensagem de Retorno
Retorno: estrutura XML com o resultado da consulta.
Schema XML: retDistDFeInt_v9.99.xsd.
| # | Campo | Ele. | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| AR01 | retDistDFeInt | Raiz | - | - | - | - | TAG raiz da resposta. |
| AR02 | versao | A | AR01 | N | 1-1 | 2v2 | Versão do leiaute. |
| AR03 | tpAmb | E | AR01 | N | 1-1 | 1 | Identificação do Ambiente: 1 = Produção; 2 = Homologação. |
| AR04 | verAplic | E | AR01 | C | 1-1 | 1-20 | Versão do aplicativo que processou a consulta. |
| AR05 | cStat | E | AR01 | N | 1-1 | 3 | Código do status da resposta. |
| AR06 | xMotivo | E | AR01 | C | 1-1 | 1-255 | Descrição literal do status da resposta. |
| AR07 | dhResp | E | AR01 | D | 1-1 | - | Data e hora da mensagem de resposta. |
| AR08 | ultNSU | E | AR01 | N | 0-1 | 1-15 | Último NSU pesquisado no Ambiente Nacional. Se for o caso, o solicitante pode continuar a consulta a partir deste NSU. |
| AR09 | maxNSU | E | AR01 | N | 0-1 | 1-15 | Maior NSU existente no Ambiente Nacional para o CNPJ ou CPF informado. |
| AR10 | loteDistDFeInt | G | AR01 | B64 | 0-1 | - | Conjunto de informações de documentos fiscais eletrônicos de interesse da pessoa ou empresa. |
| AR11 | docZip | G | AR10 | - | 1-50 | - | Documento fiscal eletrônico compactado no padrão GZip, com tipo base64Binary. |
| AR12 | NSU | A | AR11 | N | 1-1 | 1-15 | NSU do documento fiscal. |
| AR13 | schema | A | AR11 | C | 1-1 | - | Identificação do Schema XML usado para validar o XML do campo seguinte. Identifica o tipo e a versão do documento, por exemplo: procMDFe_v3.00.xsd e procEventoMDFe_v3.00.xsd. |
5. Mensagem de Retorno Compactada
Cada documento contido na mensagem de retorno é compactado individualmente na tag docZip. A compactação reduz o tamanho da mensagem em aproximadamente 60%. A aplicação cliente deve descompactar cada documento e seguir o tratamento normal do XML resultante.
O padrão de compactação adotado é o GZip (GNU zip), implementado nas plataformas Java e .NET.
6. Descrição do Processo de Distribuição
O serviço pode ser consumido por atores autorizados ao XML, contratantes e proprietários de veículos utilizados em MDF-e quando o RNTRC do proprietário for diferente do RNTRC do emitente, desde que possuam certificado digital de PF com seu CPF ou de PJ com seu CNPJ.
O Ambiente Nacional gera um Número Sequencial Único - NSU para cada interessado. Os documentos recuperados devem formar uma sequência sem intervalos na base do interessado.
6.1. Geração do Pedido
O XML suporta duas consultas: distNSU, que distribui um conjunto a partir do último NSU recebido, e consNSU, que consulta pontualmente um NSU identificado como faltante.
6.2. Identificação do Interessado
Deve ser informado o CPF da pessoa ou o CNPJ da empresa. Uma empresa pode recuperar DF-e de qualquer estabelecimento utilizando somente um certificado digital PJ, desde que respeitado o CNPJ base.
6.3. Envio das Informações
O pedido é enviado por Web Service e exige certificado digital de PJ ou PF válido.
7. Processamento por distNSU
O Web Service gera lotes de até 50 documentos com NSU superior ao informado, em ordem crescente. O lote pode conter qualquer tipo de documento válido e seu respectivo NSU. Documentos emitidos pela própria empresa não ficam disponíveis para consulta.
Se o NSU informado for menor que o primeiro disponível, o Ambiente Nacional fornece os documentos a partir do primeiro NSU disponível. A geração dos NSU ocorre de forma assíncrona e segue a ordem cronológica de emissão ou autorização.
O retorno pode ser rejeição, cStat 137 quando nenhum documento for localizado, ou cStat 138 quando houver documentos. Se ultNSU for igual a maxNSU, a empresa deve aguardar pelo menos uma hora antes de nova solicitação de distribuição.
8. Processamento por consNSU
A consulta pontual fecha lacunas identificadas na sequência de NSU. O interessado informa o NSU desejado no método mdfeDistDFeInteresse. O retorno pode ser rejeição, cStat 137 quando o NSU não existir ou cStat 138 quando o documento for localizado.
9. Regras de Validação
9.1. Certificado Digital do Transmissor
| # | Regra de Validação | Crítica | cStat | Efeito |
|---|---|---|---|---|
| A01 | Certificado de Transmissor Inválido: inexistente na mensagem; versão diferente de 3; se informado, Basic Constraint deve ser true (não pode ser Certificado de AC); KeyUsage não define Autenticação Cliente. | Obrig. | 280 | Rej. |
| A02 | Validade do Certificado (data início e data fim). | Obrig. | 281 | Rej. |
| A03 | Verificar a Cadeia de Certificação: certificado da AC emissora não cadastrado na SEFAZ; certificado de AC revogado; certificado não assinado pela AC emissora. | Obrig. | 283 | Rej. |
| A04 | LCR do Certificado de Transmissor: falta endereço da LCR, LCR indisponível ou inválida. | Obrig. | 286 | Rej. |
| A05 | Certificado do Transmissor revogado. | Obrig. | 284 | Rej. |
| A06 | Certificado Raiz difere da ICP-Brasil. | Obrig. | 285 | Rej. |
| A07 | Falta a extensão de CNPJ (OtherName - OID=2.16.76.1.3.3) ou de CPF (OtherName - OID=2.16.76.1.3.1) no Certificado. | Obrig. | 287 | Rej. |
As validações A01 a A05 são realizadas pelo protocolo TLS. A validação A06 também pode ser realizada pelo protocolo, mas pode falhar se houver certificados de Autoridade Certificadora Raiz diferentes da ICP-Brasil no repositório do servidor.
9.2. Validação Inicial da Mensagem
| # | Regra de Validação | Crítica | cStat | Efeito |
|---|---|---|---|---|
| B01 | Tamanho do XML de Dados superior a 10 Kbytes. | Obrig. | 214 | Rej. |
| B02 | XML de Dados Malformado. | Obrig. | 243 | Rej. |
| B03 | Verificar se o Serviço de processamento está Paralisado Momentaneamente. | Obrig. | 108 | Rej. |
| B04 | Verificar se o Serviço de processamento está Paralisado sem Previsão. | Obrig. | 109 | Rej. |
A mensagem é descartada se exceder 10 KB. Se o controle estiver no ambiente de rede, a conexão pode ser interrompida sem mensagem; se implementado por aplicativo, retorna o cStat 214.
9.3. Controle da Chamada ao Web Service
| # | Regra de Validação | Crítica | cStat | Efeito |
|---|---|---|---|---|
| C01 | Elemento mdfeCabecMsg inexistente no SOAP Header. | Obrig. | 242 | Rej. |
| C02 | Campo cUF inexistente no elemento mdfeCabecMsg do SOAP Header. | Obrig. | 409 | Rej. |
| C03 | Verificar se a UF informada no campo cUF é válida. | Obrig. | 410 | Rej. |
| C04 | Campo versaoDados inexistente no elemento mdfeCabecMsg do SOAP Header. | Obrig. | 411 | Rej. |
| C05 | Versão dos Dados não suportada. | Obrig. | 239 | Rej. |
O documento oficial informa que este grupo de validações deverá ser descontinuado em futura versão do MDF-e.
9.4. Área de Dados
| # | Regra de Validação | Crítica | cStat | Efeito |
|---|---|---|---|---|
| D01 | Verificar Schema XML da Área de Dados. | Obrig. | 215 | Rej. |
| D02 | Verificar namespace diverso do padrão http://www.portalfiscal.inf.br/mdfe. | Obrig. | 598 | Rej. |
| D03 | Verificar caracteres de edição no início ou fim da mensagem ou entre as tags. | Obrig. | 599 | Rej. |
| D04 | Verificar o uso de prefixo no namespace. | Obrig. | 404 | Rej. |
| D05 | Verificar se o XML utiliza codificação diferente de UTF-8. | Obrig. | 402 | Rej. |
9.5. Regras de Negócio
| # | Regra de Validação | Crítica | cStat | Efeito |
|---|---|---|---|---|
| H01 | Tipo do ambiente do MDF-e difere do ambiente do Web Service. | Obrig. | 252 | Rej. |
| H02 | CNPJ do interessado na distribuição inválido (DV ou zeros). | Obrig. | 489 | Rej. |
| H03 | CPF do interessado na distribuição inválido (DV ou zeros). | Obrig. | 490 | Rej. |
| H04 | CNPJ do Certificado Digital utilizado na transmissão não tem o mesmo CNPJ base do CNPJ consultado. | Obrig. | 491 | Rej. |
| H05 | CPF do Certificado Digital utilizado na transmissão diferente do CPF consultado. | Obrig. | 492 | Rej. |
| H06 | Número do NSU informado superior ao maior NSU disponível para consulta. | Obrig. | 493 | Rej. |
| H07 | NSU informado corresponde a documento autorizado há mais de seis meses. Retornar o menor NSU aceito para busca: [NSUMin: 999999999999999]. | Obrig. | 730 | Rej. |
10. Recomendações para Evitar o Uso Indevido
O Ambiente Nacional mantém controles para identificar tentativas sucessivas de busca de registros já disponibilizados. Novas tentativas caracterizadas como uso indevido são rejeitadas com o cStat 678 - Rejeição: Consumo indevido.
11. Endereços do Web Service
Os endereços constam no Portal dos Documentos Fiscais Eletrônicos da SVRS, em “Serviços / Relação de Serviços Web”.
| Ambiente | Endereço |
|---|---|
| Produção | https://mdfe.svrs.rs.gov.br/WS/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx |
| Homologação | https://mdfe-homologacao.svrs.rs.gov.br/WS/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx |
12. Tabela de Códigos e Mensagens
12.1. Resultado do Processamento
| Código | Resultado |
|---|---|
| 108 | Serviço Paralisado Momentaneamente (curto prazo) |
| 109 | Serviço Paralisado sem Previsão |
| 137 | Nenhum documento localizado |
| 138 | Documento localizado |
12.2. Motivos de Não Atendimento
| Código | Resultado |
|---|---|
| 214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido |
| 215 | Rejeição: Falha no schema XML |
| 239 | Rejeição: Cabeçalho - Versão do arquivo XML não suportada |
| 242 | Rejeição: Elemento mdfeCabecMsg inexistente no SOAP Header |
| 243 | Rejeição: XML Malformado |
| 252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento |
| 280 | Rejeição: Certificado Transmissor inválido |
| 281 | Rejeição: Certificado Transmissor Data Validade |
| 283 | Rejeição: Certificado Transmissor - erro Cadeia de Certificação |
| 284 | Rejeição: Certificado Transmissor revogado |
| 285 | Rejeição: Certificado Transmissor difere ICP-Brasil |
| 286 | Rejeição: Certificado Transmissor erro no acesso a LCR |
| 287 | Rejeição: Certificado Transmissor sem CNPJ ou CPF |
| 402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 |
| 404 | Rejeição: Uso de prefixo de namespace não permitido |
| 409 | Rejeição: Campo cUF inexistente no elemento mdfeCabecMsg do SOAP Header |
| 410 | Rejeição: UF informada no campo cUF não é atendida pelo Web Service |
| 411 | Rejeição: Campo versaoDados inexistente no elemento mdfeCabecMsg do SOAP Header |
| 489 | Rejeição: CNPJ informado inválido (DV ou zeros) |
| 490 | Rejeição: CPF informado inválido (DV ou zeros) |
| 491 | Rejeição: CNPJ-Base consultado difere do CNPJ-Base do Certificado Digital |
| 492 | Rejeição: CPF consultado difere do CPF do Certificado Digital |
| 493 | Rejeição: Número do NSU informado superior ao maior NSU da base de dados do Ambiente Nacional |
| 598 | Rejeição: Usar somente o namespace padrão do MDF-e |
| 599 | 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 |
| 678 | Rejeição: Consumo indevido |
| 730 | Rejeição: NSU solicitado muito antigo [NSUMin: 999999999999999] |