Tributações
Visão Geral
O módulo Tributações gerencia os regimes e configurações de tributação das empresas cadastradas no sistema. Permite configurar os impostos aplicáveis, alíquotas e consultar cálculos tributários a partir de uma engine de impostos integrada.
Endpoints
Descrição: Lista todas as tributações cadastradas com suporte a paginação e filtros. Autenticação: Obrigatória
Parâmetros de Query
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pagina | integer | Não | Número da página (padrão: 1) |
| quantidade | integer | Não | Itens por página (padrão: 20) |
| nome | string | Não | Filtrar por nome da tributação |
| regime | string | Não | Regime tributário: simples, lucro_presumido, lucro_real |
| ativo | boolean | Não | Filtrar por status ativo/inativo |
Resposta de Sucesso
{
"dados": [
{
"id": "uuid",
"nome": "Simples Nacional - Anexo I",
"regime": "simples",
"faixa": "Faixa 1",
"aliquotaEfetiva": 4.0,
"ativo": true
}
],
"total": 10,
"pagina": 1,
"quantidade": 20
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/tributacoes" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/tributacoes',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/tributacoes", 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/tributacoes');
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/tributacoes",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/tributacoes",
"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": {}
}
Descrição: Cria uma nova configuração de tributação no sistema. Autenticação: Obrigatória
Corpo da Requisição (Request Body)
{
"nome": "Lucro Presumido - Comércio",
"regime": "lucro_presumido",
"percentualPresuncao": 8.0,
"aliquotaIrpj": 15.0,
"aliquotaCsll": 9.0,
"aliquotaPis": 0.65,
"aliquotaCofins": 3.0,
"ativo": true
}
Resposta de Sucesso
{
"id": "uuid",
"nome": "Lucro Presumido - Comércio",
"regime": "lucro_presumido",
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 400 | Dados inválidos |
| 401 | Não autorizado |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/tributacoes" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"nome":"Lucro Presumido - Comércio","regime":"lucro_presumido","percentualPresuncao":8.0,"aliquotaIrpj":15.0,"aliquotaCsll":9.0,"aliquotaPis":0.65,"aliquotaCofins":3.0,"ativo":true}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"nome": "Lucro Presumido - Comércio",
"regime": "lucro_presumido",
"percentualPresuncao": 8.0,
"aliquotaIrpj": 15.0,
"aliquotaCsll": 9.0,
"aliquotaPis": 0.65,
"aliquotaCofins": 3.0,
"ativo": true
})
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/tributacoes',
headers={'Authorization': 'Bearer {token}'},
json={'nome': 'Lucro Presumido - Comércio', 'regime': 'lucro_presumido', 'percentualPresuncao': 8.0, 'aliquotaIrpj': 15.0, 'aliquotaCsll': 9.0, 'aliquotaPis': 0.65, 'aliquotaCofins': 3.0, 'ativo': True}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"nome":"Lucro Presumido - Comércio","regime":"lucro_presumido","percentualPresuncao":8.0,"aliquotaIrpj":15.0,"aliquotaCsll":9.0,"aliquotaPis":0.65,"aliquotaCofins":3.0,"ativo":true}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/tributacoes", 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/tributacoes');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'nome' => 'Lucro Presumido - Comércio',
'regime' => 'lucro_presumido',
'percentualPresuncao' => 8.0,
'aliquotaIrpj' => 15.0,
'aliquotaCsll' => 9.0,
'aliquotaPis' => 0.65,
'aliquotaCofins' => 3.0,
'ativo' => true
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/tributacoes",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/tributacoes",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"nome\":\"Lucro Presumido - Comércio\",\"regime\":\"lucro_presumido\",\"percentualPresuncao\":8.0,\"aliquotaIrpj\":15.0,\"aliquotaCsll\":9.0,\"aliquotaPis\":0.65,\"aliquotaCofins\":3.0,\"ativo\":true}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
Descrição: Retorna os detalhes de uma tributação pelo seu identificador único. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tributação |
Resposta de Sucesso
{
"id": "uuid",
"nome": "Lucro Presumido - Comércio",
"regime": "lucro_presumido",
"percentualPresuncao": 8.0,
"aliquotaIrpj": 15.0,
"aliquotaCsll": 9.0,
"aliquotaPis": 0.65,
"aliquotaCofins": 3.0,
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 404 | Tributação não encontrada |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/tributacoes/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes/{id}', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/tributacoes/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/tributacoes/{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/tributacoes/{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/tributacoes/{id}",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/tributacoes/{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": {}
}
Descrição: Atualiza os dados de uma tributação existente. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tributação |
Corpo da Requisição (Request Body)
{
"aliquotaIrpj": 15.0,
"ativo": true
}
Resposta de Sucesso
{
"id": "uuid",
"nome": "Lucro Presumido - Comércio",
"aliquotaIrpj": 15.0,
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 400 | Dados inválidos |
| 401 | Não autorizado |
| 404 | Tributação não encontrada |
Exemplos de Código
cURL
curl -X PUT "https://api.app.hooked.com.br/api/tributacoes/{id}" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"aliquotaIrpj":15.0,"ativo":true}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes/{id}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"aliquotaIrpj": 15.0,
"ativo": true
})
});
const data = await response.json();
Python
import requests
data = requests.put(
'https://api.app.hooked.com.br/api/tributacoes/{id}',
headers={'Authorization': 'Bearer {token}'},
json={'aliquotaIrpj': 15.0, 'ativo': True}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"aliquotaIrpj":15.0,"ativo":true}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/tributacoes/{id}", 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/tributacoes/{id}');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'aliquotaIrpj' => 15.0,
'ativo' => true
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — PUT /api/tributacoes/{id}",
"nodes": [
{
"parameters": {
"method": "PUT",
"url": "https://api.app.hooked.com.br/api/tributacoes/{id}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"aliquotaIrpj\":15.0,\"ativo\":true}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
Descrição: Remove uma tributação do sistema pelo seu identificador. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tributação |
Resposta de Sucesso
{
"mensagem": "Tributação removida com sucesso"
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 404 | Tributação não encontrada |
| 409 | Tributação vinculada a empresas ou regras |
Exemplos de Código
cURL
curl -X DELETE "https://api.app.hooked.com.br/api/tributacoes/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes/{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/tributacoes/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/tributacoes/{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/tributacoes/{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/tributacoes/{id}",
"nodes": [
{
"parameters": {
"method": "DELETE",
"url": "https://api.app.hooked.com.br/api/tributacoes/{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": {}
}
Descrição: Consulta e calcula os impostos aplicáveis a uma operação específica, com base nos dados do produto, operação, UF e regime tributário da empresa. Autenticação: Obrigatória
Corpo da Requisição (Request Body)
{
"empresaId": "uuid",
"produtoServicoId": "uuid",
"operacaoId": "uuid",
"ufDestino": "SP",
"valorBase": 1000.00,
"quantidade": 10,
"cfop": "5102"
}
Resposta de Sucesso
{
"valorBase": 1000.00,
"impostos": {
"icms": {
"cst": "00",
"aliquota": 12.0,
"valor": 120.00
},
"pis": {
"cst": "01",
"aliquota": 0.65,
"valor": 6.50
},
"cofins": {
"cst": "01",
"aliquota": 3.0,
"valor": 30.00
},
"ipi": {
"cst": "50",
"aliquota": 0.0,
"valor": 0.00
}
},
"totalImpostos": 156.50,
"valorTotal": 1156.50
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 400 | Parâmetros inválidos |
| 401 | Não autorizado |
| 404 | Empresa, produto ou operação não encontrada |
| 422 | Impossível calcular com os dados fornecidos |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/tributacoes/get-taxes" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"empresaId":"uuid","produtoServicoId":"uuid","operacaoId":"uuid","ufDestino":"SP","valorBase":1000.0,"quantidade":10,"cfop":"5102"}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tributacoes/get-taxes', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"empresaId": "uuid",
"produtoServicoId": "uuid",
"operacaoId": "uuid",
"ufDestino": "SP",
"valorBase": 1000.0,
"quantidade": 10,
"cfop": "5102"
})
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/tributacoes/get-taxes',
headers={'Authorization': 'Bearer {token}'},
json={'empresaId': 'uuid', 'produtoServicoId': 'uuid', 'operacaoId': 'uuid', 'ufDestino': 'SP', 'valorBase': 1000.0, 'quantidade': 10, 'cfop': '5102'}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"empresaId":"uuid","produtoServicoId":"uuid","operacaoId":"uuid","ufDestino":"SP","valorBase":1000.0,"quantidade":10,"cfop":"5102"}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/tributacoes/get-taxes", 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/tributacoes/get-taxes');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'empresaId' => 'uuid',
'produtoServicoId' => 'uuid',
'operacaoId' => 'uuid',
'ufDestino' => 'SP',
'valorBase' => 1000.0,
'quantidade' => 10,
'cfop' => '5102'
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/tributacoes/get-taxes",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/tributacoes/get-taxes",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"empresaId\":\"uuid\",\"produtoServicoId\":\"uuid\",\"operacaoId\":\"uuid\",\"ufDestino\":\"SP\",\"valorBase\":1000.0,\"quantidade\":10,\"cfop\":\"5102\"}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
