API Hooked

API Hooked

  • Documentação
  • Buscar
  • Changelog

›Fiscal

Comece por aqui

  • Primeiros Passos
  • Postman — importar e testar
  • Integração com IA
  • Paginação
  • Changelog

Autenticação

  • Acessos

Financeiro

  • Bancos
  • Contas
  • Contas a Pagar e Receber
  • Condições de Pagamento
  • Formas de Pagamento
  • Transferências
  • Comissões
  • Preços
  • Tabelas de Preços

Fiscal

  • Notas Fiscais
  • Tributações
  • Regras Tributárias
  • Naturezas de Operação
  • SPEDs Fiscais
  • IBPTs

Estoque

  • Estoques
  • Produtos e Serviços
  • Grades
  • Unidades
  • Marcas
  • Fichas Técnicas
  • Tabelas de Produtos

Vendas & Pedidos

  • Pedidos
  • Romaneios
  • Remessas
  • Manifestos

Produção

  • Ordens de Produção
  • Ordens de Produção — Itens
  • Apontamentos de Produção

Cadastros

  • Pessoas
  • Cidades
  • Países
  • Cargos
  • Grupos
  • Subgrupos
  • Categorias
  • Classificações
  • Classificações Comerciais
  • Centros de Custos
  • Centros de Custos Categorias
  • Setores

Documentos & Arquivos

  • Documentos
  • Arquivos
  • Imagens
  • Etiquetas
  • Modelos

Configurações

  • Configurações
  • Webhooks
  • Operações

Outros

  • Dashboard
  • Projetos
  • Veículos
  • Tipos de Contas
  • Sobre

Notas Fiscais

Visão Geral

O módulo Notas Fiscais é o núcleo fiscal do sistema. Gerencia o ciclo completo das NF-e (modelo 55) e NFC-e (modelo 65): criação, transmissão, cancelamento, inutilização, carta de correção, importação de XML e geração de relatórios. Integra-se diretamente com a SEFAZ via webservice.

Base URL

/api/notas-fiscais
Todos os endpoints requerem autenticação via Bearer Token:
Authorization: Bearer {token}

Endpoints

GET /api/notas-fiscais

Descrição: Retorna uma lista paginada de notas fiscais com filtros avançados por pessoa, período, situação, número, série, modelo, vendedor, produto e CFOPs.

Parâmetros

NomeTipoLocalObrigatórioDescrição
pessoaIdinteger (int64)query—Filtra por cliente/fornecedor
empresaIdinteger (int64)query—Filtra por empresa
numerointegerquery—Filtra por número da NF
seriestringquery—Filtra por série
modelostringquery—55 = NF-e, 65 = NFC-e
tipostringquery—S = Saída, E = Entrada
situacaointegerquery—1 = Em digitação, 2 = Autorizada, 3 = Cancelada, 4 = Inutilizada
tipoPesquisaDataintegerquery—1 = Emissão, 2 = Saída
dataInicialstring (date-time)query—Data inicial
dataFinalstring (date-time)query—Data final
vendedorIdinteger (int64)query—Filtra por vendedor
produtoIdinteger (int64)query—Filtra por produto nos itens
cfopsstringquery—CFOPs separados por vírgula
exibirItensbooleanquery—Inclui itens no retorno
exibirFaturasbooleanquery—Inclui faturas no retorno
excelbooleanquery—true para exportar em Excel
propertystringquery—Campo de ordenação
orderBystringquery—Direção: asc ou desc
pageNumberintegerquery—Número da página (padrão: 1)
pageSizeintegerquery—Registros por página (padrão: 20)

Resposta de Sucesso 200

{
  "pagination": {
    "currentPage": 1,
    "totalPages": 10,
    "pageSize": 20,
    "totalCount": 198,
    "hasPrevious": false,
    "hasNext": true
  },
  "data": [
    {
      "id": 1,
      "empresaId": 1,
      "pessoaId": 10,
      "pessoaNome": "Cliente Exemplo Ltda",
      "numero": 1001,
      "serie": "1",
      "modelo": "55",
      "data": "2024-03-01T00:00:00",
      "dataHoraEmissao": "2024-03-01T10:30:00",
      "naturezaOperacaoId": 1,
      "naturezaOperacaoDescricao": "Venda de Mercadoria",
      "situacao": 2,
      "situacaoDescricao": "Autorizada",
      "chave": "35240100000000000000550010000010011000000015",
      "numeroProtocolo": "135240000000001",
      "valorTotal": 1500.00,
      "vendedorNome": "Vendedor Exemplo"
    }
  ],
  "summary": null
}

Campos da Resposta — data[]

CampoTipoDescrição
idinteger (int64)Identificador da NF
numeronumberNúmero da nota fiscal
seriestringSérie da nota
modelostring55 = NF-e, 65 = NFC-e
situacaointegerStatus: 1 = Digitação, 2 = Autorizada, 3 = Cancelada, 4 = Inutilizada
chavestringChave de acesso de 44 dígitos
numeroProtocolostringProtocolo de autorização SEFAZ
valorTotalnumberValor total da nota

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
500Erro interno do servidor

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

POST /api/notas-fiscais

Descrição: Cria uma nova nota fiscal em situação de digitação. Após criar, utilize o endpoint gerar para calcular os impostos e depois transmitir para enviar à SEFAZ.

Corpo da Requisição

{
  "empresaId": 1,
  "pessoaId": 10,
  "data": "2024-03-01T00:00:00",
  "naturezaOperacaoId": 1,
  "dataHoraEmissao": "2024-03-01T10:30:00",
  "consumidorFinal": false,
  "tipoNfe": 1,
  "finalidade": 1,
  "tipoEmissao": 1,
  "tipoFrete": 9,
  "itens": [
    {
      "produtoId": 5,
      "quantidade": 10,
      "valorUnitario": 150.00,
      "valorTotal": 1500.00
    }
  ],
  "pagamentos": [
    {
      "formaPagamentoId": 1,
      "valor": 1500.00
    }
  ]
}
CampoTipoObrigatórioDescrição
empresaIdinteger✓ID da empresa emissora
pessoaIdinteger✓ID do cliente/fornecedor
naturezaOperacaoIdinteger✓ID da natureza de operação
dataHoraEmissaostring (date-time)✓Data e hora de emissão
consumidorFinalboolean✓Venda para consumidor final
tipoNfeinteger✓1 = Saída, 0 = Entrada
finalidadeinteger✓1 = Normal, 2 = Complementar, 3 = Ajuste, 4 = Devolução
tipoEmissaointeger✓1 = Normal, 9 = Contingência
itensarray✓Itens da nota
pagamentosarray✓Formas de pagamento

Resposta de Sucesso 200

Retorna a nota fiscal criada.

Códigos de Erro

CódigoDescrição
400Dados inválidos
401Token ausente ou inválido
500Erro interno do servidor

Exemplos de Código

cURL

curl -X POST "https://api.app.hooked.com.br/api/notas-fiscais" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"empresaId":1,"pessoaId":10,"data":"2024-03-01T00:00:00","naturezaOperacaoId":1,"dataHoraEmissao":"2024-03-01T10:30:00","consumidorFinal":false,"tipoNfe":1,"finalidade":1,"tipoEmissao":1,"tipoFrete":9,"itens":[{"produtoId":5,"quantidade":10,"valorUnitario":150.0,"valorTotal":1500.0}],"pagamentos":[{"formaPagamentoId":1,"valor":1500.0}]}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "empresaId": 1,
  "pessoaId": 10,
  "data": "2024-03-01T00:00:00",
  "naturezaOperacaoId": 1,
  "dataHoraEmissao": "2024-03-01T10:30:00",
  "consumidorFinal": false,
  "tipoNfe": 1,
  "finalidade": 1,
  "tipoEmissao": 1,
  "tipoFrete": 9,
  "itens": [
    {
      "produtoId": 5,
      "quantidade": 10,
      "valorUnitario": 150.0,
      "valorTotal": 1500.0
    }
  ],
  "pagamentos": [
    {
      "formaPagamentoId": 1,
      "valor": 1500.0
    }
  ]
})
});
const data = await response.json();

Python

import requests

data = requests.post(
    'https://api.app.hooked.com.br/api/notas-fiscais',
    headers={'Authorization': 'Bearer {token}'},
    json={'empresaId': 1, 'pessoaId': 10, 'data': '2024-03-01T00:00:00', 'naturezaOperacaoId': 1, 'dataHoraEmissao': '2024-03-01T10:30:00', 'consumidorFinal': False, 'tipoNfe': 1, 'finalidade': 1, 'tipoEmissao': 1, 'tipoFrete': 9, 'itens': [{'produtoId': 5, 'quantidade': 10, 'valorUnitario': 150.0, 'valorTotal': 1500.0}], 'pagamentos': [{'formaPagamentoId': 1, 'valor': 1500.0}]}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"empresaId":1,"pessoaId":10,"data":"2024-03-01T00:00:00","naturezaOperacaoId":1,"dataHoraEmissao":"2024-03-01T10:30:00","consumidorFinal":false,"tipoNfe":1,"finalidade":1,"tipoEmissao":1,"tipoFrete":9,"itens":[{"produtoId":5,"quantidade":10,"valorUnitario":150.0,"valorTotal":1500.0}],"pagamentos":[{"formaPagamentoId":1,"valor":1500.0}]}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/notas-fiscais", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'empresaId' => 1,
        'pessoaId' => 10,
        'data' => '2024-03-01T00:00:00',
        'naturezaOperacaoId' => 1,
        'dataHoraEmissao' => '2024-03-01T10:30:00',
        'consumidorFinal' => false,
        'tipoNfe' => 1,
        'finalidade' => 1,
        'tipoEmissao' => 1,
        'tipoFrete' => 9,
        'itens' => [
            [
                'produtoId' => 5,
                'quantidade' => 10,
                'valorUnitario' => 150.0,
                'valorTotal' => 1500.0
            ]
        ],
        'pagamentos' => [
            [
                'formaPagamentoId' => 1,
                'valor' => 1500.0
            ]
        ]
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — POST /api/notas-fiscais",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"empresaId\":1,\"pessoaId\":10,\"data\":\"2024-03-01T00:00:00\",\"naturezaOperacaoId\":1,\"dataHoraEmissao\":\"2024-03-01T10:30:00\",\"consumidorFinal\":false,\"tipoNfe\":1,\"finalidade\":1,\"tipoEmissao\":1,\"tipoFrete\":9,\"itens\":[{\"produtoId\":5,\"quantidade\":10,\"valorUnitario\":150.0,\"valorTotal\":1500.0}],\"pagamentos\":[{\"formaPagamentoId\":1,\"valor\":1500.0}]}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}

Descrição: Retorna os dados completos de uma nota fiscal pelo ID, incluindo itens, pagamentos, eventos e notas referenciadas.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

Retorna o objeto completo conforme a listagem, com arrays itens, pagamentos, notaFiscalEventos e referenciadas preenchidos.

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Nota fiscal não encontrada
500Erro interno do servidor

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}

Descrição: Atualiza os dados de uma nota fiscal em digitação. Notas já transmitidas não podem ser editadas.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Corpo da Requisição

Mesmo formato do POST, com o campo id preenchido.

Resposta de Sucesso 200

Retorna a nota fiscal atualizada.

Códigos de Erro

CódigoDescrição
400Dados inválidos ou nota já transmitida
401Token ausente ou inválido
404Nota não encontrada
500Erro interno do servidor

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

DELETE /api/notas-fiscais/{id}

Descrição: Remove uma nota fiscal em digitação. Notas autorizadas devem ser canceladas, não removidas.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota a remover

Resposta de Sucesso 200

Retorna a nota removida.

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Nota não encontrada
500Erro interno do servidor

Exemplos de Código

cURL

curl -X DELETE "https://api.app.hooked.com.br/api/notas-fiscais/{id}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}', {
  method: 'DELETE',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.delete(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/notas-fiscais/{id}", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'DELETE',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — DELETE /api/notas-fiscais/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "DELETE",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/recuperar-quantidade

Descrição: Retorna o total de notas fiscais autorizadas no período atual.

Resposta de Sucesso 200

198

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/recuperar-quantidade",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-quantidade",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}/gerar

Descrição: Calcula e aplica os impostos (ICMS, IPI, PIS, COFINS, etc.) nos itens da nota fiscal, preparando-a para transmissão.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

Retorna a nota com os impostos calculados.

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Nota não encontrada
500Erro no cálculo de impostos

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}/gerar",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/gerar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/transmitir

Descrição: Envia a nota fiscal para autorização na SEFAZ. A nota deve ter passado pelo endpoint gerar antes de ser transmitida.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

{
  "erros": false,
  "codigoStatus": 100,
  "motivo": "Autorizado o uso da NF-e",
  "arquivo": null
}
CampoTipoDescrição
errosbooleantrue se houve erros na transmissão
codigoStatusintegerCódigo de retorno da SEFAZ
motivostringDescrição do retorno da SEFAZ
arquivostringCaminho do XML autorizado

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Nota não encontrada
500Falha na comunicação com a SEFAZ

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/transmitir",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/transmitir",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/cancelar

Descrição: Solicita o cancelamento de uma nota fiscal autorizada junto à SEFAZ. O cancelamento deve ser feito em até 24h após a autorização (ou o prazo estadual vigente).

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Corpo da Requisição

{
  "descricao": "Erro no cadastro do cliente"
}
CampoTipoObrigatórioDescrição
descricaostring✓Justificativa do cancelamento (mínimo 15 caracteres)

Resposta de Sucesso 200

Retorna o objeto NotaFiscalComunicacao com o resultado da SEFAZ.

Códigos de Erro

CódigoDescrição
400Justificativa inválida ou prazo de cancelamento expirado
401Token ausente ou inválido
500Falha na comunicação com a SEFAZ

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"descricao":"Erro no cadastro do cliente"}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "descricao": "Erro no cadastro do cliente"
})
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar',
    headers={'Authorization': 'Bearer {token}'},
    json={'descricao': 'Erro no cadastro do cliente'}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"descricao":"Erro no cadastro do cliente"}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'descricao' => 'Erro no cadastro do cliente'
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/cancelar",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/cancelar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"descricao\":\"Erro no cadastro do cliente\"}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/enviar-email

Descrição: Envia a nota fiscal autorizada por e-mail para o destinatário.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

Retorna o resultado da operação de envio.

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/enviar-email",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-email",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}/imprimir

Descrição: Gera o DANFE (Documento Auxiliar da NF-e) em PDF para impressão.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

Retorna o arquivo PDF do DANFE.

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}/imprimir",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}/imprimir-carta

Descrição: Gera a Carta de Correção em PDF para impressão.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}/imprimir-carta",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/imprimir-carta",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}/consultar

Descrição: Consulta o status atual de uma nota fiscal diretamente na SEFAZ.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

Retorna o objeto NotaFiscalComunicacao com o status retornado pela SEFAZ.

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}/consultar",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/consultar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/inutilizar

Descrição: Inutiliza um número de nota fiscal não utilizado junto à SEFAZ.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal a inutilizar

Corpo da Requisição

{
  "descricao": "Número não utilizado por falha no sistema"
}

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"descricao":"Número não utilizado por falha no sistema"}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "descricao": "Número não utilizado por falha no sistema"
})
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar',
    headers={'Authorization': 'Bearer {token}'},
    json={'descricao': 'Número não utilizado por falha no sistema'}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"descricao":"Número não utilizado por falha no sistema"}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'descricao' => 'Número não utilizado por falha no sistema'
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/inutilizar",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/inutilizar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"descricao\":\"Número não utilizado por falha no sistema\"}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/enviar-carta

Descrição: Registra e envia uma Carta de Correção Eletrônica (CC-e) para a nota fiscal junto à SEFAZ.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Corpo da Requisição

{
  "descricao": "Correção: o CFOP correto é 5102 e não 5101"
}

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"descricao":"Correção: o CFOP correto é 5102 e não 5101"}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "descricao": "Correção: o CFOP correto é 5102 e não 5101"
})
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta',
    headers={'Authorization': 'Bearer {token}'},
    json={'descricao': 'Correção: o CFOP correto é 5102 e não 5101'}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"descricao":"Correção: o CFOP correto é 5102 e não 5101"}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'descricao' => 'Correção: o CFOP correto é 5102 e não 5101'
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/enviar-carta",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/enviar-carta",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"descricao\":\"Correção: o CFOP correto é 5102 e não 5101\"}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/{id}/recuperar-xml

Descrição: Retorna o conteúdo XML autorizado da nota fiscal.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/{id}/recuperar-xml",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/recuperar-xml",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

POST /api/notas-fiscais/importar-xml

Descrição: Importa uma nota fiscal a partir de um arquivo XML de NF-e autorizado, criando o registro no sistema com todos os dados do documento.

Corpo da Requisição

Envio via multipart/form-data:

CampoTipoDescrição
filebinárioArquivo XML da NF-e

Resposta de Sucesso 200

Retorna o objeto NotaFiscalImportacaoViewModel com os dados importados, incluindo itens e dados do emitente/destinatário.

Exemplos de Código

cURL

curl -X POST "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml" \
  -H "Authorization: Bearer {token}" \
  -F "[email protected]"

JavaScript

const form = new FormData();
form.append('files', arquivo, 'arquivo.pdf');

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/importar-xml', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {token}' },
  body: form
});
const data = await response.json();

Python

import requests

with open('arquivo.pdf', 'rb') as f:
    data = requests.post(
        'https://api.app.hooked.com.br/api/notas-fiscais/importar-xml',
    headers={'Authorization': 'Bearer {token}'},
        files=[('files', f)]
    ).json()

Go

import (
    "bytes"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
arquivo, _ := os.Open("arquivo.pdf")
part, _ := writer.CreateFormFile("files", "arquivo.pdf")
io.Copy(part, arquivo)
writer.Close()

req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml", body)
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", writer.FormDataContentType())
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/importar-xml');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_POSTFIELDS     => ['files' => new CURLFile('arquivo.pdf')],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — POST /api/notas-fiscais/importar-xml",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

POST /api/notas-fiscais/importar-xml-manifesto/{manifestoId}

Descrição: Importa uma nota fiscal a partir de um manifesto já consultado no sistema, sem necessidade de upload de arquivo.

Parâmetros

NomeTipoLocalObrigatórioDescrição
manifestoIdinteger (int64)path✓ID do manifesto com o XML disponível

Resposta de Sucesso 200

Retorna o objeto NotaFiscalImportacaoViewModel com os dados importados.

Exemplos de Código

cURL

curl -X POST "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.post(
    'https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — POST /api/notas-fiscais/importar-xml-manifesto/{manifestoId}",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/importar-xml-manifesto/{manifestoId}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/faturar

Descrição: Gera os títulos financeiros (contas a pagar/receber) a partir da nota fiscal importada.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

true

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/faturar",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/faturar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/retornar

Descrição: Estorna os títulos financeiros gerados pela nota fiscal, revertendo o faturamento.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

true

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/retornar",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/retornar",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

PUT /api/notas-fiscais/{id}/alterar-emissao-propria

Descrição: Alterna o flag de emissão própria de uma nota fiscal importada, indicando se o documento foi emitido pela própria empresa.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da nota fiscal

Resposta de Sucesso 200

true

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria', {
  method: 'PUT',
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/notas-fiscais/{id}/alterar-emissao-propria",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/{id}/alterar-emissao-propria",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/gerar-relatorio

Descrição: Gera relatório de notas fiscais com todos os filtros disponíveis na listagem. Suporta exportação para Excel e diferentes tipos de relatório.

Parâmetros

Os mesmos do GET /api/notas-fiscais, com os adicionais:

NomeTipoLocalObrigatórioDescrição
tipoRelatoriointegerquery—Tipo de relatório: 1 = Sintético, 2 = Analítico
ordenacaostringquery—Ordenação específica do relatório
excelbooleanquery—true para exportar em Excel

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/gerar-relatorio",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/gerar-relatorio-imposto

Descrição: Gera relatório de impostos das notas fiscais por período, consolidando os valores de ICMS, IPI, PIS, COFINS e outros tributos.

Parâmetros

NomeTipoLocalObrigatórioDescrição
dataInicialstring (date-time)query—Data inicial
dataFinalstring (date-time)query—Data final
empresaIdinteger (int64)query—ID da empresa
excelbooleanquery—true para exportar em Excel

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/gerar-relatorio-imposto",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/gerar-relatorio-imposto",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/notas-fiscais/recuperar-arquivo-mes

Descrição: Retorna os arquivos XML das notas fiscais de um período mensal compactados, para envio ao contador ou arquivamento.

Parâmetros

NomeTipoLocalObrigatórioDescrição
dataInicialstring (date-time)query—Data inicial do período
dataFinalstring (date-time)query—Data final do período
empresaIdinteger (int64)query—ID da empresa

Resposta de Sucesso 200

Retorna o arquivo compactado (.zip) com os XMLs do período.

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Nenhum arquivo encontrado para o período
500Erro interno do servidor

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — GET /api/notas-fiscais/recuperar-arquivo-mes",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/notas-fiscais/recuperar-arquivo-mes",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}
← Tabelas de PreçosTributações →
  • Visão Geral
  • Base URL
  • Endpoints
Hooked Sistemas Ltda

O ERP que se ajusta ao seu negócio.

CNPJ: 41.696.403/0001-02

Produto
ProdutoCadastre-seLogin
A Hooked
Quem somosFale conoscoCadastre-se
Empresas
Planos e preçosControle de Ponto
Contato
+55 49 9114-1678[email protected]Instagram
© Copyright 2026 Hooked Sistemas - Todos os Direitos Reservados.