Fluxo - Envio Normal NFC-e
A emissão de uma NFC-e abrange as operações comerciais de venda presencial ou venda para entrega em domicílio a consumidor final (delivery).
O fluxo demonstrado a seguir trata a emissão da nota dentro da integração com a InvoiSys.
APIs Essenciais 💡
Envio Completo do documento: /api/nfce/envioxmlnormal
Envio Híbrido do documento: /api/nfce/enviohibridanormal
Gerar DANFE: /api/nfce/getdanfe/{id}
APIs Opcionais 🥈
Consulta do documento por ID: /api/nfce/{id}
Consulta do documento por Chave de Acesso: /api/nfce/getbychavedeacesso/{chave}
Consulta do documento por Número/Série: /api/nfce/getby_numero_serie_cnpj/{numero}/{serie}/{cnpj}/{ambiente}
Consulta paginada de NFC-es: /api/nfce/{pagina}/{n_itens}
Etapas e suas APIs
Para detalharmos melhor a operação, a separamos em tópicos, porém você consegue ver o fluxo completo aqui 📝.
1) Operação de Venda
Antes de iniciamos a emissão da nota, é necessário estar com um token de acesso válido, pois este será utilizado no cabeçalho da chamada da API de Envio Completo ou a API de Envio Híbrida. Tendo ele em mãos, podemos partir para a emissão da nota.
A sua missão é gerar os dados da operação, como Produtos, Pagamentos, etc., e criar um XML (Modelo Completo) ou JSON (Modelo Híbrido) que será mandado em nossas APIs.
Assim que recebermos a chamada, faremos algumas validações no XML. Se estiver correto, assinaremos o mesmo e o transmitiremos à SEFAZ.

2) Retorno da chamada
Todo documento enviado para a SEFAZ gera um mensagem de retorno. Esta mensagem será recebida por nós, e na mesma chamada, iremos retorna-lo para você, junto dos dados do documento.

Aqui existem algumas informações que podem ser interessantes você guardar, como a chaveDeAcesso e o id do documento criado em nossa base. Estas informações são importante, já que elas são utilizados em outras APIs.

a) Autorização da NFC-e
Para identificarmos que foi um sucesso, podemos observar as seguintes tags:
Tags do bloco
acoes:corrigirDocumento: Retornofalse.codigoStatusSEFAZ: Retorno100Autorizado o uso da NF-e);documentoComErro: Retornofalse
A seguir temos um exemplo de um retorno após a autorização de um documento:
{
"dadosDoDocumento": {
...
"dataHoraEmissao": "2019-11-13T15:28:57.7912076Z",
"dataDeAutorizacao": "2019-11-13T15:28:58Z",
"documentoComErro": false,
"codigoStatusSEFAZ": "100",
"descricaoStatusSEFAZ": "Autorizado o uso da NF-e",
"protocoloSEFAZ": "113190007596784",
...
"status": {
"key": 0,
"value": "Autorizado"
}
},
"acoes": {
"corrigirDocumento": false,
"cancelar": false,
"enviarContingencia": false,
"tentarNovamenteMaisTarde": false,
"entrarEmContatoComSuporteImediatamente": false,
"emitirProximoDocumentoNormal": true
},
"excecao": null
}
"dadosDoDocumento": Grupo onde serão retornadas as informações da NF-e após processamento.
"id": ID gerado pela plataforma da Invoisys. O ID é único por nota, é necessário que a aplicação do integrador armazene esse dado pois o mesmo será utilizado em rotinas com outras APIs.
"chaveDeAcesso": Chave de acesso da NF-e.
"dataHoraEmissao": Data e hora da emissão da NF-e.
"dataDeAutorizacao": Data e hora de autorização de NF-e.
"documentoComErro": Campo que indica se o documento está com erro.
"codigoStatusSEFAZ": Código do status do documento de acordo com a SEFAZ.
"descricaoStatusSEFAZ": Descrição do status do documento de acordo com a SEFAZ.
"protocoloSEFAZ": Protocolo da requisição na SEFAZ.
"urlConsultaViaQRCode": URL para consulta do QR Code na SEFAZ (NFC-e).
"urlConsultaViaChaveDeAcesso": URL de consulta da chave de acesso da NF-e na SEFAZ.
"codigoMensagemSEFAZ": código da mensagem da SEFAZ do status do documento.
"descricaoMensagemSEFAZ": Descrição da mensagem da SEFAZ do status do documento.
Bloco de Ações:
O sistema Invoisys interpreta o retorno da SEFAZ e complementa com um "bloco de ações", exibindo ao sistema integrador diversas orientações para guiar os próximos passos da operação:
},
"acoes": {
"corrigirDocumento": false/true, Indica se o documento precisa ou não ser corrigido.
"cancelar": false/true, Indica se o documento precisa ou não ser cancelado/Inutilizado.
"enviarContingencia": false/true, Indica se será necessário emitir eo próximo documento em modo de contingência.
"tentarNovamenteMaisTarde": false/true, Indica se houve um timeout e será necessário tentar novamente mais tarde.
"entrarEmContatoComSuporteImediatamente": false/true, erro desconhecido, necessário contatar o suporte.
},
"excecao": Descrição de erro, caso tenha ocorrido uma exceção na requisição.
}Impressão da NF-e
Se a nota estiver autorizada, então podemos realizar a impressão do DANFE. Você pode utilizar nossa API de Impressão do DANFE ou, se preferir, utilizar o seu modelo de impressão.
Minha nota foi autorizada, mas estava com uma informação errada! 😓
Neste caso, a opção é realizar o cancelamento do documento, e realizar a emissão de uma nova NFC-e.
Mas se atente, pois o prazo máximo do Cancelamento é de 30 minutos!
b) Rejeição da NFC-e
Alguns imprevistos ocorrem, e sua nota foi rejeitada pela SEFAZ, mas não se preocupe, pois te instruiremos como tratar uma rejeição.
Para identificarmos que foi uma rejeição, devemos observar se a tag:
acoes: corrigirDocumento: Retornotrue.
Se sim, então precisamos entender qual foi a rejeição. Para isso, podemos checar os seguintes blocos:
dadosDoDocumento: codigoStatusSEFAZ: Retorno<código>;dadosDoDocumento: descricaoStatusSEFAZ: Retorno<descrição>.
No exemplo a seguir vemos uma nota que foi rejeitada por estar com o troco incorreto:
{
"dadosDoDocumento": {
...
"dataHoraEmissao": "2019-11-13T15:28:57.7912076Z",
"dataDeAutorizacao": null,
"documentoComErro": false,
"codigoStatusSEFAZ": "869",
"descricaoStatusSEFAZ": "Rejeicao: Valor do troco incorreto",
...
"status": {
"key": 3,
"value": "Erro"
}
},
"acoes": {
"corrigirDocumento": true,
"cancelar": false,
"enviarContingencia": false,
"tentarNovamenteMaisTarde": false,
"entrarEmContatoComSuporteImediatamente": false,
"emitirProximoDocumentoNormal": true
},
"excecao": null
}
Corrigido? Então vamos voltar para primeira etapa do envio. Se tudo estiver certo, a emissão será realizada, a SEFAZ a autorizará e poderemos prosseguir para a impressão do DANFE.
Seu documento apresentou falha de comunicação com a SEFAZ?
Não se preocupe, nós falamos disto no Fluxo de Envio em Contingência!
Last updated
Was this helpful?