Estoques
Visão Geral
O módulo Estoques controla a movimentação de estoque dos produtos, registrando entradas e saídas físicas e financeiras. Suporta controle por lote, rastreabilidade e geração de relatórios de inventário, lote e rastreabilidade em Excel.
Base URL
Authorization: Bearer {token}
Endpoints
Descrição: Retorna uma lista paginada de movimentações de estoque com filtros por produto, empresa e período.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
produtoId | integer (int32) | query | — | Filtra por produto |
empresaId | integer (int64) | query | — | Filtra por empresa |
dataInicial | string (date-time) | query | — | Data inicial do período |
dataFinal | string (date-time) | query | — | Data final do período |
property | string | query | — | Campo pelo qual ordenar |
orderBy | string | query | — | Direção: asc ou desc |
pageNumber | integer | query | — | Número da página (padrão: 1) |
pageSize | integer | query | — | Registros por página (padrão: 20) |
Resposta de Sucesso 200
{
"pagination": {
"currentPage": 1,
"totalPages": 5,
"pageSize": 20,
"totalCount": 98,
"hasPrevious": false,
"hasNext": true
},
"data": [
{
"id": 1,
"empresaId": 1,
"produtoId": 10,
"produtoNome": "Produto Exemplo",
"produtoCodigoInterno": "PRD-001",
"entradaFisico": 100.0,
"saidaFisico": 0.0,
"entradaFinanceiro": 1500.00,
"saidaFinanceiro": 0.0,
"entradaUnitarioFinanceiro": 15.00,
"saidaUnitarioFinanceiro": 0.0,
"data": "2024-03-01T10:00:00",
"pessoaId": 5,
"pessoaNome": "Fornecedor Exemplo",
"numero": "NF-001",
"tipo": "E",
"notaFiscalId": 50,
"pedidoId": null,
"lote": "LOTE-2024-001",
"loteDataVencimento": "2025-03-01T00:00:00",
"observacao": null
}
],
"summary": null
}
Campos da Resposta — data[]
| Campo | Tipo | Descrição |
|---|---|---|
id | integer (int64) | Identificador da movimentação |
empresaId | integer | ID da empresa |
produtoId | integer | ID do produto |
produtoNome | string | Nome do produto |
entradaFisico | number | Quantidade de entrada física |
saidaFisico | number | Quantidade de saída física |
entradaFinanceiro | number | Valor de entrada financeira |
saidaFinanceiro | number | Valor de saída financeira |
data | string (date-time) | Data da movimentação |
tipo | string | E = Entrada, S = Saída |
lote | string | Identificação do lote |
loteDataVencimento | string (date-time) | Data de vencimento do lote |
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques", 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/estoques');
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/estoques",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques",
"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: Registra uma movimentação manual de estoque (entrada ou saída).
Corpo da Requisição
{
"empresaId": 1,
"produtoId": 10,
"entradaFisico": 50.0,
"saidaFisico": 0.0,
"entradaFinanceiro": 750.00,
"saidaFinanceiro": 0.0,
"entradaUnitarioFinanceiro": 15.00,
"saidaUnitarioFinanceiro": 0.0,
"data": "2024-03-15T09:00:00",
"tipo": "E",
"lote": "LOTE-2024-002",
"loteDataVencimento": "2025-03-15T00:00:00",
"observacao": "Entrada manual de reposição"
}
Resposta de Sucesso 200
Retorna a movimentação criada com o mesmo formato do GET /api/estoques/{id}.
Códigos de Erro
| Código | Descrição |
|---|---|
400 | Dados inválidos |
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/estoques" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"empresaId":1,"produtoId":10,"entradaFisico":50.0,"saidaFisico":0.0,"entradaFinanceiro":750.0,"saidaFinanceiro":0.0,"entradaUnitarioFinanceiro":15.0,"saidaUnitarioFinanceiro":0.0,"data":"2024-03-15T09:00:00","tipo":"E","lote":"LOTE-2024-002","loteDataVencimento":"2025-03-15T00:00:00","observacao":"Entrada manual de reposição"}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"empresaId": 1,
"produtoId": 10,
"entradaFisico": 50.0,
"saidaFisico": 0.0,
"entradaFinanceiro": 750.0,
"saidaFinanceiro": 0.0,
"entradaUnitarioFinanceiro": 15.0,
"saidaUnitarioFinanceiro": 0.0,
"data": "2024-03-15T09:00:00",
"tipo": "E",
"lote": "LOTE-2024-002",
"loteDataVencimento": "2025-03-15T00:00:00",
"observacao": "Entrada manual de reposição"
})
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/estoques',
headers={'Authorization': 'Bearer {token}'},
json={'empresaId': 1, 'produtoId': 10, 'entradaFisico': 50.0, 'saidaFisico': 0.0, 'entradaFinanceiro': 750.0, 'saidaFinanceiro': 0.0, 'entradaUnitarioFinanceiro': 15.0, 'saidaUnitarioFinanceiro': 0.0, 'data': '2024-03-15T09:00:00', 'tipo': 'E', 'lote': 'LOTE-2024-002', 'loteDataVencimento': '2025-03-15T00:00:00', 'observacao': 'Entrada manual de reposição'}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"empresaId":1,"produtoId":10,"entradaFisico":50.0,"saidaFisico":0.0,"entradaFinanceiro":750.0,"saidaFinanceiro":0.0,"entradaUnitarioFinanceiro":15.0,"saidaUnitarioFinanceiro":0.0,"data":"2024-03-15T09:00:00","tipo":"E","lote":"LOTE-2024-002","loteDataVencimento":"2025-03-15T00:00:00","observacao":"Entrada manual de reposição"}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/estoques", 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/estoques');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'empresaId' => 1,
'produtoId' => 10,
'entradaFisico' => 50.0,
'saidaFisico' => 0.0,
'entradaFinanceiro' => 750.0,
'saidaFinanceiro' => 0.0,
'entradaUnitarioFinanceiro' => 15.0,
'saidaUnitarioFinanceiro' => 0.0,
'data' => '2024-03-15T09:00:00',
'tipo' => 'E',
'lote' => 'LOTE-2024-002',
'loteDataVencimento' => '2025-03-15T00:00:00',
'observacao' => 'Entrada manual de reposição'
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/estoques",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/estoques",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"empresaId\":1,\"produtoId\":10,\"entradaFisico\":50.0,\"saidaFisico\":0.0,\"entradaFinanceiro\":750.0,\"saidaFinanceiro\":0.0,\"entradaUnitarioFinanceiro\":15.0,\"saidaUnitarioFinanceiro\":0.0,\"data\":\"2024-03-15T09:00:00\",\"tipo\":\"E\",\"lote\":\"LOTE-2024-002\",\"loteDataVencimento\":\"2025-03-15T00:00:00\",\"observacao\":\"Entrada manual de reposição\"}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
Descrição: Retorna uma lista paginada de movimentações de estoque filtradas por lote específico, com suporte a período e produto.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
produtoId | integer (int32) | query | — | Filtra por produto |
empresaId | integer (int64) | query | — | Filtra por empresa |
lote | string | query | — | Código do lote a consultar |
dataInicial | string (date-time) | query | — | Data inicial |
dataFinal | string (date-time) | query | — | Data final |
property | string | query | — | Campo de ordenação |
orderBy | string | query | — | Direção: asc ou desc |
pageNumber | integer | query | — | Número da página |
pageSize | integer | query | — | Registros por página |
Resposta de Sucesso 200
Retorna paginação e dados no mesmo formato do GET /api/estoques, com informações detalhadas de lote.
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques/lotes" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/lotes', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques/lotes',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques/lotes", 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/estoques/lotes');
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/estoques/lotes",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques/lotes",
"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: Retorna os dados de uma movimentação de estoque pelo ID.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
id | integer (int64) | path | ✓ | ID da movimentação |
Resposta de Sucesso 200
Retorna o objeto completo da movimentação conforme descrito no GET /api/estoques.
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
404 | Movimentação não encontrada |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/{id}', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques/{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/estoques/{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/estoques/{id}",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques/{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: Remove uma movimentação de estoque manual pelo ID.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
id | integer (int64) | path | ✓ | ID da movimentação a remover |
Resposta de Sucesso 200
Retorna a movimentação removida.
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
404 | Movimentação não encontrada |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X DELETE "https://api.app.hooked.com.br/api/estoques/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/{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/estoques/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/estoques/{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/estoques/{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/estoques/{id}",
"nodes": [
{
"parameters": {
"method": "DELETE",
"url": "https://api.app.hooked.com.br/api/estoques/{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: Gera o relatório de inventário do estoque em uma data específica, com posição de todos os produtos. Pode ser exportado para Excel.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
data | string (date-time) | query | — | Data de referência do inventário |
empresaId | integer (int64) | query | — | ID da empresa |
excel | boolean | query | — | true para exportar em Excel (.xlsx) |
Resposta de Sucesso 200
Retorna o relatório em JSON ou arquivo Excel (quando excel=true).
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-inventario" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/gerar-relatorio-inventario', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques/gerar-relatorio-inventario',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-inventario", 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/estoques/gerar-relatorio-inventario');
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/estoques/gerar-relatorio-inventario",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-inventario",
"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: Gera relatório de estoque por lote, com opção de exibir somente itens com saldo positivo e exportação para Excel.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
empresaId | integer (int64) | query | — | ID da empresa |
dataInicial | string (date-time) | query | — | Data inicial |
dataFinal | string (date-time) | query | — | Data final |
produtoId | integer (int64) | query | — | Filtra por produto |
exibirSomenteComEstoque | boolean | query | — | true = exibe apenas lotes com saldo > 0 |
excel | boolean | query | — | true para exportar em Excel |
Resposta de Sucesso 200
Relatório em JSON ou Excel.
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-lote" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/gerar-relatorio-lote', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques/gerar-relatorio-lote',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-lote", 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/estoques/gerar-relatorio-lote');
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/estoques/gerar-relatorio-lote",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-lote",
"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: Gera relatório de rastreabilidade de um lote específico, mostrando toda a cadeia de entradas e saídas associadas a ele.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
empresaId | integer (int64) | query | — | ID da empresa |
lote | string | query | — | Código do lote a rastrear |
excel | boolean | query | — | true para exportar em Excel |
Resposta de Sucesso 200
Relatório de rastreabilidade em JSON ou Excel.
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-rastreabilidade" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/estoques/gerar-relatorio-rastreabilidade', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/estoques/gerar-relatorio-rastreabilidade',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-rastreabilidade", 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/estoques/gerar-relatorio-rastreabilidade');
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/estoques/gerar-relatorio-rastreabilidade",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/estoques/gerar-relatorio-rastreabilidade",
"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": {}
}
