---
title: "Quickstart — primeiro documento NFe/CTe em ≤5 minutos"
description: "Ative o NFe/CTe Inbound e receba o primeiro documento da SEFAZ em menos de 5 minutos."
source_url: https://nfe.io/docs/distribuicao-nfe-cte-quickstart/
last_updated: 2026-07-30
---

# Quickstart — primeiro documento NFe/CTe em ≤5 minutos

> Objetivo: ativar o NFe/CTe Inbound e **receber o primeiro documento em ≤5 minutos** (homologação ou produção). Para tutorial guiado, vá direto a [Primeiros passos](./tutorials/primeiros-passos.md).

## Sumário

- [Pré-requisitos](#pré-requisitos)
- [Fluxo em 5 passos](#fluxo-em-5-passos)
- [Passo 1 — Ativar inbound](#passo-1--ativar-inbound)
- [Passo 2 — Configurar webhook](#passo-2--configurar-webhook)
- [Passo 3 — Aguardar primeiro polling](#passo-3--aguardar-primeiro-polling)
- [Passo 4 — Baixar XML / DANFE](#passo-4--baixar-xml--danfe)
- [Passo 5 — Próximos passos](#passo-5--próximos-passos)

## Pré-requisitos

- **API Key** ativa no painel nfe.io (header `Authorization: ApiKey <chave>`)
- **Certificado digital A1** (`.pfx`/`.p12`) configurado para a empresa
- **company_id** da empresa cadastrada
- **webhookUrl** HTTPS público para receber notificações (opcional para o teste inicial via API)

## Fluxo em 5 passos

```mermaid
flowchart LR
    A[1. Ativar inbound] --> B[2. Configurar webhook]
    B --> C[3. Aguardar polling SEFAZ]
    C --> D[4. Baixar XML / DANFE]
    D --> E[5. Próximos passos]
```

## Passo 1 — Ativar inbound

```bash
export NFEIO_API_KEY="<sua-chave>"
export COMPANY_ID="<id-da-empresa>"

curl -X POST \
  "https://api.nfe.io/v2/companies/$COMPANY_ID/inbound/productinvoices" \
  -H "Authorization: ApiKey $NFEIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "StartFromNsu": 0,
    "StartFromDate": "2026-01-01T00:00:00Z",
    "EnvironmentSEFAZ": "Test",
    "WebhookVersion": 2
  }'
```

Resposta `200` com `"status": "Active"` confirma a ativação. Use `"EnvironmentSEFAZ": "Production"` quando for para o ambiente real.

## Passo 2 — Configurar webhook

No Painel nfe.io → **Webhooks**, cadastre a URL HTTPS do seu endpoint. Veja [Configurar webhook](./how-to/configurar-webhook.md) para detalhes (HMAC, retry, etc.).

## Passo 3 — Aguardar primeiro polling

A nfe.io consulta o **Ambiente Nacional** da SEFAZ periodicamente em nome do seu CNPJ. O primeiro documento chega entre **15 minutos e 4 horas** após a autorização na SEFAZ.

Para consultar manualmente o status:

```bash
curl "https://api.nfe.io/v2/companies/$COMPANY_ID/inbound/productinvoices" \
  -H "Authorization: ApiKey $NFEIO_API_KEY"
```

## Passo 4 — Baixar XML / DANFE

Quando um documento chegar (via webhook ou polling), peça a URL temporária do XML pela chave de 44 dígitos e depois baixe o arquivo dessa URL — o endpoint abaixo retorna **JSON** (`{"publicTemporaryUri": "..."}`), não o XML diretamente:

```bash
curl "https://api.nfe.io/v2/companies/$COMPANY_ID/inbound/<CHAVE_44>/xml" \
  -H "Authorization: ApiKey $NFEIO_API_KEY"
# → {"publicTemporaryUri": "https://storage.../nfe.xml"}

curl "$(...)" -o nfe.xml   # baixe a partir da publicTemporaryUri retornada
```

## Passo 5 — Próximos passos

- [Tutorial completo: Primeiros passos](./tutorials/primeiros-passos.md)
- [Como fazer: Ativar via API](./how-to/ativar-via-api.md)
- [Como fazer: Configurar webhook (HMAC, retry)](./how-to/configurar-webhook.md)
- [Referência: Webhook events + HMAC](./reference/webhook-events.md)
- [Conceitos: Arquitetura](./explanation/arquitetura.md)

## Veja também

- [Endpoints de NF-e](./reference/endpoints-nfe.md)
- [Endpoints de CT-e](./reference/endpoints-cte.md)
- [FAQ](./reference/faq.md)
