Acessos
Visão Geral
O módulo Acessos é responsável pela autenticação dos usuários na API. Por meio dele é possível obter o Bearer Token necessário para consumir todos os demais endpoints protegidos.
Base URL
/api/conta
Este módulo não requer autenticação prévia — é o ponto de entrada para obtê-la. Todos os demais módulos exigem o token gerado aqui.
Endpoints
POST
/api/conta/login
Descrição: Autentica um usuário com e-mail e senha e retorna um Bearer Token de acesso.
Parâmetros
Nenhum parâmetro de query ou path.
Corpo da Requisição
{
"email": "[email protected]",
"password": "senha123"
}
| Campo | Tipo | Obrigatório | Regras | Descrição |
|---|---|---|---|---|
email | string | ✓ | formato e-mail, mín. 1 char | E-mail do usuário cadastrado |
password | string | ✓ | mín. 6, máx. 100 chars | Senha do usuário |
Resposta de Sucesso 200
{
"success": true,
"data": {
"serviceToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...<token>",
"user": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"nome": "[email protected]",
"email": "[email protected]",
"admin": false,
"ativo": true,
"timezone": "America/Sao_Paulo",
"contador": false,
"codigoOperador": null,
"exibirSomenteProdutoAcabado": null,
"exibirSomenteProdutoMateriaPrima": null,
"exibirSomenteProdutoMaterialRevenda": null,
"bloquearVisualizarCustoMarkup": null,
"desabilitarValorUnitario": false,
"visualizarSomenteSeusPedidos": false,
"editarPedidoAprovado": false,
"aprovarPedido": false,
"pessoaId": null,
"menus": null,
"empresasNaoAutorizadas": null
}
}
}
Como usar o token
Após o login, inclua o token no header de todas as requisições:
Authorization: Bearer {token}
Códigos de Erro
| Código | Descrição |
|---|---|
400 | Dados inválidos — e-mail ou senha fora do formato esperado |
401 | Credenciais incorretas — e-mail ou senha não conferem |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/conta/login" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"senha123"}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/conta/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email: '[email protected]', password: 'senha123' })
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/conta/login',
json={'email': '[email protected]', 'password': 'senha123'}
).json()
Go
import (
"bytes"
"encoding/json"
"net/http"
)
body, _ := json.Marshal(map[string]string{
"email": "[email protected]",
"password": "senha123",
})
resp, _ := http.Post(
"https://api.app.hooked.com.br/api/conta/login",
"application/json", bytes.NewBuffer(body),
)
defer resp.Body.Close()
PHP
$ch = curl_init('https://api.app.hooked.com.br/api/conta/login');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode(['email' => '[email protected]', 'password' => 'senha123']),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/conta/login",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/conta/login",
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\n \"email\": \"[email protected]\",\n \"password\": \"senha123\"\n}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
