API

Do Certificado A1 à Primeira Nota Fiscal em 5 Minutos: Guia de Ativação Rápida

Passo a passo prático para sair do upload do certificado digital A1 à primeira NFS-e ou NF-e autorizada via API REST JSON na Notaas. Exemplos em cURL, Node.js e Python.

Fábio Magalhães CostaAtualizado em 19/09/2026
Guia prático de ativação rápida: como emitir sua primeira nota fiscal via API REST em 5 minutos após o upload do certificado A1

Guia prático de ativação rápida: como emitir sua primeira nota fiscal via API REST em 5 minutos após o upload do certificado A1

Você criou sua conta na plataforma Notaas, gerou seu token de API e concluiu o upload do certificado digital A1 (.pfx). Agora vem a pergunta prática: como disparar a primeira requisição e obter o DANFE autorizado em menos de 5 minutos?

Na maioria dos sistemas tradicionais ou prefeituras municipais, a primeira emissão é travada por dezenas de tabelas de alíquotas incompreensíveis, validações síncronas com timeout de SOAP e assinaturas XML complexas.

Na Notaas, a arquitetura foi desenhada para eliminar o atrito: você faz um POST com payload JSON enxuto e recebe instantaneamente o identificador da nota, enquanto nossa fila assíncrona cuida da mensageria, assinatura criptográfica e autorização.

Fluxo de Integração e Autorização:

  • 1. Requisição: Aplicação dispara payload JSON para POST /api/v1/emitir com header X-API-Key.
  • 2. Notaas Engine: Valida schema, seleciona o certificado A1 da organização e assina digitalmente.
  • 3. Autorização: O motor conecta à SEFAZ ou ao provedor municipal (entre as 4.782 cidades ativas).
  • 4. Webhook & DANFE: Sua URL recebe evento nfse.issued com links diretos de XML e DANFE PDF v2.0 local.

🛠️ Pré-requisitos Básicos

  1. Conta Ativa no Notaas: Se ainda não possui, crie em platform.notaas.com.br/sign-up (você tem 50 notas gratuitas por mês por CNPJ em produção).
  2. Certificado Digital A1: Arquivo .pfx ou .p12 já importado no painel da plataforma em Configurações > Certificado Digital.
  3. Chave de API (X-API-Key): Copiada da aba API Keys no painel (formato sk_live_... para produção ou sk_test_... para sandbox).

💻 1. Emissão via cURL (Teste Imediato no Terminal)

Se você quer testar agora mesmo direto no terminal bash, use o comando abaixo substituindo sua chave e CNPJ:

curl -X POST https://platform.notaas.com.br/api/v1/emitir \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_live_SEU_TOKEN_AQUI" \
  -d '{
    "tipo": "nfse",
    "ambiente": "producao",
    "referencia": "pedido_quickstart_001",
    "prestador": {
      "cnpj": "00000000000191"
    },
    "tomador": {
      "cpfCnpj": "00000000191",
      "razaoSocial": "Cliente Teste SA",
      "email": "cliente@exemplo.com.br"
    },
    "servico": {
      "discriminacao": "Consultoria em desenvolvimento de software e integracao de APIs",
      "codigoTributacaoMunicipio": "010701",
      "valorServicos": 150.00,
      "aliquota": 2.0
    }
  }'

Resposta Imediata da Notaas (HTTP 200 OK):

{
  "id": "inv_a83f912cde",
  "status": "processing",
  "tipo": "nfse",
  "referencia": "pedido_quickstart_001",
  "createdAt": "2026-09-19T12:00:00.000Z",
  "mensagem": "Nota fiscal enfileirada com sucesso para autorização."
}

🚀 2. Implementação em Node.js / TypeScript

Para integrar no seu backend (NestJS, Express, Next.js Server Actions ou microserviços), utilize a função modular abaixo:

// src/services/notaas.ts
interface EmissaoNFSePayload {
  referencia: string;
  cnpjPrestador: string;
  tomador: {
    cpfCnpj: string;
    razaoSocial: string;
    email: string;
  };
  discriminacao: string;
  valorServicos: number;
}

export async function emitirPrimeiraNota(dados: EmissaoNFSePayload) {
  const response = await fetch("https://platform.notaas.com.br/api/v1/emitir", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": process.env.NOTAAS_API_KEY!,
    },
    body: JSON.stringify({
      tipo: "nfse",
      ambiente: process.env.NODE_ENV === "production" ? "producao" : "homologacao",
      referencia: dados.referencia,
      prestador: {
        cnpj: dados.cnpjPrestador,
      },
      tomador: dados.tomador,
      servico: {
        discriminacao: dados.discriminacao,
        codigoTributacaoMunicipio: "010701",
        valorServicos: dados.valorServicos,
        aliquota: 2.0,
      },
    }),
  });

  if (!response.ok) {
    const errorData = await response.json();
    throw new Error(`Falha na emissão Notaas: ${JSON.stringify(errorData)}`);
  }

  return await response.json();
}

🐍 3. Implementação em Python (FastAPI / Django)

Se seu stack for Python, basta utilizar a biblioteca requests ou httpx:

import os
import requests

def emitir_nota_fiscal(referencia: str, valor: float, tomador_documento: str, tomador_nome: str):
    url = "https://platform.notaas.com.br/api/v1/emitir"
    headers = {
        "Content-Type": "application/json",
        "X-API-Key": os.getenv("NOTAAS_API_KEY")
    }
    payload = {
        "tipo": "nfse",
        "ambiente": "producao",
        "referencia": referencia,
        "prestador": {
            "cnpj": os.getenv("NOTAAS_EMISSOR_CNPJ")
        },
        "tomador": {
            "cpfCnpj": tomador_documento,
            "razaoSocial": tomador_nome
        },
        "servico": {
            "discriminacao": "Licenciamento de software como servico (SaaS)",
            "codigoTributacaoMunicipio": "010701",
            "valorServicos": valor,
            "aliquota": 2.0
        }
    }
    
    response = requests.post(url, json=payload, headers=headers, timeout=10)
    response.raise_for_status()
    return response.json()

🔔 4. Recebendo o DANFE em PDF e XML via Webhook

Como a comunicação com a prefeitura ou SEFAZ é assíncrona, a Notaas dispara um webhook para a sua aplicação assim que a nota é autorizada. O webhook já entrega a URL do DANFSe v2.0 em PDF gerado localmente e o XML assinado:

{
  "event": "nfse.issued",
  "id": "inv_a83f912cde",
  "data": {
    "numeroNota": "202600000412",
    "codigoVerificacao": "AB72-99C1",
    "chaveAcesso": "35260900000000000191550010000004121000004128",
    "xmlUrl": "https://storage.notaas.com.br/xml/inv_a83f912cde.xml",
    "pdfUrl": "https://storage.notaas.com.br/pdf/inv_a83f912cde.pdf",
    "emitidaEm": "2026-09-19T12:00:04.218Z"
  }
}

💡 Vantagem Notaas: O link do PDF (pdfUrl) é gerado localmente em menos de 100ms pelo nosso renderizador NT-008 nativo. Seu cliente nunca enfrentará tela em branco ou timeout do portal público ADN da Receita.


🤖 Bônus: Prompt Pronto para Cursor / Lovable / v0 (Vibe Coding)

Se você está construindo sua aplicação com ferramentas de IA generativa, copie e cole o seguinte prompt no Cursor ou Lovable:

Crie um serviço de emissão fiscal integrado à API da Notaas (https://platform.notaas.com.br).
1. Crie uma função emitirNota(pedidoId, cliente, valor) que faça um POST para https://platform.notaas.com.br/api/v1/emitir com header X-API-Key obtido de process.env.NOTAAS_API_KEY.
2. Salve no banco de dados o retorno com status 'processing' e o id da nota.
3. Crie um endpoint de Webhook POST /api/webhooks/notaas que valide o header X-Notaas-Signature com HMAC-SHA256 usando process.env.NOTAAS_WEBHOOK_SECRET e, quando o evento 'nfse.issued' chegar, atualize o status para 'issued' e salve os links de pdfUrl e xmlUrl.

❓ Dúvidas Frequentes no Primeiro Envio

Preciso pagar alguma taxa antes de emitir a primeira nota?

Não. A Notaas disponibiliza 50 notas fiscais gratuitas por mês por CNPJ com todas as funcionalidades ativas em produção real. Você só é cobrado caso ultrapasse essa cota mensal.

Quanto tempo leva para a nota passar de processing para issued?

Na maioria das cidades e na SEFAZ, o processamento leva entre 1 a 4 segundos. Em prefeituras com instabilidade temporária, nossa fila inteligente realiza retries exponenciais automáticos sem duplicar a numeração.

Como funciona para múltiplos clientes PJ (Escritórios / Multi-Tenant)?

Você pode utilizar a Org API (POST /api/v1/org/projects) para cadastrar novos CNPJs programaticamente, cada um com suas próprias credenciais e certificados isolados.


🚀 Pronto para a sua Primeira Nota?

Se você já realizou o upload do seu certificado A1, basta pegar sua API Key e fazer seu primeiro envio:

👉 Acessar Painel da Notaas & Gerar API Key
👉 Consultar Documentação Completa da API

Notaas — API Fiscal para Desenvolvedores

Emita NFS-e, NF-e e NFC-e via API sem complexidade tributária

Conheça a API de Nota Fiscal da Notaas: integração via REST API simples, sandbox imediato, webhooks assinados com HMAC e suporte a múltiplos CNPJs. 50 notas fiscais gratuitas todo mês.