Início
Documentos Fiscais
Cálculos
Consulta e Importação
Base URL: https://api.fiscalhub.com.br
· Versão: v1
· Formato: application/json
A API FiscalHub é uma REST API para emissão de documentos fiscais eletrônicos brasileiros. Todas as requisições são autenticadas por API Key e os retornos são sempre JSON.
Todas as requisições devem incluir o cabeçalho X-Api-Key com uma chave gerada no portal do cliente.
fh_live_ operam em produção. Nunca exponha sua chave em código front-end.
| HTTP | Significado |
|---|---|
400 | Requisição inválida — verifique os campos obrigatórios |
401 | API Key ausente, inválida ou revogada |
403 | Recurso pertence a outro tenant |
404 | Documento ou empresa não encontrado |
422 | Rejeitado pela SEFAZ — verifique motivoRejeicao |
500 | Erro interno — tente novamente ou abra um chamado |
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/nfe/emitir | Emite uma NF-e (modelo 55) |
| POST | /api/v1/nfe/inutilizar | Inutiliza faixa de numeração |
| GET | /api/v1/nfe/{chave}/danfe | Retorna DANFE em PDF |
| GET | /api/v1/nfe/{chave}/xml | Consulta o XML autorizado (nfe-proc) na SEFAZ |
| GET | /api/v1/nfe/distribuicao | Busca NF-es emitidas contra o CNPJ (Distribuição DFe) |
| POST | /api/v1/nfe/{chave}/cancelar | Cancelamento padrão |
| POST | /api/v1/nfe/{chave}/cancelar-substituicao | Cancelamento por Substituição |
| POST | /api/v1/nfe/{chave}/carta-correcao | Carta de Correção (CC-e) |
| POST | /api/v1/nfe/{chave}/manifestacao | Manifestação do Destinatário |
Request
{
"empresaId": "uuid-da-empresa",
"naturezaOperacao": "Venda de mercadoria",
"tipoOperacao": 1,
"itens": [
{
"numeroItem": 1,
"codigoProduto": "PROD-001",
"descricao": "Produto Exemplo",
"ncm": "84713012",
"cfop": "5102",
"unidadeComercial": "UN",
"quantidade": 2,
"valorUnitario": 150.00,
"valorTotal": 300.00
}
],
"pagamentos": [
{ "formaPagamento": "01", "valor": 300.00 }
]
}
Response 200 OK
{
"documentoId": "uuid-do-documento",
"status": "Autorizado",
"chaveAcesso": "35240112345678000195
55001000000001
1abc123def456",
"protocolo": "135240000000001",
"dataAutorizacao": "2024-01-15T10:30:00Z",
"motivoRejeicao": null
}
Registra a manifestação do destinatário. O campo tipo aceita um dos quatro valores abaixo.
{
"tipo": "ConfirmacaoDaOperacao",
"cpfCnpj": "12345678000195",
"sequenciaEvento": 1,
"justificativa": null
}
// Valores aceitos para "tipo":
// "ConfirmacaoDaOperacao"
// "CienciaDaOperacao"
// "DesconhecimentoDaOperacao"
// "OperacaoNaoRealizada"
// (justificativa obrigatória nas 2 últimas)
Response 200 OK
{
"eventoId": "uuid-do-evento",
"status": "Registrado",
"protocolo": "135240000000002",
"dataEvento": "2024-01-15T11:00:00Z",
"descricao": "Evento registrado e
vinculado a NF-e"
}
{
"justificativa": "NF-e emitida com erro de destinatário, substituída pela chave abaixo",
"chaveNFeSubstituta": "35240112345678000195550010000000021abc123de",
"cpfCnpj": "12345678000195",
"ufAutor": "SP",
"sequenciaEvento": 1
}
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/nfce/emitir | Emite uma NFC-e (modelo 65) |
| POST | /api/v1/nfce/{chave}/cancelar | Cancela uma NFC-e |
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/cte/emitir | Emite um CT-e |
| POST | /api/v1/cte/{chave}/cancelar | Cancela um CT-e |
| POST | /api/v1/cte/{chave}/carta-correcao | Carta de Correção (CC-e) |
| POST | /api/v1/cte/{chave}/desacordo | Prestação em Desacordo |
Registrado pelo tomador/destinatário quando há discordância na prestação do serviço.
{
"cpfCnpj": "12345678000195",
"indicadorDesacordo": "1",
"observacao": "Serviço não foi prestado na data acordada",
"sequenciaEvento": 1
}
// indicadorDesacordo:
// "1" = Serviço não prestado
// "2" = Serviço prestado mas valor incorreto
{
"sequenciaEvento": 1,
"correcoes": [
{
"grupoAlterado": "ide",
"campoAlterado": "natOp",
"valorAlterado": "Prestação de serviço de transporte rodoviário",
"nroItemAlterado": null
}
]
}
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/mdfe/emitir | Emite um MDF-e |
| POST | /api/v1/mdfe/{chave}/cancelar | Cancela um MDF-e |
| POST | /api/v1/mdfe/{chave}/encerrar | Encerra um MDF-e |
| POST | /api/v1/mdfe/{chave}/incluir-condutor | Inclusão de Condutor |
| POST | /api/v1/mdfe/{chave}/incluir-dfe | Inclusão de DF-e |
| POST | /api/v1/mdfe/{chave}/pagamento | Pagamento de Operação |
{
"nome": "João da Silva",
"cpf": "12345678901",
"sequenciaEvento": 1
}
{
"codigoMunicipioCarregamento": "3550308",
"nomeMunicipioCarregamento": "São Paulo",
"sequenciaEvento": 1,
"documentos": [
{
"codigoMunicipioDescarga": "3304557",
"nomeMunicipioDescarga": "Rio de Janeiro",
"chaveNFe": "35240112345678000195550010000000011abc1234"
}
]
}
{
"qtdViagens": "1",
"nroViagem": "001",
"sequenciaEvento": 1,
"pagamentos": [
{
"cnpj": "12345678000195",
"xNome": "Transportadora Exemplo",
"indPag": 0,
"vContrato": 1500.00
}
]
}
// indPag: 0 = À Vista, 1 = A Prazo
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/nfse/emitir | Emite uma NFS-e |
| POST | /api/v1/nfse/{id}/cancelar | Cancela uma NFS-e |
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/tributario/calcular | Calcula impostos por item (ICMS, IPI, PIS, COFINS, DIFAL, IBS, CBS) |
| POST | /api/v1/tributario/simular-nfe | Simula totais de uma NF-e antes da emissão |
Request
{
"empresaId": "uuid-da-empresa",
"ufDestino": "RJ",
"naturezaOperacao": "Venda",
"valorFrete": 50.00,
"valorSeguro": 0.00,
"desconto": 0.00,
"itens": [
{
"ncm": "84713012",
"cfop": "6102",
"valorUnitario": 1250.00,
"quantidade": 2,
"cst": "00"
}
]
}
Response 200 OK
{
"valorProdutos": 2500.00,
"valorFrete": 50.00,
"valorSeguro": 0.00,
"desconto": 0.00,
"valorIcms": 300.00,
"valorIpi": 0.00,
"valorIcmsSt": 0.00,
"valorPis": 41.25,
"valorCofins": 190.00,
"valorDifal": 112.50,
"valorTotalNota": 2843.75
}
A partir de 2026, a NF-e passa a exigir o preenchimento dos tributos da Reforma Tributária: IBS (Imposto sobre Bens e Serviços — substitui ICMS e ISS) e CBS (Contribuição sobre Bens e Serviços — substitui PIS e COFINS), conforme EC 132/2023 e LC 214/2025.
Inclua o objeto ibsCbs dentro de impostos em cada item:
Trecho do request POST /api/v1/nfe/emitir
"itens": [
{
"numeroItem": 1,
"descricao": "Produto Exemplo",
"ncm": "84713012",
"quantidade": 1,
"valorUnitario": 2500.00,
"valorTotal": 2500.00,
"impostos": {
"ibsCbs": {
"cst": "000",
"baseCalculo": 2500.00,
"aliquotaIbsUf": 0.05,
"valorIbsUf": 1.25,
"aliquotaIbsMun": 0.05,
"valorIbsMun": 1.25,
"aliquotaCbs": 0.90,
"valorCbs": 22.50
}
}
}
]
CST IBS/CBS mais comuns
| CST | Descrição |
|---|---|
000 | Tributação regular (alíquota cheia) |
010 | Tributação com redução de base |
400 | Isento |
510 | Operação com diferimento total |
800 | Não tributado |
Motor Tributário calcula automaticamente
Se preferir delegar o cálculo, use POST /api/v1/tributario/calcular — o retorno já inclui os campos ibsCbs por item e nos totais:
{
"totais": {
"valorIcms": 300.00,
"valorPis": 41.25,
"valorCofins": 190.00,
"valorIbsUf": 1.25,
"valorIbsMun": 1.25,
"valorCbs": 22.50
}
}
Consulta o XML autorizado (nfe-proc = NF-e + protocolo) diretamente na SEFAZ. Útil para reobter o XML caso ele não tenha sido armazenado localmente.
Request
Response 200 OK
{
"chaveAcesso": "35250112345678...",
"codigoStatus": 100,
"motivo": "Autorizado o uso da NF-e",
"protocolo": "135250000000001",
"xmlNfeProc": "<?xml version=\"1.0\"?>
<nfeProc versao=\"4.00\">...</nfeProc>"
}
Busca as NF-es e eventos emitidos contra o CNPJ de uma empresa, diretamente da SEFAZ. Retorna os documentos em ordem de NSU (Número Sequencial Único), permitindo varredura incremental. Use para implementar importação automática de notas recebidas no seu ERP ou sistema.
| Parâmetro | Tipo | Descrição |
|---|---|---|
empresaId | uuid | ID da empresa receptora (CNPJ destinatário) |
ultNsu | long | Último NSU recebido. Use 0 para buscar desde o início. |
chNFe | string? | Opcional. Busca uma NF-e específica pela chave de acesso. |
Request — varredura incremental
Response 200 OK
{
"codigoStatus": 138,
"motivo": "Documento localizado",
"ultNsu": 1523,
"maxNsu": 9999,
"documentos": [
{
"nsu": 1501,
"schema": "resNFe",
"chaveAcesso": "35250112345678...",
"cnpjEmitente": "12345678000195",
"nomeEmitente": "Fornecedor Ltda",
"valorNf": 1500.00,
"dataEmissao": "2025-04-01T10:00:00Z",
"xmlBase64": "PD94bWwgdmVyc2..."
}
]
}
ultNsu retornado e use-o na próxima chamada para buscar apenas os documentos novos.
O campo schema indica o tipo: resNFe (resumo), nfeProc (XML completo) ou procEventoNFe (evento).
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/v1/ncm/{codigo} | Tributação por código NCM exato |
| GET | /api/v1/ncm/buscar?q={termo} | Busca por código parcial ou descrição |
{
"codigo": "84713012",
"descricao": "Máquinas automáticas para processamento de dados, portáteis",
"aliquotaIpi": 0.00,
"cest": null,
"unidadeMedida": "UN",
"atualizadoEm": "2024-01-10T00:00:00Z"
}