Skip to main content
Skip table of contents

Modos de Envio (Síncrono/Assíncrono)

A API de Integração da NDD oferece aos usuários duas opções de envio de requisições: o modo síncrono e o modo assíncrono. Cada método possui suas particularidades e é definido pelo valor da tag "TipoEnvio", na chamada realizada para a API. 

A tag "TipoEnvio", na estrutura da chamada é opcional, porém vem com o seu valor por default como 0, fazendo com que, o envio seja feito de forma síncrona, ou seja, aguarda o retorno do processo feito para a API. 

A tag “ReturnModel”, na estrutura da chamada é opcional, porém vem com o seu valor por default como 0, caso seja 1 faz com que no retorno em caso de rejeição de documentos, seja gerado um objeto de erro, identificando a origem da rejeição. Caso “ReturnModel” seja 0, as rejeições do tipo Sefaz serão identificadas apenas na tag de “cStat”.

Exemplo:

CODE
{ 

  "Header": { 

    "CNPJEmpresa": "99999999999999", 

    "TipoEnvio": 0, 

    "ReturnModel": 0 

  }, 

  "Body": { 

    "Conteudo": "string", 

    "InscricaoMunicipal": "string" 

  } 

} 

Modo Síncrono 

Ao utilizar esse modo, a requisição será processada de forma síncrona, o que significa que a API aguardará o retorno do processo, antes de enviar a resposta ao usuário. Caso a resposta demore mais que um minuto, o processo síncrono será finalizado e o usuário receberá o protocolo da requisição para consulta posterior, assim como ocorre no processo assíncrono. 

Exemplo de Retorno:

CODE
{ 

    "tipoRetorno": 1, 

    "envio": { 

        "numeroProtocolo": "2680900b-123a-4d0e-a623-307cc57236b9", 

        "documento": "string do conteúdo do documento", 

        "chaveDocumento": "35230499999999999999551000000000161440586453", 

        "numero": 16, 

        "serie": "100", 

        "dataEmissao": "2023-08-10T11:15:33.527-03:00", 

        "protocoloSefaz": "2680900b-123a-4d0e-a623-307cc57236b9", 

        "cStat": "100", 

        "motivo": "Autorizado Uso da NF-e." 

    }, 

    "processamento": { 

        "message": "Sucesso", 

        "protocolo": "2680900b-123a-4d0e-a623-307cc57236b9" 

    } 

}

Modo Assíncrono

Para o modo assíncrono, a tag “TipoEnvio” precisa conter o valor 1.  

Exemplo: 

CODE
{ 

  "Header": { 

    "CNPJEmpresa": "99999999999999", 

    "TipoEnvio": 1 

  }, 

  "Body": { 

    "Conteudo": "string", 

    "InscricaoMunicipal": "string" 

  } 

}

Ao realizar o envio do documento, será obtido um retorno semelhante ao abaixo: 

Exemplo:

CODE
{ 

    "tipoRetorno": 11, 

    "processamento": { 

        "message": "Documento enviado para processamento", 

        "protocolo": "c5c5517d-46da-4fd2-915a-88790a8f3e64" 

    } 

}

Como boas práticas sugerimos utilizar o fluxo assíncrono, ou seja, realizar o envio de todos os documentos em um primeiro momento e a consulta posteriormente em outro método. A cada envio será retornado de forma imediata, um protocolo indicando que o documento foi inserido em nossa API corretamente.  

No modo síncrono, caso a resposta demore mais que um minuto, o processo síncrono será finalizado retornando o protocolo da requisição feita para o usuário consultar depois, assim como ocorre no processo assíncrono.

{{component-feedback-article}}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.