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.
Notas com validade fiscal. Use apenas dados reais.
NF-e: https://nfe.dataqube.online
NFS-e: https://nfs.dataqube.online
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
/v1/invoicesEmitir NF-eEnvia 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" }
/v1/invoices/:idConsultar NF-eRetorna 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"
}/v1/invoicesListar NF-eLista 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ênciaorderByCampo de ordenação (createdAt, updatedAt)orderasc ou desc/v1/invoices/:id/cancelCancelar NF-eSolicita o cancelamento de uma NF-e autorizada. Prazo padrão: 24h após autorização.
{ "justificativa": "Venda cancelada a pedido do cliente." }/v1/invoices/:id/xmlBaixar XML da NF-e (ou XML de cancelamento)/v1/invoices/:id/pdfBaixar DANFE em PDFNFS-e — Endpoints
A API NFS-e usa a mesma estrutura de autenticação. O host base é nfs.dataqube.online.
/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)
/v1/invoices/:id/cceCarta de Correção{ "correcao": "Onde se lê: Rua X — Leia-se: Rua Y" }/v1/invoices/:id/manifestacaoManifestação do Destinatário{ "tipoEvento": "210210", "justificativa": "Mercadoria recebida conforme." }/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.authorizedNota autorizada pela SEFAZ
invoice.rejectedNota rejeitada
invoice.cancelledCancelamento confirmado
invoice.processingNota 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ódigo | Significado |
|---|---|
200 | Sucesso — GET com dados retornados |
202 | Aceito — nota enviada para processamento |
400 | Requisição inválida — verifique os campos |
401 | Não autorizado — API Key inválida ou ausente |
403 | Sem permissão — operação não permitida |
404 | Não encontrado — recurso inexistente |
422 | Erro de validação — dados fiscais inconsistentes |
429 | Rate limit atingido — aguarde antes de tentar |
500 | Erro 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