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
  • Mensagens

Configurações

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

Outros

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

Naturezas de Operação

Visão Geral

O módulo Naturezas de Operação gerencia as operações fiscais do sistema, definindo os CFOPs aplicáveis a cada tipo de movimentação (venda, compra, devolução, transferência, etc.). Cada natureza de operação configura os CFOPs para saída e entrada nos âmbitos estadual, interestadual e exterior, além de controlar a movimentação de estoque e a geração de financeiro.

Base URL

/api/naturezas-operacao

Endpoints

GET /api/naturezas-operacao

Descrição: Retorna uma lista paginada de naturezas de operação cadastradas, com filtro por descrição e tipo.

Parâmetros

NomeTipoLocalObrigatórioDescrição
descricaostringquery—Filtra por descrição
tipostringquery—Filtra por tipo (S = Saída, E = Entrada)
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": 1,
    "pageSize": 20,
    "totalCount": 5,
    "hasPrevious": false,
    "hasNext": false
  },
  "data": [
    {
      "id": 1,
      "descricao": "Venda de Mercadoria",
      "tipo": "S",
      "cfopSaidaEstadual": 5102,
      "cfopSaidaInterestadual": 6102,
      "cfopSaidaExterior": 7102,
      "cfopEntradaEstadual": null,
      "cfopEntradaInterestadual": null,
      "cfopEntradaExterior": null,
      "sobrescreverCfopProduto": false,
      "movimentarEstoque": true,
      "finalidade": 1,
      "tipoPlanoConta": "venda",
      "gerarFinanceiro": true,
      "tpNFDebito": null,
      "tpNFCredito": null
    }
  ],
  "summary": null
}

Campos da Resposta — data[]

CampoTipoDescrição
idinteger (int64)Identificador da natureza de operação
descricaostringNome da operação
tipostringS = Saída, E = Entrada
cfopSaidaEstadualintegerCFOP para saída estadual
cfopSaidaInterestadualintegerCFOP para saída interestadual
cfopSaidaExteriorintegerCFOP para saída exterior
cfopEntradaEstadualintegerCFOP para entrada estadual
cfopEntradaInterestadualintegerCFOP para entrada interestadual
cfopEntradaExteriorintegerCFOP para entrada exterior
sobrescreverCfopProdutobooleanSubstitui o CFOP definido no produto
movimentarEstoquebooleanIndica se gera movimentação de estoque
finalidadeintegerFinalidade da NF-e (1 = Normal, 2 = Complementar, etc.)
tipoPlanoContastringTipo de operação no plano de contas. Ver Parâmetros Base
gerarFinanceirobooleanIndica se gera título financeiro

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/naturezas-operacao" \
  -H "Authorization: Bearer {token}"

JavaScript

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

Python

import requests

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

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/naturezas-operacao", 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/naturezas-operacao');
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/naturezas-operacao",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/naturezas-operacao",
        "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/naturezas-operacao

Descrição: Cadastra uma nova natureza de operação fiscal.

Corpo da Requisição

{
  "descricao": "Devolução de Compra",
  "tipo": "S",
  "cfopSaidaEstadual": 5201,
  "cfopSaidaInterestadual": 6201,
  "cfopSaidaExterior": null,
  "cfopEntradaEstadual": null,
  "cfopEntradaInterestadual": null,
  "cfopEntradaExterior": null,
  "sobrescreverCfopProduto": false,
  "movimentarEstoque": true,
  "finalidade": 1,
  "tipoPlanoConta": "venda",
  "gerarFinanceiro": false,
  "tpNFDebito": null,
  "tpNFCredito": null
}
CampoTipoObrigatórioRegrasDescrição
descricaostring✓mín. 1 caractereNome da operação
tipostring✓mín. 1 caractereS = Saída, E = Entrada
finalidadeinteger (int32)✓—Finalidade da NF-e (1 = Normal, 2 = Complementar, etc.)
tipoPlanoContastring✓mín. 1 caractereTipo de operação. Ver Parâmetros Base
cfopSaidaEstadualinteger (int32)—nullableCFOP para saída estadual
cfopSaidaInterestadualinteger (int32)—nullableCFOP para saída interestadual
cfopSaidaExteriorinteger (int32)—nullableCFOP para saída exterior
cfopEntradaEstadualinteger (int32)—nullableCFOP para entrada estadual
cfopEntradaInterestadualinteger (int32)—nullableCFOP para entrada interestadual
cfopEntradaExteriorinteger (int32)—nullableCFOP para entrada exterior
sobrescreverCfopProdutoboolean—nullableSubstitui o CFOP definido no produto
movimentarEstoqueboolean—nullableIndica se gera movimentação de estoque
gerarFinanceiroboolean—nullableIndica se gera título financeiro
tpNFDebitostring—nullableTipo de NF para lançamento de débito
tpNFCreditostring—nullableTipo de NF para lançamento de crédito

Parâmetros Base

CampoValores conhecidos
tipoPlanoContastring textual minúscula: "venda", "compra", "servico", "transferencia"

Resposta de Sucesso 200

Retorna a natureza de operação 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/naturezas-operacao" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"descricao":"Devolução de Compra","tipo":"S","cfopSaidaEstadual":5201,"cfopSaidaInterestadual":6201,"cfopSaidaExterior":null,"cfopEntradaEstadual":null,"cfopEntradaInterestadual":null,"cfopEntradaExterior":null,"sobrescreverCfopProduto":false,"movimentarEstoque":true,"finalidade":1,"tipoPlanoConta":"D","gerarFinanceiro":false}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/naturezas-operacao', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "descricao": "Devolução de Compra",
  "tipo": "S",
  "cfopSaidaEstadual": 5201,
  "cfopSaidaInterestadual": 6201,
  "cfopSaidaExterior": null,
  "cfopEntradaEstadual": null,
  "cfopEntradaInterestadual": null,
  "cfopEntradaExterior": null,
  "sobrescreverCfopProduto": false,
  "movimentarEstoque": true,
  "finalidade": 1,
  "tipoPlanoConta": "D",
  "gerarFinanceiro": false
})
});
const data = await response.json();

Python

import requests

data = requests.post(
    'https://api.app.hooked.com.br/api/naturezas-operacao',
    headers={'Authorization': 'Bearer {token}'},
    json={'descricao': 'Devolução de Compra', 'tipo': 'S', 'cfopSaidaEstadual': 5201, 'cfopSaidaInterestadual': 6201, 'cfopSaidaExterior': None, 'cfopEntradaEstadual': None, 'cfopEntradaInterestadual': None, 'cfopEntradaExterior': None, 'sobrescreverCfopProduto': False, 'movimentarEstoque': True, 'finalidade': 1, 'tipoPlanoConta': 'D', 'gerarFinanceiro': False}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"descricao":"Devolução de Compra","tipo":"S","cfopSaidaEstadual":5201,"cfopSaidaInterestadual":6201,"cfopSaidaExterior":null,"cfopEntradaEstadual":null,"cfopEntradaInterestadual":null,"cfopEntradaExterior":null,"sobrescreverCfopProduto":false,"movimentarEstoque":true,"finalidade":1,"tipoPlanoConta":"D","gerarFinanceiro":false}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/naturezas-operacao", 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/naturezas-operacao');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'descricao' => 'Devolução de Compra',
        'tipo' => 'S',
        'cfopSaidaEstadual' => 5201,
        'cfopSaidaInterestadual' => 6201,
        'cfopSaidaExterior' => null,
        'cfopEntradaEstadual' => null,
        'cfopEntradaInterestadual' => null,
        'cfopEntradaExterior' => null,
        'sobrescreverCfopProduto' => false,
        'movimentarEstoque' => true,
        'finalidade' => 1,
        'tipoPlanoConta' => 'D',
        'gerarFinanceiro' => false
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — POST /api/naturezas-operacao",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.app.hooked.com.br/api/naturezas-operacao",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"descricao\":\"Devolução de Compra\",\"tipo\":\"S\",\"cfopSaidaEstadual\":5201,\"cfopSaidaInterestadual\":6201,\"cfopSaidaExterior\":null,\"cfopEntradaEstadual\":null,\"cfopEntradaInterestadual\":null,\"cfopEntradaExterior\":null,\"sobrescreverCfopProduto\":false,\"movimentarEstoque\":true,\"finalidade\":1,\"tipoPlanoConta\":\"D\",\"gerarFinanceiro\":false}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/naturezas-operacao/{id}

Descrição: Retorna os dados de uma natureza de operação pelo ID.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da natureza de operação

Resposta de Sucesso 200

Retorna o objeto completo conforme formato da listagem.

Códigos de Erro

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

Exemplos de Código

cURL

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

JavaScript

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

Python

import requests

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

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{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/naturezas-operacao/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{id}

Descrição: Atualiza os dados de uma natureza de operação existente.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID da natureza de operação a atualizar

Corpo da Requisição

Mesmo formato do POST, com o campo id preenchido.

Resposta de Sucesso 200

Retorna a natureza de operação atualizada.

Códigos de Erro

CódigoDescrição
400Dados inválidos
401Token ausente ou inválido
404Natureza de operação não encontrada
500Erro interno do servidor

Exemplos de Código

cURL

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

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{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/naturezas-operacao/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{id}

Descrição: Remove uma natureza de operação pelo ID.

Parâmetros

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

Resposta de Sucesso 200

Retorna a natureza de operação removida.

Códigos de Erro

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

Exemplos de Código

cURL

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

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/naturezas-operacao/{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/naturezas-operacao/{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/naturezas-operacao/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "DELETE",
        "url": "https://api.app.hooked.com.br/api/naturezas-operacao/{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": {}
}
← Regras TributáriasSPEDs Fiscais →
  • 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.