Fluxo - Envio Assíncrono da NFS-e
A emissão de uma NFS-e abrange as operações comerciais de uma prestação de serviços.
O fluxo demonstrado a seguir trata a emissão da nota dentro da integração com a InvoiSys.
Endpoints Essenciais 💡
Envio Completo do documento: /api/nfse/enviocompleto_async
Consultar RPS na Prefeitura: /api/nfse/consultarenviorps
Endpoints Opcionais 🥈
Consultar NFS-e por Id Documento: /api/nfse/{id}
Etapas e seus endpoints
Para detalharmos melhor a operação, a separamos em tópicos, porém você consegue ver o fluxo completo aqui 📝.
1) Operação da Prestação de Serviço
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 do Envio Assíncrono da NFS-e. Tendo ele em mãos, podemos partir para a emissão da nota.
A sua missão é gerar os dados da operação, como Serviço, Número/Série do RPS, etc., e criar um JSON que será repassado para nós.
Assim que recebermos a chamada, faremos algumas validações, e se estiver correto, assinaremos o mesmo e o transmitiremos à Prefeitura.

2) Retorno da Chamada
Todo documento enviado para a SEFAZ gera um mensagem de retorno. Esta mensagem será recebida por nós e te repassaremos. Como se trata de uma operação assíncrona, o que você irá ver são as informações principais da NFS-e.

As informações que você deverá se atentar em guardar é o id
. Abaixo temos um exemplo de retorno de uma operação assíncrona:
{
"id": "4600",
"excecao": null
}
Posteriormente você poderá realizar a consulta destes documentos por nosso endpoint de Consulta por ID documento para obter novamente o retorno completo destas NFS-es.
3) Consulta do RPS na Prefeitura
Com os dados em mãos, devemos realizar a consulta do status desta nota. Para isto, usamos a API de Consulta do Envio RPS para verificar na Prefeitura qual a situaçao do do documento.

Entre os cenários previstos na consulta de uma NFS, estão:
a) Autorização; b) Rejeição; c) Aguardando Processamento.

a) Autorização da NFS-e
Para identificarmos que foi um sucesso, devemos checar as informações abaixo de nosso retorno:
status
: RetornoAutorizado
;sucesso
: Retornotrue
.
A seguir temos um exemplo de um retorno após a autorização de um documento:
{
"numeroNFSe": 68,
"sucesso": true,
"autenticidade": null,
"linkImpressao": "https://itapira.sigiss.com.br/nfe_ver.php?id=1840098&id_cadastro=156909&hash=YMI9VDS9&nfe=68",
"xml": null,
"excecao": null,
"status": "Autorizado"
}
Impressão da NFS-e
Se a nota estiver autorizada, então podemos realizar a impressão do DANFE. Nós deixamos disponivel na tag linkImpressao
um link de acesso criado pela Prefeitura que possuirá este recibo.
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 nota NFS-e.
b) Rejeição da NFS-e
Alguns imprevistos ocorrem. Para identificarmos se o documento apresentou uma rejeição, devemos checar se a
sucesso
: Retornofalse
.status
: RetornoErro
.

Realmente houve um erro? Então podemos checar a seguintes informações retornada para você:
excecoes
: Retorno da rejeição, informado pela Prefeitura;solucao
: Caso a Prefeitura disponibilize, informando como corrigir a rejeição.
No exemplo a seguir vemos uma nota que foi rejeitada por estar com um código de serviço inválido:
{
"id": 1220,
"numeroNFSe": 0,
"numeroRPS": 6,
"serieRPS": "6",
"status": "Erro",
"sucesso": false,
"linkImpressao": null,
"codigoVerificacao": null,
"excecoes": [
"E15 Código do Serviço não encontrado, favor informar apenas números."
],
"solucao": null
}
Corrigido? Então vamos voltar para primeira etapa do envio. Se desta vez tudo estiver certo, a Prefeitura irá autorizar esta NFS-e.
c) Aguardando Processamento
Uma Prefeitura pode demorar um tempo até que um RPS seja processado. Quando isto ocorre, nós te mostraremos as seguintes informações:
sucesso
: Retornofalse
;status
: RetornoAguardando consulta lote
.
{
"id": 1220,
"numeroNFSe": 0,
"numeroRPS": 6,
"serieRPS": "6",
"status": "Aguardando consulta lote",
"sucesso": false,
"linkImpressao": null,
"codigoVerificacao": null,
"excecoes": null,
"solucao": null
}
Neste cenário, você deverá esperar um momento antes de realizar uma nova tentativa de consulta do RPS.
Terminamos esta etapa 😁. Para seguir, basta selecionar a card abaixo.
Last updated
Was this helpful?