Primeira integração — NFS-e Inbound
Você vai habilitar a captura automática de NFS-e do padrão nacional para o CNPJ da sua empresa e consultar o primeiro documento recebido via API.
Sem empresa cadastrada + certificado digital válido, o serviço não é ativado. Conclua a cadência conta → empresa → certificado antes — veja Conta → Empresa → Ativação.
Pré-requisitos
- Conta NFE.io com a empresa (CNPJ) cadastrada e certificado digital enviado.
- API Key com papel
Nota FiscalouNFSeDist(headerAuthorization, sem prefixo) — veja Autenticação. - Cliente HTTP (cURL, Postman ou SDK).
- Endpoint HTTPS público para webhook — opcional, recomendado.
Fluxo
export NFEIO_API_KEY="<sua-chave>"
export COMPANY_ID="<id-da-empresa>"
Passo 1 — Habilitar a captura de NFS-e
POST /v2/companies/inbound/nfse informando companyId, initialNsu (use 0) e o webhookUrl.
curl -X POST "https://api.nfse.io/v2/companies/inbound/nfse" \
-H "Authorization: $NFEIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"companyId": "'$COMPANY_ID'",
"initialNsu": 0,
"webhookUrl": "https://meu-sistema.com/webhook/nfse",
"isAutomaticManifestationEnabled": false
}'
Resposta esperada: HTTP 201 Created com o objeto da empresa (isActive: true).
Passo 2 — Receber e consultar o primeiro documento
A NFE.io passa a fazer polling no ADN a cada ~30 s. Ao capturar a primeira NFS-e, envia POST ao seu webhookUrl com eventName: inbound.serviceInvoice.received. Para confirmar via API:
curl "https://api.nfse.io/v2/companies/$COMPANY_ID/inbound/nfse?pageCount=10" \
-H "Authorization: $NFEIO_API_KEY"
A resposta lista os documentos (documents[]) com nsu, accessKey (50 dígitos), provider, borrower, servicesAmount, status. Baixe o XML via GET .../inbound/nfse/{id}/xml — retorna 302 para uma URL assinada (HMAC-SHA256, ~30 min).
Próximos passos
- Integração via REST — filtros, paginação, downloads e manifestação
- Catálogo de eventos do webhook