Web Service - NFAgRecepcaoEvento - Parte Geral
Função: serviço destinado à recepção de mensagem de evento da NFAg.
Processo: síncrono.
Nome Serviço: NFAgRecepcaoEvento.
Método: NFAgRecepcaoEvento.
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: eventoNFAg_v9.99.xsd.
| # | Campo | Ele | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| FP01 | eventoNFAg | Raiz | - | - | - | - | TAG raiz |
| FP02 | versao | A | FP01 | N | 1-1 | 2v2 | Versão do leiaute |
| FP03 | infEvento | G | FP01 | - | 1-1 | - | Grupo de informações do registro de eventos |
| FP04 | Id | ID | FP03 | C | 1-1 | 55 | Identificador da TAG a ser assinada, a regra de formação do Id é: “ID” + tpEvento + chave da NFAg + nSeqEvento |
| FP05 | cOrgao | E | FP03 | N | 1-1 | 2 | Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE estendida |
| FP06 | tpAmb | E | FP03 | N | 1-1 | 1 | Identificação do Ambiente: 1 – Produção 2 – Homologação |
| FP07 | CNPJ | E | FP03 | N | 1-1 | 14 | Informar o CNPJ do autor do Evento |
| FP08 | chNFAg | E | FP03 | N | 1-1 | 44 | Chave de Acesso da NFAg vinculada ao Evento |
| FP09 | dhEvento | E | FP03 | D | 1-1 | - | Data e Hora do Evento Formato = AAAA-MM-DDTHH:MM:SS TZD. |
| FP10 | tpEvento | E | FP03 | N | 1-1 | 6 | Tipo do Evento (ver tabela de tipos de evento) |
| FP11 | nSeqEvento | E | FP03 | N | 1-1 | 1-3 | Sequencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1; nos casos em que possa existir mais de um evento, o autor do evento deve numerar de forma sequencial. |
| FP12 | detEvento | G | FP03 | - | 1-1 | - | Informações do evento específico. |
| FP13 | versaoEvento | A | FP12 | N | 1-1 | 2v2 | Versão do leiaute específico do evento. |
| FP14 | any | E | FP12 | XML | 1-1 | - | XML do evento Insira neste local o XML específico do tipo de evento (cancelamento) |
| FP15 | infPAA | G | FP03 | - | 0-1 | - | Grupo de Informação do Provedor de Assinatura e Autorização |
| FP16 | CNPJPAA | E | FP15 | C | 1-1 | 14 | CNPJ da empresa que emitirá evento em nome de outra no caso do faturamento conjunto |
| FP17 | Signature | G | FP01 | 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: retEventoNFAg_v9.99.xsd.
| # | Campo | Ele | Pai | Tipo | Ocor. | Tam. | Descrição/Observação |
|---|---|---|---|---|---|---|---|
| FR01 | retEventoNFAg | Raiz | - | - | - | - | TAG raiz do Resultado do Envio do Evento |
| FR02 | versao | A | FR01 | N | 1-1 | 1-4 | Versão do leiaute |
| FR03 | infEvento | G | FR01 | - | 1-1 | - | Grupo de informações do registro do Evento |
| FR04 | Id | ID | FR03 | C | 0-1 | 18 | Identificador da TAG a ser assinada, somente deve ser informado se o órgão de registro assinar a resposta. Em caso de assinatura da resposta pelo órgão de registro, preencher com o número do protocolo, precedido pela literal “ID” |
| FR05 | tpAmb | E | FR03 | N | 1-1 | 1 | Identificação do Ambiente: 1 – Produção / 2 – Homologação |
| FR06 | verAplic | E | FR03 | C | 1-1 | 1-20 | Versão da aplicação que registrou o Evento, utilizar literal que permita a identificação do órgão, como a sigla da UF ou do órgão. |
| FR07 | cOrgao | E | FR03 | N | 1-1 | 2 | Código da UF que registrou o Evento. |
| FR08 | cStat | E | FR03 | N | 1-1 | 3 | Código do status da resposta |
| FR09 | xMotivo | E | FR03 | C | 1-1 | 1-255 | Descrição do status da resposta |
| Os campos a seguir são obrigatórios no caso de homologação do evento cStat=135, 134 ou cStat=136. Os campos de dhRegEvento e nProt não serão preenchidos em caso de erro. | |||||||
| FR10 | chNFAg | E | FR03 | N | 0-1 | 44 | Chave de Acesso da NFAg vinculada ao evento |
| FR11 | tpEvento | E | FR03 | N | 0-1 | 6 | Código do Tipo do Evento |
| FR12 | xEvento | E | FR03 | C | 0-1 | 5-60 | Descrição do Evento |
| FR13 | nSeqEvento | E | FR03 | N | 0-1 | 1-3 | Sequencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1; nos casos em que possa existir mais de um evento, o autor do evento deve numerar de forma sequencial. |
| FR14 | dhRegEvento | E | FR03 | D | 0-1 | - | Data e Hora do Evento Formato = AAAA-MM-DDTHH:MM:SS TZD |
| FR15 | nProt | E | FR15 | N | 0-1 | 16 | Número do protocolo de registro do evento |
| FR16 | Signature | G | FR01 | XML | 0-1 | - | Assinatura Digital do documento XML; a assinatura deverá ser aplicada no elemento infEvento. A decisão de assinar a mensagem fica a critério do Ambiente Autorizador |
3. Descrição do Processo de Web Service
Este método é responsável por receber as solicitações referentes ao registro de eventos da NFAg. Ao receber a solicitação do transmissor, a aplicação do Ambiente Autorizador realiza o processamento da solicitação e devolve o resultado para o aplicativo transmissor.
O Web Service de Eventos é acionado pelo interessado (emissor ou órgão público), que deve enviar mensagem de registro de evento.
4. Regras de Validação
| Grupo | Descrição |
|---|---|
| A | Validação do Certificado de Transmissão (protocolo TLS) |
| 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ções do PAA |
4.1. Validação das Regras de Negócio do Serviço de Registro de Eventos
| # | Regra de Validação | Aplic. | cStat | Efeito | Mensagem |
|---|---|---|---|---|---|
| K01 | Tipo do ambiente informado difere do ambiente do Web Service | Obrig. | 252 | Rej. | Rejeição: Ambiente informado diverge do Ambiente de recebimento |
| K02 | Verificar se o código do órgão de recepção do Evento diverge do solicitado | Obrig. | 226 | Rej. | Rejeição: Código da UF do Emitente diverge da UF autorizadora |
| K03 | Validar CNPJ do autor do evento (DV ou zeros) | Obrig. | 757 | Rej. | Rejeição: CNPJ do autor do evento inválido |
| K04 | Validar se atributo Id corresponde à concatenação dos campos evento (“ID” + tpEvento + chNFAg + nSeqEvento) | Obrig. | 758 | Rej. | Rejeição: Erro Atributo ID do evento não corresponde à concatenação dos campos (“ID” + tpEvento + chNFAg + nSeqEvento) |
| K05 | Verificar se o tpEvento é válido | Obrig. | 759 | Rej. | Rejeição: O tpEvento informado inválido |
| K06 | Verificar Schema da parte específica do Evento OBS: Utilizar o tpEvento + o atributo versaoEvento para identificar qual schema deve ser validado. | Obrig. | 630 | Rej. | Rejeição: Falha no Schema XML específico para o evento |
| K07 | - Validar chave de acesso da NFAg Retornar motivo da rejeição da Chave de Acesso: CNPJ zerado ou inválido, Ano < 2025 ou maior que atual, Mês inválido (0 ou > 12), Modelo diferente de 75, 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] |
| K08 | Site de autorização da chave de acesso da NFAG difere do Site de Recebimento | Obrig. | 418 | Rej. | Rejeição: Site de autorização inválido |
| K09 | Verificar duplicidade do evento (cOrgao + tpEvento + chNFAg + nSeqEvento) | Obrig. | 631 | Rej. | Rejeição: Duplicidade de evento [nProt:999999999999999][dhRegEvento: AAAA-MM-DDTHH:MM:SS TZD] |
| K10 | Se evento do emissor verificar se CNPJ do Autor diferente do CNPJ da chave de acesso da NFAg | Obrig. | 632 | Rej. | Rejeição: O autor do evento diverge do emissor da NFAg Observação: Se informado o grupo infPAA (emissão do evento em hipótese de faturamento conjunto), o CNPJ do Autor deve ser o da empresa emissora da NFAg (CNPJ da chave de acesso), mesmo que a assinatura e transmissão seja feita pelo PAA |
| K11 | Se evento do Fisco/Outros órgãos, verificar se CNPJ do Autor consta da 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 |
| K12 | Se evento exige NFAg: Acesso BD NFAg (Chave: CNPJ Emit, Modelo, Série, Nº): - Verificar se NFAg não existe Observação: Esta validação leva em consideração o ambiente de autorização do DFe (nSiteAutoriz) | Obrig. | 217 | Rej. | Rejeição: NFAg não consta na base de dados da SEFAZ |
| K13 | Se existir a NFAg (independente do evento exigir): verificar se a Chave de Acesso difere da existente em BD (opcionalmente a descrição do erro, campo xMotivo, tem concatenada a Chave de Acesso) | Obrig. | 600 | Rej. | Rejeição: Chave de Acesso difere da existente em BD |
| K14 | Data do evento não pode ser menor que a data de emissão da NFAg, se existir. A Autorização deve tolerar uma diferença máxima de 5 minutos em função da sincronização de horário de servidores. | Obrig. | 634 | Rej. | Rejeição: A data do evento não pode ser menor que a data de emissão da NFAg |
| K15 | Data do evento não pode ser menor que a data de autorização da NFAg, se existir. A Autorização deve tolerar uma diferença máxima de 5 minutos em função da sincronização de horário de servidores. | Obrig. | 637 | Rej. | Rejeição: A data do evento não pode ser menor que a data de autorização da NFAg |
| K16 | Data do evento não pode ser maior que a data de processamento. A Autorização deve tolerar uma diferença máxima de 5 minutos em função da sincronização de horário de servidores. | Obrig. | 635 | Rej. | Rejeição: A data do evento não pode ser maior que a data do processamento |
| K17 | Se tipo de faturamento da NFAg = 2 (Faturado por terceiro) (tag: tpFat): - O grupo de informações do PAA (provedor de assinatura e autorização) deve ser informado (grupo: infPAA) Exceção: não será exigida essa informação para eventos gerados pelo fisco | Obrig. | 515 | Rej. | Rejeição: CNPJ do PAA deve ser informado para faturamento por terceiro |
| K18 | Se tipo de faturamento da NFAg for diferente de 2 (Fatura por terceiro) (tag: tpFat diferente de 2): - Rejeitar se foi informado grupo de informações do PAA (grupo: infPAA) | Obrig. | 532 | Rej. | Rejeição: CNPJ do PAA NÃO deve ser informado para faturamento normal ou conjunto |
5. Processamento das Validações Específicas de Cada Evento
As validações específicas são definidas na parte específica de cada evento.
6. Final do Processamento do Evento
O processamento do evento pode resultar em:
- Rejeição: o Evento será descartado, com retorno do código do status do motivo da rejeição;
- cStat=135: recebido pelo Sistema de Registro de Eventos, com vinculação do evento na respectiva NFAg; o Evento será armazenado no repositório;
- cStat=136: recebido pelo Sistema de Registro de Eventos, com vinculação prejudicada pela inexistência da NFAg no momento do recebimento;
- cStat=134: recebido e vinculado à NFAg com situação diferente de Autorizada, retornando um alerta com a situação da NFAg.
O Ambiente Autorizador deverá compartilhar os eventos autorizados no Sistema de Registro de Eventos com os órgãos interessados.

