Confirmar ações da VI
Lista as ações que a VI executou ou deixou de executar e confirma ou recusa uma ação pendente.
É a trava de segurança da VI. Quando ela quer alterar algo, propõe e espera. A alteração só acontece quando um administrador chama POST /agent-actions/confirm com o token do bloco vi:confirm. A ação executada é exatamente a que foi mostrada, com as credenciais de quem clicou. GET /agent-actions é o registro: toda alteração (nunca as leituras) fica lá, executada ou não.
Listar ações
Devolve a auditoria das alterações pedidas à VI, da mais recente para a mais antiga. São duas abas: as executadas e as não executadas (recusadas pelo administrador, recusadas pela API ou sem credencial). A lista cobre a loja inteira, não só o usuário do token.
/api/v1/admin/intelligence/agent-actionsAdminListar ações executadas e não executadas
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Parâmetros de consulta
statusstringpadrão: EENN devolve as executadas.pageintegerpadrão: 1per_pageintegerpadrão: 50Exemplo de requisição
curl "$BASE_URL/api/v1/admin/intelligence/agent-actions?status=N&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"items": [
{
"id": "8c5557c3-c732-4b2a-b118-06e698145008",
"user_id": "67bf291c-0846-4053-9528-8cfd5ab0ebf1",
"user_name": "Maria Souza",
"session_id": "70f59718-3e64-4702-8cb9-379e0918e0bf",
"status": "N",
"action_type": "U",
"description": "Ativar idioma inglês na loja",
"method": "PUT",
"path": "/settings",
"http_status": 400,
"reason": "a API recusou (HTTP 400)",
"created_at": "2026-09-29T17:04:57.711804Z"
}
],
"total": 573
}Campos da resposta
items[].iduuiditems[].user_iduuiditems[].user_namestringitems[].session_iduuiditems[].statusstringENE executada, N não executada.items[].action_typestringUDU alteração (POST, PUT, PATCH) ou D exclusão (DELETE).items[].descriptionstringmethod e path.items[].methodstringitems[].pathstringitems[].http_statusintegeritems[].reasonstringN).items[].created_atstringtotalintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
Confirmar ou recusar
Responde ao bloco vi:confirm. Com approved: true, executa a ação pendente usando o token de acesso desta chamada (portanto, com as permissões de quem clicou). Com approved: false, descarta a ação e registra "não confirmada". A rota responde sempre 200 quando o corpo é válido: o resultado está no campo status do JSON.
/api/v1/admin/intelligence/agent-actions/confirmAdminConfirmar ou recusar uma ação
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Content-Typestringobrigatórioapplication/json.Corpo da requisição
tokenstringobrigatóriovi:confirm.approvedbooleanobrigatóriotrue executa, false descarta.Exemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/intelligence/agent-actions/confirm" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"token": "83a02587a9546e662ecac4df02acc928",
"approved": true
}'Resposta
{
"status": 200,
"body": { "updated": 1 },
"conversa": "Pronto, desativei a promoção."
}{ "status": 200 }{
"status": 410,
"error": "Não encontrei mais esta confirmação, então não executei nada e a loja está como estava. Me peça a ação de novo aqui na conversa que eu abro uma confirmação nova."
}Campos da resposta
statusinteger410 token vencido ou já usado; 401 sem credencial utilizável; 502 falha ao chamar o painel.bodyobjecterrorstringstatus não é de sucesso.conversastringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 400 | Corpo que não é JSON (ou maior que 64 KB). | {"error":"corpo inválido"} (devolvido em português) |
| 400 | token vazio. | {"error":"token obrigatório"} (devolvido em português) |