Pular para o conteúdo principal

Tratamento de Erros

Como a API NFe/CTe Inbound sinaliza erros e como seu cliente deve reagir.

Sumário​

Formato do Erro​

Quando ocorre um erro, a API retorna um JSON no seguinte formato:

{
"errors": [
{
"code": 404,
"message": "Document not found for the given access key."
}
]
}

Códigos HTTP​

HTTPSignificaO que fazer
200SucessoProcesse a resposta normalmente
204Sucesso sem conteúdoOperação realizada, sem corpo de resposta
400Requisição inválidaVerifique os parâmetros enviados
401Não autorizadoVerifique sua API Key ou token
403ProibidoSua conta não tem permissão para este recurso (API Key sem o papel exigido), ou a empresa não está com o inbound de NF-e ativo. Veja 403 com inbound de NF-e desativado
404Não encontradoO documento/empresa não existe
409Conflito (duplicado)Recurso já existe. Em POST .../manifestation-events (e no legado POST /manifest), significa que já existe um evento Pending ou Accepted para a mesma (accessKey, eventCode, nSequencia) — trate como idempotente
422Entidade não processávelDados válidos mas não processáveis. Ex.: GET .../inbound/{access_key}/pdf de um resumo de NF-e ou de um evento, que não têm DANFE (antes: 500). Não adianta repetir
503Serviço indisponívelSEFAZ temporariamente fora. Tente novamente em alguns minutos
504TimeoutA operação demorou muito. Tente novamente
500Erro internoEntre em contato com o suporte

403 com inbound de NF-e desativado​

Quando a empresa não está com o inbound de NF-e ativo (nunca habilitado ou desativado), as leituras de NF-e respondem 403 com o corpo de erro padrão. Antes, esses casos respondiam 500.

  • GET .../inbound/productinvoices/{access_key}, /json e /events/{event_key}
  • GET .../inbound/{access_key}, /events/{event_key} e /pdf
  • DELETE .../inbound/productinvoices repetido numa empresa já desativada

Exceção: GET .../inbound/{access_key}/xml segue respondendo 400 nesse caso. A API Key é válida; o que falta é a habilitação do serviço. Reative com POST .../inbound/productinvoices (veja Ativar via API).

{
"errors": [
{
"code": 403,
"message": "Company: 5f4d4cee0a8b8e2c3a1bcd11 não habilitada para o NFe Distribuição"
}
]
}

Headers de Rate Limiting​

Todas as respostas incluem headers indicando o status do rate limit:

HeaderDescrição
X-RateLimit-LimitTotal de requisições permitidas por janela
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetTimestamp Unix quando a janela reinicia

Quando o limite é excedido, a API retorna 429 Too Many Requests. Aguarde até X-RateLimit-Reset antes de tentar novamente.

Estratégia de Retry​

Para erros 429, 503 e 504, recomendamos retry com backoff exponencial:

import time
import requests

def get_with_retry(url, headers, max_retries=3):
for attempt in range(max_retries):
response = requests.get(url, headers=headers)

if response.status_code == 429:
reset_time = int(response.headers.get('X-RateLimit-Reset', time.time() + 60))
wait_time = max(reset_time - time.time(), 1)
time.sleep(wait_time)
continue

if response.status_code in (503, 504):
wait_time = (2 ** attempt) * 1 # 1s, 2s, 4s
time.sleep(wait_time)
continue

return response

raise Exception("Max retries exceeded")

Veja também​

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.