Fluxo de emissão (v2)
A emissão na v2 é assíncrona: você envia a nota, recebe um recibo imediatamente e depois consulta o resultado por polling. O mesmo vale para cancelamento e carta de correção.
Passo a passo
-
Emitir —
POST /nfe/emissao(ou/nfce/emissao,/nfse/emissao).A resposta imediata traz o recibo e o status de processamento:
{"recibo": "abc123def456","status": "emitindo","sefaz": { "codigo": "105", "mensagem": "Lote em processamento" }} -
Consultar (polling) —
GET /nfe/nota/{recibo}até chegar a um estado terminal.Terminal window curl https://api.mysebr.com.br/nfemyse/rest/nfe/nota/abc123def456 \-H "Authorization: Token SEU_TOKEN"Estados possíveis durante o polling:
Situação Resposta Ainda processando { "status": "pendente", "sefaz": { "codigo": "9999", "mensagem": "Sua nota ainda não foi processada." } }Recibo inexistente { "erro": "O recibo informado não existe em nossa base" }Erro no processamento { "erro": "<mensagem>" }Emitida Objeto completo da nota com bloco sefaz(ver abaixo) -
Nota pronta — quando
statuséemitida, o blocosefaztraz a chave, o protocolo e os links do DANFE/XML:{"status": "emitida","sefaz": {"data-emissao": "...","chave": "3526...","protocolo": "...","codigo": "100","mensagem": "Autorizado o uso da NF-e","url-danfe": "https://myse.com.br/bd/<id>","url-xml": "https://myse.com.br/bn/<id>"}}
Polling responsável
- Use intervalo mínimo de 2 segundos entre consultas do mesmo recibo.
- Use backoff exponencial (2s → 3s → 4.5s → … até 30s).
- Pare ao chegar em estado terminal (
emitida, cancelada, rejeitada). - Timeout total razoável: 5 minutos; após isso, acione o suporte com o recibo.
Evitar duplicação: numero_origem
Envie sempre o campo numero_origem (seu identificador único da venda/operação) no payload de emissão. Se você reenviar uma emissão com o mesmo numero_origem, a API não gera outra nota — retorna o recibo da emissão original:
{ "erro": "Já existe uma nota com este número de origem em nosso sistema.", "recibo": "<recibo_existente>"}Cancelamento e carta de correção
Seguem o mesmo padrão assíncrono:
POST /nfe/cancelamento→ retorna recibo → consulte emGET /nfe/cancelamento/{recibo}.POST /nfe/correcao→ retorna recibo → consulte emGET /nfe/correcao/{recibo}.