Documentação

API Dataqube

A API Dataqube é uma REST API que permite emitir NF-e, NFS-e e NFC-e de forma programática. Use-a para integrar emissão fiscal ao seu ERP, e-commerce, sistema de gestão ou qualquer aplicação.

REST API

JSON sobre HTTPS

Tempo real

Respostas em segundos

Segura

TLS 1.2+ em todas as chamadas

Autenticação

Todas as requisições precisam ser autenticadas com uma API Key obtida no painel em Desenvolvedores → API Keys. Envie a chave no cabeçalho Authorization.

# Exemplo com curl
curl -X POST https://nfe.dataqube.online/v1/invoices \
  -H "Authorization: Bearer SUA_API_KEY_AQUI" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Nunca exponha sua API Key em código front-end ou repositórios públicos. Armazene-a como variável de ambiente no servidor.

Ambientes

A Dataqube opera em dois ambientes independentes. Use Homologação para testes — as notas não têm valor fiscal.

Produção

Notas com validade fiscal. Use apenas dados reais.

NF-e: https://nfe.dataqube.online

NFS-e: https://nfs.dataqube.online

Homologação

Testes sem validade fiscal. SEFAZ em modo de teste.

NF-e: https://nfe-hml.dataqube.online

NFS-e: https://nfs-hml.dataqube.online

NF-e — Endpoints

POST/v1/invoicesEmitir NF-e

Envia a NF-e para a fila de processamento. O retorno é imediato (202) com o invoiceId. Use o endpoint de consulta para acompanhar o status.

{
  "referenceId": "PEDIDO-001",
  "natOp": "Venda de Mercadoria",
  "dest": {
    "document": "12345678000100",
    "xNome": "Empresa Destinatária Ltda",
    "indIEDest": "1",
    "address": {
      "zipCode": "01310-100",
      "street": "Avenida Paulista",
      "number": "100",
      "neighborhood": "Bela Vista",
      "cityIbge": "3550308",
      "cityName": "São Paulo",
      "uf": "SP"
    }
  },
  "items": [
    {
      "cProd": "PROD001",
      "xProd": "Produto de Exemplo",
      "NCM": "84713012",
      "CFOP": "5102",
      "uCom": "UN",
      "qCom": 2,
      "vUnCom": 150.00,
      "vProd": 300.00
    }
  ],
  "pag": [{ "tPag": "01", "vPag": 300.00 }],
  "transp": { "modFrete": "9" }
}

Resposta 202: { "invoiceId": "inv_xxx", "status": "PROCESSING" }

GET/v1/invoices/:idConsultar NF-e

Retorna os detalhes e status atual de uma NF-e pelo seu ID interno ou pelo referenceId.

{
  "id": "inv_abc123",
  "status": "AUTHORIZED",
  "chaveAcesso": "35260500000000000000550010000000011000000010",
  "nProt": "135240000000001",
  "dhRecbto": "2026-05-19T14:30:00-03:00",
  "referenceId": "PEDIDO-001"
}
GET/v1/invoicesListar NF-e

Lista as notas emitidas com paginação. Parâmetros de query disponíveis:

pagePágina (padrão: 1)
limitItens por página (máx. 100)
statusFiltrar por status (AUTHORIZED, REJECTED...)
referenceIdFiltrar por ID de referência
orderByCampo de ordenação (createdAt, updatedAt)
orderasc ou desc
POST/v1/invoices/:id/cancelCancelar NF-e

Solicita o cancelamento de uma NF-e autorizada. Prazo padrão: 24h após autorização.

{ "justificativa": "Venda cancelada a pedido do cliente." }
GET/v1/invoices/:id/xmlBaixar XML da NF-e (ou XML de cancelamento)
GET/v1/invoices/:id/pdfBaixar DANFE em PDF

NFS-e — Endpoints

A API NFS-e usa a mesma estrutura de autenticação. O host base é nfs.dataqube.online.

POST/v1/invoicesEmitir NFS-e
{
  "referenceId": "OS-0042",
  "tomador": {
    "documento": "98765432000100",
    "razaoSocial": "Tomador Exemplo Ltda",
    "email": "financeiro@tomador.com.br",
    "endereco": {
      "cep": "01310-100",
      "logradouro": "Av. Paulista",
      "numero": "200",
      "bairro": "Bela Vista",
      "codigoCidade": "3550308",
      "uf": "SP"
    }
  },
  "servico": {
    "codigoServico": "1.07",
    "descricao": "Desenvolvimento de software sob encomenda",
    "valorServico": 5000.00,
    "aliquotaIss": 2.0,
    "issRetido": false
  }
}

Os demais endpoints (GET /:id, GET /, cancel, xml, pdf) seguem a mesma estrutura da API NF-e.

Eventos (CC-e, Manifestação, Inutilização)

POST/v1/invoices/:id/cceCarta de Correção
{ "correcao": "Onde se lê: Rua X — Leia-se: Rua Y" }
POST/v1/invoices/:id/manifestacaoManifestação do Destinatário
{ "tipoEvento": "210210", "justificativa": "Mercadoria recebida conforme." }
POST/v1/inutilizacaoInutilização de numeração
{ "serie": "1", "nNFIni": 10, "nNFFin": 15, "motivo": "Falha no sistema emissor." }

Webhooks

Configure um endpoint no painel para receber notificações automáticas quando uma nota muda de status. O Dataqube envia um POST para a URL cadastrada com o seguinte payload:

{
  "event": "invoice.authorized",
  "invoiceId": "inv_abc123",
  "referenceId": "PEDIDO-001",
  "status": "AUTHORIZED",
  "chaveAcesso": "35260500000000000000550010000000011000000010",
  "nProt": "135240000000001",
  "timestamp": "2026-05-19T14:30:00.000Z"
}
invoice.authorized

Nota autorizada pela SEFAZ

invoice.rejected

Nota rejeitada

invoice.cancelled

Cancelamento confirmado

invoice.processing

Nota em processamento

Seu endpoint deve responder com HTTP 200 em até 5 segundos. Em caso de falha, o Dataqube tenta reenviar até 3 vezes com backoff exponencial.

Erros

A API usa códigos HTTP padrão. O corpo do erro sempre retorna JSON com message e opcionalmente code.

CódigoSignificado
200Sucesso — GET com dados retornados
202Aceito — nota enviada para processamento
400Requisição inválida — verifique os campos
401Não autorizado — API Key inválida ou ausente
403Sem permissão — operação não permitida
404Não encontrado — recurso inexistente
422Erro de validação — dados fiscais inconsistentes
429Rate limit atingido — aguarde antes de tentar
500Erro interno — tente novamente em instantes

Rate Limits

Os limites são aplicados por API Key. Quando atingido, a API retorna 429 Too Many Requests com o cabeçalho Retry-After indicando quantos segundos aguardar.

Trial

30 req/min

Starter

60 req/min

Professional

120 req/min

Pronto para integrar?

Crie sua conta gratuitamente e gere sua API Key em minutos.