Configurar o que é registrado
Liga e desliga o registro de cada par tipo e ação, e semeia a lista padrão de pares.
Nem tudo precisa ser registrado. Cada par type + action (por exemplo orders + update) tem uma chave enabled. Um evento só entra no registro se o par existir e estiver ligado. As rotas desta página exigem o privilégio manage_log_settings.
Ler configuração
/api/v1/admin/logs/settingsAdminLista os pares tipo/ação e se estão ligados
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/logs/settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Configuração
json
{
"settings": [
{
"type": "auth",
"action": "login",
"enabled": true
},
{
"type": "orders",
"action": "update",
"enabled": true
}
]
}Campos da resposta
settingsarrayOrdenado por
type e action.settings[].typestringFamília do evento.
settings[].actionstringAção.
settings[].enabledbooleantrue grava o evento; false o descarta.Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_log_settings"]} |
| 500 | Falha ao consultar. | {"error":"failed to get log settings","detail":"..."} |
Alterar configuração
/api/v1/admin/logs/settingsAdminLiga ou desliga pares tipo/ação
Corpo da requisição
settingsarrayobrigatórioLista de pares a gravar. Pares não citados ficam como estão.
typestringobrigatórioFamília do evento.
actionstringobrigatórioAção.
enabledbooleanobrigatórioLigado ou desligado.
Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/admin/logs/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"settings": [{"type": "orders", "action": "update", "enabled": true}]}'Resposta
200Configuração salva
json
{
"message": "log settings updated",
"settings": [
{
"type": "orders",
"action": "update",
"enabled": true
}
]
}Campos da resposta
messagestringSempre
log settings updated.settingsarrayA configuração completa depois da alteração (mesmo formato de Ler configuração).
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_log_settings"]} |
| 400 | Corpo não é JSON válido. | {"error":"invalid request body","detail":"..."} |
| 500 | Falha ao gravar. | {"error":"failed to update log settings","detail":"..."} |
Semear pares padrão
/api/v1/admin/logs/seed-settingsAdminCria os pares padrão que faltam
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/logs/seed-settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Pares criados
json
{
"message": "default log settings seeded"
}Campos da resposta
messagestringSempre
default log settings seeded.Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_log_settings"]} |
| 500 | Falha ao gravar. | {"error":"failed to seed log settings","detail":"..."} |