Web Service - MDFeRecepcaoEvento - Parte Geral
- Função: recepção de mensagem de evento de MDF-e.
- Processo: síncrono.
- Nome do Serviço:
MDFeRecepcaoEvento. - Método:
mdfeRecepcaoEvento. - Parâmetro da mensagem da área de dados: XML sem compactação.
1. Leiaute da Mensagem de Entrada
Entrada: estrutura XML contendo a consulta do status do serviço.
Schema XML: eventoMDFe_v9.99.xsd.
| # | Campo | Ele. | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| GP01 | eventoMDFe | Raiz | - | - | - | - | TAG raiz. |
| GP02 | versao | A | GP01 | N | 1-1 | 2v2 | Versão do leiaute. |
| GP03 | infEvento | G | GP01 | - | 1-1 | - | Grupo de informações do registro de eventos. |
| GP04 | Id | ID | GP03 | C | 1-1 | 54-55 | Identificador da TAG a ser assinada: “ID” + tpEvento + chave do MDF-e + nSeqEvento. O nSeqEvento deve ser preenchido com zeros à esquerda para completar 2 ou 3 dígitos. |
| GP05 | cOrgao | E | GP03 | N | 1-1 | 2 | Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE estendida. |
| GP06 | tpAmb | E | GP03 | N | 1-1 | 1 | Identificação do Ambiente: 1 - Produção; 2 - Homologação. |
| GP07 | CNPJ | CE | GP03 | N | 1-1 | 14 | CNPJ do autor do Evento. |
| GP08 | CPF | CE | GP03 | N | 1-1 | 11 | CPF do autor do Evento. |
| GP09 | chMDFe | E | GP03 | N | 1-1 | 44 | Chave de Acesso do MDF-e vinculado ao Evento. |
| GP10 | dhEvento | E | GP03 | D | 1-1 | - | Data e Hora do Evento. Formato = AAAA-MM-DDTHH:MM:SS TZD. |
| GP11 | tpEvento | E | GP03 | N | 1-1 | 6 | Tipo do Evento. |
| GP12 | nSeqEvento | E | GP03 | N | 1-1 | 1-3 | Sequencial do evento para o mesmo tipo. Para a maioria dos eventos será 1; quando puder existir mais de um, o autor deve numerar sequencialmente. |
| GP13 | detEvento | G | GP03 | - | 1-1 | - | Informações do evento específico. |
| GP14 | versaoEvento | A | GP13 | N | 1-1 | 2v2 | Versão do leiaute específico do evento. |
| GP15 | any | E | GP13 | XML | 1-1 | - | XML específico do tipo de evento, como cancelamento, encerramento ou inclusão de condutor. |
| GP16 | infSolicNFF | G | GP03 | - | 0-1 | - | Grupo de informações do pedido de registro de eventos da Nota Fiscal Fácil. |
| GP17 | xSolic | E | GP16 | C | 1-1 | 2-2000 | Solicitação do pedido de registro de evento da NFF. |
| GP18 | infPAA | G | GP03 | - | 0-1 | - | Grupo de Informação do Provedor de Assinatura e Autorização. |
| GP19 | CNPJPAA | E | GP18 | N | 1-1 | 14 | CNPJ do Provedor de Assinatura e Autorização. |
| GP20 | PAASignature | G | GP19 | - | 1-1 | - | Assinatura RSA do Emitente para DF-e gerados por PAA. |
| GP21 | SignatureValue | E | GP20 | Base64 | 1-1 | - | Assinatura digital padrão RSA. Converter o atributo Id do DF-e para bytes e assinar com a chave privada RSA e algoritmo SHA1, gerando Base64. |
| GP22 | RSAKeyValue | G | GP20 | - | 1-1 | - | Chave Pública no padrão XML RSA Key. |
| GP23 | Modulus | E | GP22 | Base64 | 1-1 | - | Módulo da chave RSA. |
| GP24 | Exponent | E | GP22 | Base64 | 1-1 | - | Expoente da chave RSA. |
| GP25 | Signature | G | GP01 | XML | 1-1 | - | Assinatura XML do grupo identificado pelo atributo Id. |
2. Leiaute da Mensagem de Retorno
Retorno: estrutura XML com o resultado do pedido de evento.
Schema XML: retEventoMDFe_v9.99.xsd.
| # | Campo | Ele. | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| GR01 | retEventoMDFe | Raiz | - | - | - | - | TAG raiz do Resultado do Envio do Evento. |
| GR02 | versao | A | GR01 | N | 1-1 | 1-4 | Versão do leiaute. |
| GR03 | infEvento | G | GR01 | - | 1-1 | - | Grupo de informações do registro do Evento. |
| GR04 | Id | ID | GR03 | C | 0-1 | 17 | Identificador da TAG a ser assinada. Se o órgão assinar a resposta, preencher com o número do protocolo precedido do literal “ID”. |
| GR05 | tpAmb | E | GR03 | N | 1-1 | 1 | Identificação do Ambiente: 1 - Produção; 2 - Homologação. |
| GR06 | verAplic | E | GR03 | C | 1-1 | 1-20 | Versão da aplicação que registrou o Evento, com literal que identifique o órgão. |
| GR07 | cOrgao | E | GR03 | N | 1-1 | 2 | Código da UF que registrou o Evento. |
| GR08 | cStat | E | GR03 | N | 1-1 | 3 | Código do status da resposta. |
| GR09 | xMotivo | E | GR03 | C | 1-1 | 1-255 | Descrição do status da resposta. |
| GR10 | chMDFe | E | GR03 | N | 0-1 | 44 | Chave de Acesso do MDF-e vinculado ao evento. |
| GR11 | tpEvento | E | GR03 | N | 0-1 | 6 | Código do Tipo do Evento. |
| GR12 | xEvento | E | GR03 | C | 0-1 | 5-60 | Descrição do Evento. |
| GR13 | nSeqEvento | E | GR03 | N | 0-1 | 1-3 | Sequencial do evento para o mesmo tipo. |
| GR14 | dhRegEvento | E | GR03 | D | 0-1 | - | Data e Hora do Evento. Formato = AAAA-MM-DDTHH:MM:SS TZD. |
| GR15 | nProt | E | GR15 | N | 0-1 | 15 | Número do protocolo de registro do evento. |
| GR16 | Signature | G | GR01 | XML | 0-1 | - | Assinatura Digital aplicada no elemento infEvento. A decisão de assinar a mensagem fica a critério do Ambiente Autorizador. |
Os campos de identificação do evento são obrigatórios quando houver homologação com cStat 135, 134 ou 136. Os campos dhRegEvento e nProt não são preenchidos em caso de erro.
3. Descrição do Processo de Web Service
O método recebe solicitações de registro de eventos de MDF-e. O interessado, emissor ou órgão público, envia a mensagem; o Ambiente Autorizador processa a solicitação e devolve o resultado ao aplicativo transmissor.
4. Regras de Validação Básicas do Serviço
| Grupo | Descrição |
|---|---|
| A | Validação do Certificado de Transmissão (protocolo TLS). |
| A-2 | Validação do Certificado de Transmissão (Regime Especial NFF). |
| B | Validação Inicial da Mensagem no Web Service. |
| C | Validação da Área de Dados da mensagem. |
| D | Validações do Certificado de Assinatura. |
| E | Validações da Assinatura Digital. |
| E-1 | Validação da Assinatura Digital (Regime Especial NFF). |
| E-2 | Validação da Assinatura Digital (PAA). |
5. Validação das Regras de Negócio
| # | Regra de Validação | Aplic. | cStat | Efeito | Mensagem |
|---|---|---|---|---|---|
| J01 | Tipo do ambiente informado difere do ambiente do Web Service. | Obrig. | 252 | Rej. | Rejeição: Ambiente informado diverge do Ambiente de recebimento. |
| J02 | Se informado CNPJ: validar CNPJ do autor do evento (DV ou zeros). | Obrig. | 627 | Rej. | Rejeição: CNPJ do autor do evento inválido. |
| J03 | Se informado CPF: validar CPF do autor do evento (DV ou zeros). | Obrig. | 700 | Rej. | Rejeição: CPF do autor do evento inválido. |
| J04 | Validar se o atributo Id corresponde a “ID” + tpEvento + chMDFe + nSeqEvento. Observação: o atributo ID pode ter 54 ou 55 dígitos, conforme nSeqEvento tenha 2 ou 3 posições. | Obrig. | 628 | Rej. | Rejeição: Erro Atributo ID do evento não corresponde à concatenação dos campos. |
| J05 | Verificar se o tpEvento é válido. | Obrig. | 629 | Rej. | Rejeição: O tpEvento informado inválido. |
| J06 | Verificar Schema da parte específica do Evento. Utilizar tpEvento + versaoEvento para identificar o schema. | Obrig. | 630 | Rej. | Rejeição: Falha no Schema XML específico para o evento. |
| J07 | Validar chave de acesso do MDF-e. Retornar o motivo: CNPJ / CPF zerado ou inválido, Ano < 2012 ou maior que atual, Mês inválido, Modelo diferente de 58, Número zerado, Tipo de emissão inválido, UF inválida ou DV inválido. [Motivo: XXXXXXXXXXXX] | Obrig. | 236 | Rej. | Rejeição: Chave de Acesso inválida. [Motivo: XXXXXXXXX] |
| J08 | Verificar duplicidade do evento (cOrgao + tpEvento + chMDFe + nSeqEvento). | Obrig. | 631 | Rej. | Rejeição: Duplicidade de evento [nProt:999999999999999][dhRegEvento: AAAA-MM-DDTHH:MM:SS TZD]. |
| J09 | Observação: verificar CPF se a série estiver na faixa 920-969 ou para Regime Especial da Nota Fiscal Fácil (tpEmis=3); para as demais, verificar CNPJ. Se evento do emissor, verificar se CNPJ / CPF do Autor é diferente do CNPJ / CPF da chave de acesso do MDF-e ou do CNPJ / CPF do proprietário do veículo que realiza o transporte, apenas para evento de ENCERRAMENTO PELO TRANSPORTADOR (grupo veicTracao\prop do modal rodoviário). Observação: verificar CPF se a série estiver na faixa 920-969 ou para Regime Especial da Nota Fiscal Fácil (tpEmis=3); para as demais, verificar CNPJ. | Obrig. | 632 | Rej. | Rejeição: O autor do evento diverge do emissor do MDF-e. |
| J10 | Se evento do Fisco, RFB ou outros: rejeitar se informado CPF do autor. | Obrig. | 701 | Rej. | Rejeição: Tipo de evento incompatível com emitente pessoa física. |
| J11 | Se evento do Fisco ou outros órgãos, verificar se o CNPJ do Autor consta na tabela de órgãos autorizados a gerar evento. | Obrig. | 633 | Rej. | Rejeição: O autor do evento não é um órgão autorizado a gerar o evento. |
| J12 | Se o evento exige MDF-e: acessar BD MDF-e e verificar se o documento não existe. | Obrig. | 217 | Rej. | Rejeição: MDF-e não consta na base de dados da SEFAZ. |
| J13 | Se existir o MDF-e, independentemente de o evento exigir: verificar se a Chave de Acesso difere da existente no BD. | Obrig. | 600 | Rej. | Rejeição: Chave de Acesso difere da existente em BD. |
| J14 | Data do evento não pode ser menor que a data de emissão do MDF-e, se existir. Tolerância máxima de 5 minutos. | Obrig. | 634 | Rej. | Rejeição: A data do evento não pode ser menor que a data de emissão do MDF-e. |
| J15 | Data do evento não pode ser menor que a data de autorização do MDF-e, se existir. Tolerância máxima de 5 minutos. | Obrig. | 637 | Rej. | Rejeição: A data do evento não pode ser menor que a data de autorização do MDF-e. |
| J16 | Data do evento não pode ser maior que a data de processamento. Tolerância máxima de 5 minutos. | Obrig. | 635 | Rej. | Rejeição: A data do evento não pode ser maior que a data do processamento. |
| J17 | Se a forma de emissão do MDF-e for diferente de Regime Especial da Nota Fiscal Fácil (3), o grupo infSolicNFF não pode estar preenchido. | Obrig. | 902 | Rej. | Rejeição: Grupo de informações do pedido de emissão da NFF deve ser preenchido apenas para forma de emissão NFF. |
6. Processamento das Validações Específicas
As validações específicas são definidas para cada evento na parte específica do Sistema de Registro de Eventos.
7. Final do Processamento do Evento
| Resultado | Consequência |
|---|---|
| Rejeição | O evento é descartado, com retorno do código do motivo. |
| cStat 135 | Evento armazenado e vinculado ao respectivo MDF-e. |
| cStat 136 | Evento armazenado; vinculação prejudicada pela inexistência do MDF-e no recebimento. |
| cStat 134 | Evento armazenado e vinculado a MDF-e com situação diferente de Autorizada, com alerta da situação. |
O Ambiente Autorizador deve compartilhar os eventos autorizados com os órgãos interessados.