emites-client-api-docs

emites-client-api-docs [English]

Documentação pública da API do produto Emites-Client.

Introdução

O Emites-Client é uma solução Nexaas para emissão de notas fiscais eletrônicas (NF-e) e notas fiscais eletrônicas do consumidor (NFC-e) desenvolvida em linguagem Java. A emissão destes documentos pode ser feita em modo online ou offline.

A integração com a aplicação é realizada através do envio de mensagens para uma interface socket TCP/IP.

Protocolo

Todas as mensagens trocadas pelo Emites-Client apresentam o seguinte formato texto:

Tamanho:Identificador:Payload

onde

Por exemplo se considerarmos a mensagem a seguir:

27:TESTE:{ "teste": "teste" }

temos:

Observações:

Criação de NFC-e

Para criar uma NFC-e (Nota Fiscal Eletrônica do Consumidor), enviar uma mensagem com o identificador CREATE_NFCE. Na resposta é possível que o identificador seja CREATE_NFCE ou CREATE_CFE (em casos onde a emissão foi via SAT ou MFE).

Utilizar como referência os documentos a seguir:

A resposta de nota aprovada conterá os mesmos campos que foram enviados na requisição, e adicionalmente os seguintes campos exclusivos:

Rejeição

A resposta de nota rejeitada conterá os mesmos campos que foram enviados na requisição, e adicionalmente os seguintes campos exclusivos:

O trecho a seguir mostra um exemplo de rejeição por causada por erros de validação:

{
  "status": "rejeitada",
  ...
  ...
  ...
  "erros": {
    "forma_de_pagamento": ["tamanho deve estar entre 1 e 100"],
    "cliente.email": ["não é um endereço de e-mail válido"]
  }
}

O trecho a seguir mostra um exemplo de rejeição ocorrida na SEFAZ:

{
  "status": "rejeitada",
  ...
  ...
  ...
  "erros": {
    "rejeicao": ["471 - Rejeição: Informado NCM=00 indevidamente"]
  }
}

Cancelamento de NFC-e

Para cancelar uma NFC-e, enviar uma mensagem com o identificador CANCEL_NFCE. O mesmo identificador será devolvido na resposta.

O payload JSON deverá seguir o formato:

{ "chave_acesso": "53180922769530000131651110000001281355486170", "motivo": "Desistencia do comprador" }

onde:

O payload JSON da resposta do cancelamento será similar àquele devolvido durante a operação de criação, com as seguintes diferenças (ver exemplo):

Rejeição

A partir de 01/10/2018 o prazo máximo para cancelamento de uma NFC-e passa a ser de 30 minutos, de acordo com o texto do Ajuste SINIEF 07/2018. Após decorrido este prazo, uma tentativa de cancelamento da nota será respondida pela SEFAZ com um código de rejeição (501).

Caso este cenário ocorra, a resposta devolvida pelo Emites-Client conterá no JSON o campo erros informando o motivo da rejeição:

{
  "status": "cancelamento_rejeitado",
  ...
  ...
  ...
  "erros": {
    "rejeicao": ["501 - Rejeicao: Prazo de Cancelamento Superior ao Previsto na Legislacao"]
  }
}

Criação de NF-e

Para criar uma NF-e (Nota Fiscal do Consumidor), enviar uma mensagem com o identificador CREATE_NFE. O mesmo identificador será devolvido na resposta.

Utilizar como referência os documentos a seguir:

A resposta de nota aprovada conterá os mesmos campos que foram enviados na requisição, e adicionalmente os seguintes campos exclusivos:

Existem apenas para NFE

fields:

objects:

Obs.: Os campos de dados_gerais na nfe estão no raiz do nfce com o mesmo nome

Cancelamento de NF-e

Para cancelar uma NF-e, enviar uma mensagem com o identificador CANCEL_NFE. O mesmo identificador será devolvido na resposta.

O payload JSON deverá seguir o formato:

{ "chave_acesso": "53180922769530000131651110000001281355486170", "motivo": "Desistencia do comprador" }

onde:

O payload JSON da resposta do cancelamento será similar àquele devolvido durante o cancelamento de NFC-e.

Cálculo dos impostos

Para calcular os impostos para uma NFC-e (Nota Fiscal Eletrônica do Consumidor), enviar uma mensagem com o identificador CALCULATE. O mesmo identificador será devolvido na resposta.

Utilizar como referência os documentos usados para criação de uma NFCE-e pelo Emites Client.