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

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
Todos os endpoints requerem autenticação via Bearer Token:
Authorization: Bearer {token}

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": "R",
      "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.)
tipoPlanoContastringR = Receita, D = Despesa
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": "D",
  "gerarFinanceiro": false
}

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.