Skip to main content
Siga os 4 passos abaixo. O acesso é por pedido revisado (sem cartão, sem agente comercial); empresa, certificado e emissão são self-service assim que seu acesso é liberado.
Todo emissor nasce em homologação (SEFAZ de teste, sem validade fiscal). Não existe um campo environment que você define no cadastro. Ver Sandbox para o que isso significa na prática e como ir pra produção.
Antes de integrar o cenário do seu cliente: confira se o regime tributário e a operação dele (ST, DIFAL, exportação, transporte…) já emitem hoje em Cobertura Fiscal, documento × regime × cenário, com o erro exato onde não emite.

1

Peça acesso e gere sua API Key

POST /v1/auth/register não cria conta na hora: grava um pedido de acesso antecipado e responde 202. Nosso time revisa e, se liberar, você recebe um e-mail de convite para criar sua senha: aí sim nasce seu partner (a software house), com o plano Dev (R$0) já ativo.
whatsapp exige DDD completo: 10 dígitos (fixo) ou 11 (celular, com o nono dígito). A validação ignora máscara, aceitando tanto dígitos crus (11988887777) quanto formatado ((11) 98888-7777), mas rejeita telefone incompleto (ex.: 11).
Resposta de sucesso (202)
Liberado? O e-mail de convite traz um link para criar a senha (POST /v1/invite/accept). Depois de entrar no dashboard, gere sua ek_test_ em Configurações → API Keys (ou via POST /v1/auth/api-keys/test/regenerate, autenticado). Ela só aparece uma vez: guarde-a. Nenhum caminho de acesso antecipado emite ek_live_: a key de produção exige assinatura de plano pago, ver Autenticação.
2

Cadastre uma empresa emissora

Registre o CNPJ que vai emitir os documentos fiscais. A empresa nasce em homologação; guarde o id retornado: é o issuerId usado para escolher o emissor na emissão (opcional com um único emissor, obrigatório a partir do segundo).
O payload usa cep/address/number/neighborhood/city/state/ibgeCode em campos soltos na raiz (não um objeto address.{street,district,cityCode,zipCode}), e crt (não taxRegime). Não existe campo environment, todo emissor nasce em homologação, ver Sandbox.
3

Faça upload do certificado digital

Envie o certificado .pfx (A1) da empresa emissora. Ele será criptografado e armazenado com segurança.
O campo multipart é file, não certificate.
Não tem certificado digital para testes? Em homologação, você pode usar um certificado de teste emitido por qualquer AC (Autoridade Certificadora) habilitada. Veja nosso guia de certificados.
4

Emita sua primeira NF-e

Com a empresa e o certificado configurados, emita a nota.
Quais campos enviar? O exemplo abaixo cobre o mínimo. A lista completa de campos de emissão, navegável por grupo (Identificação, Destinatário, Itens, Impostos, Transporte, Pagamento…), gerada direto do contrato real, está no Catálogo de campos: NF-e. Emitindo NFC-e ou NFS-e? Veja os catálogos de NFC-e e NFS-e.
Resposta de sucesso
issuerId (UUID) é aceito na RAIZ do payload de NF-e/NFC-e/NFS-e: opcional se você tem um único emissor (a API usa o seu emissor), obrigatório a partir do segundo emissor (sem ele, 400). Não existe itens/pagamento singular/cnpj separados: os nomes reais são items/pagamentos[]/cnpjCpf. Ver Autenticação e Primeira Emissão para o contrato completo.
A resposta não tem xml/xmlPath/pdfPath/invoiceId/message: esses campos da versão antiga da doc nunca existiram no shape real (ou eram caminho de arquivo interno). status é "AUTHORIZED" (inglês, mesmo valor usado em GET /v1/nfe/{id} e no webhook invoice.authorized), amount é uma string decimal ("300", sem zeros à direita, não number, evita imprecisão de ponto flutuante em dinheiro), e downloads.xml/downloads.pdf são os caminhos para baixar o XML/PDF (GET /v1/nfe/xml/{accessKey}, GET /v1/nfe/pdf/{accessKey}).
Sua primeira nota fiscal foi emitida e autorizada pelo SEFAZ de homologação.

Próximos passos

Catálogo de campos

Todo campo de NF-e/NFC-e/NFS-e, navegável por grupo, gerado do contrato real

Autenticação

JWT, API Keys e multi-tenancy explicados

Primeira Emissão

Todos os campos obrigatórios detalhados

Webhooks

Notificações em tempo real de cada evento