Pular para o conteúdo

Código de Exemplo — Visão geral

Esta seção traz implementações completas e prontas para produção em várias linguagens. Cada exemplo cobre o ciclo completo:

  • Carregamento do Token a partir de variável de ambiente
  • Cliente HTTP centralizado com headers padrão e timeout
  • Idempotência via numero-origem
  • Polling com backoff exponencial
  • Retry em erros transitórios
  • Tratamento de status: "050", "900", "999"
  • Captura do X-Request-Id para logs

Linguagens disponíveis

Padrão dos exemplos

Cada página segue a mesma estrutura:

  1. Setup — instalação de dependências e variáveis de ambiente.
  2. Cliente HTTP centralizado — com captura de X-Request-Id e tratamento de erro.
  3. Helper de polling reutilizável — chamado por todos os cenários assíncronos.
  4. Cenários por documento fiscal:
    • Emitir NFC-e (com polling)
    • Emitir NF-e (com transporte completo, faturas)
    • Emitir NFS-e (Nota Fiscal de Serviço)
    • Cancelar NF-e, NFC-e, NFS-e
    • Lançar carta de correção (CC-e)
    • Reconhecer nota de fornecedor (MD-e)
  5. Retry com backoff — apenas em erros transitórios.
  6. Listar com paginação — loop completo.
  7. Tratamento de erros — captura de X-Request-Id e propagação adequada.

Matriz de cobertura (todos os 40 endpoints da API)

Documentos fiscais

CenáriocURLJS/TSPythonPHPJavaC#GoRuby
NF-e Emissão (transporte, faturas)
NF-e Alteração (PUT)
NF-e Cancelamento
NF-e Carta de correção (CC-e)
NF-e Consulta completa por recibo
NF-e Listagem paginada
NFC-e Emissão
NFC-e Alteração (PUT)
NFC-e Cancelamento
NFC-e Consulta completa por recibo
NFC-e Listagem paginada
NFS-e Emissão
NFS-e Alteração (PUT)
NFS-e Cancelamento
NFS-e Listagem com dataInicial
Fornecedor Listagem
Fornecedor Reconhecimento (MD-e)

Clientes (CRUD)

CenáriocURLJS/TSPythonPHPJavaC#GoRuby
Cadastrar pessoa física
Cadastrar pessoa jurídica
Consultar por CPF/CNPJ
Buscar por nome (+ top_clientes)
Atualizar
Excluir

Produtos (CRUD)

CenáriocURLJS/TSPythonPHPJavaC#GoRuby
Cadastrar produto (com config fiscal)
Cadastrar serviço (tipo S)
Consultar por referência
Buscar por nome
Paginação com busca
Atualizar
Excluir

Infraestrutura e padrões

CenáriocURLJS/TSPythonPHPJavaC#GoRuby
Health check (sem auth)
Cliente HTTP centralizado
Helper de polling reutilizável
Retry com backoff
Captura X-Request-Id
Tratamento estruturado de erros

Variáveis de ambiente comuns

Todos os exemplos esperam:

Terminal window
export MYSE_API_BASE="https://api.mysebr.com.br/nfemyse-v3/rest"
export MYSE_API_TOKEN="seu_token_aqui"