---
titulo: "API de nota fiscal e WhatsApp para desenvolvedores | APIFácil"
descricao: "REST com JSON, token no header e a mesma forma de integrar nos dois produtos: emissão de NFS-e, NFC-e e NF-e direto no fisco e envio de WhatsApp pelo canal oficial da Meta ou por QR Code. Homologação sem custo, idempotência por referência externa e documentação com llms.txt."
fonte: https://apifacil.dev/para-desenvolvedores
formato: texto derivado da propria pagina HTML, sem alteracao de conteudo
atualizado: 2026-09-18
---

[Início](https://apifacil.dev) / Para desenvolvedores

# A integração inteira cabe em uma requisição

REST com JSON e autenticação por token no header, igual nos dois produtos. Emitir uma NFS-e e enviar uma mensagem de WhatsApp têm o mesmo formato de chamada, a mesma resposta 202 e o mesmo jeito de acompanhar o que entrou em fila.

Homologação sem custo · Sem cartão para testar · llms.txt por modalidade

[Criar conta grátis](https://apifacil.dev/register) [Referência da API](https://apifacil.dev/docs)

## Uma requisição, quatro linguagens

REST com JSON e autenticação por token no header, igual nos dois produtos. Trocar NFS-e por NFC-e muda o caminho e o corpo, não a forma de integrar — e o mesmo vale para trocar o WhatsApp alternativo pelo canal oficial da Meta.

- Emissão devolve 202 com o id do documento: segue em fila e você consulta até sair de processando
- Envio de mensagem devolve 202 com dbMessageId: você acompanha de pending até delivered
- Idempotência por referencia_externa: reenviar a mesma venda não gera nota dobrada
- XML assinado e PDF (DANFSe, DANFE ou cupom) pela mesma API
- Webhook assinado com HMAC para mensagem recebida e mudança de status
- Token com escopo só de emitir, só de consultar ou de gerenciar
- Arquivo llms.txt da plataforma e um por modalidade de nota, para agentes de IA lerem a documentação

[Documentação da NFS-e](https://apifacil.dev/docs/nfse) [Documentação do WhatsApp](https://apifacil.dev/docs/v2) [llms.txt](https://apifacil.dev/llms.txt)

cURL Node.js PHP Python

```
curl -X POST "https://nfe.apifacil.dev/api/v1/emitentes/42/nfse" \
  -H "Authorization: seu_token" \
  -H "Content-Type: application/json" \
  -d '{"referencia_externa":"os-2026-8412",
       "tomador":{"documento":"12345678000199","nome":"Cliente Ltda"},
       "descricao":"Consultoria em TI",
       "valor_servico":1500.00}'
```

```
const res = await fetch(
  'https://nfe.apifacil.dev/api/v1/emitentes/42/nfse',
  {
    method: 'POST',
    headers: {
      Authorization: process.env.APIFACIL_TOKEN,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      referencia_externa: 'os-2026-8412',
      tomador: { documento: '12345678000199', nome: 'Cliente Ltda' },
      descricao: 'Consultoria em TI',
      valor_servico: 1500.00,
    }),
  }
)

// { id: 8412, status: 'processando' }
const { data } = await res.json()
```

```
use Illuminate\Support\Facades\Http;

$res = Http::withHeaders([
    'Authorization' => config('services.apifacil.token'),
])->post(
    'https://nfe.apifacil.dev/api/v1/emitentes/42/nfse',
    [
        'referencia_externa' => 'os-2026-8412',
        'tomador'            => [
            'documento' => '12345678000199',
            'nome'      => 'Cliente Ltda',
        ],
        'descricao'          => 'Consultoria em TI',
        'valor_servico'      => 1500.00,
    ]
);

$res->json('data.id');
```

```
import os, requests

res = requests.post(
    "https://nfe.apifacil.dev/api/v1/emitentes/42/nfse",
    headers={"Authorization": os.environ["APIFACIL_TOKEN"]},
    json={
        "referencia_externa": "os-2026-8412",
        "tomador": {"documento": "12345678000199", "nome": "Cliente Ltda"},
        "descricao": "Consultoria em TI",
        "valor_servico": 1500.00,
    },
    timeout=10,
)

res.json()["data"]["id"]
```

## Da conta criada até o primeiro documento autorizado

Quatro passos, na ordem. Nenhum deles depende de reunião, de proposta comercial ou de liberação manual do nosso lado.

1. 01 Gere o token No painel, com escopo só de emitir, só de consultar ou de gerenciar. O token vai no header Authorization em toda chamada, e revogar um não derruba os outros.
2. 02 Cadastre o emitente ou conecte a instância Para nota, o emitente é o CNPJ com o certificado A1 dele — a assinatura do XML acontece deste lado. Para mensagem, a instância conecta por QR Code, pairing code ou sessão importada; no canal oficial, pelo seu Business Manager.
3. 03 Chame em homologação O ambiente de homologação do fisco não custa nada e não consome franquia. Mande sempre a referencia_externa da venda: é ela que impede nota dobrada quando o seu retry disparar.
4. 04 Acompanhe pelo id A resposta é 202 com o id, porque emissão vai para fila com limite por emitente. Você consulta o documento até ele sair de processando, e o XML e o PDF saem pela mesma API.

## O que costuma travar, dito antes de travar

Três coisas respondem pela maioria das primeiras tentativas que não passam. Nenhuma é bug da API — todas são exigência de quem autoriza o documento.

- **Certificado A1 vencido ou com a senha errada** O XML é assinado com o certificado do próprio emitente. Sem ele válido, a emissão nem chega ao autorizador — e o erro aparece no documento, não em 500.
- **CSC de produção usado em homologação** O código de segurança do contribuinte da NFC-e é diferente por ambiente. Em homologação, use o de homologação: trocar os dois é o motivo mais comum de QR Code recusado no cupom.
- **Rejeição da SEFAZ tratada como falha nossa** Rejeição vem com código e motivo do próprio fisco, e a maioria é dado do cadastro: destinatário sem inscrição estadual, CFOP incompatível com a operação, NCM inexistente. O documento fica consultável com o retorno inteiro.

## Receba uma proposta

Preencha e fale com a gente no WhatsApp, sem espera.

**Recebemos seu contato.**

Abrindo o WhatsApp.

Falar no WhatsApp

### WhatsApp direto

[51 9 8033-1519](https://wa.me/5551980331519)

### Resposta na hora

Minutos em horário comercial, sem fila de atendimento.

### Sem compromisso

Proposta enviada sem cobrança e sem contrato assinado.

### E-mail

[contato@apifacil.dev](mailto:contato@apifacil.dev)

## Comece com 7 dias grátis

Sem cartão, sem reunião comercial e sem contrato. Cria a conta e já sai enviando mensagem — ou cadastra o CNPJ emitente e testa a emissão de nota. Leva menos tempo do que pedir uma proposta ao intermediário que você usa hoje.

[Criar conta grátis](https://apifacil.dev/register) [Falar com a gente](https://wa.me/5551980331519)

- Token da API disponível assim que a conta é criada
- Nota fiscal e WhatsApp no mesmo painel, com o mesmo token
- Conversas cobradas pela Meta, sem markup nosso
- Homologação de nota fiscal liberada sem custo, para integrar antes de assinar
- Suporte por WhatsApp com gente que conhece a API
