POSTPlayground do assistente
Roda um turno do assistente sem enviar nada pelo WhatsApp, para testar persona, conhecimento e respostas.
Simula o cliente escrevendo message e devolve o que o assistente responderia. É um teste a seco: nada é enviado ao WhatsApp. Cada chamada é independente (não guarda histórico). Exige manage_settings.
/api/v1/admin/whatsapp-confluence/ai/playgroundAdminTesta uma mensagem no assistente
Corpo da requisição
messagestringobrigatórioTexto que o cliente "escreveria". Obrigatório.
phonestringTelefone de teste. Com ele, o turno roda como aquele cliente (conta, carrinho, histórico de pedidos). Sem ele, só a conversa é exercitada.
resetbooleanAceito por compatibilidade; não tem efeito, porque o playground não guarda histórico.
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/ai/playground" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"message": "Vocês têm camiseta azul?", "phone": "5511987654321"}'Resposta
200Turno simulado
json
{
"reply": "Temos camisetas azuis a partir de R$ 59,90. Quer ver as opções?",
"tool_calls": [
"search_products"
],
"latency_ms": 3120,
"cards": [
{
"name": "Camiseta Azul",
"price_cents": 5990
}
]
}Campos da resposta
replystringResposta do assistente.
tool_callsarrayFerramentas usadas (nomes internos).
latency_msintegerDuração em milissegundos.
cardsarrayCartões de produto que acompanhariam a resposta. Ausente se não houver.
actionsarrayBotões que acompanhariam a resposta (
label, href, variant, intent). Ausente se não houver.wa_previewobjectComo seria o carrossel no WhatsApp. Ausente se não houver.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | message vazia ou JSON inválido. | {"error":"message required"} |
| 502 | O modelo de IA falhou ou ficou indisponível. | {"error":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |
| 403 | O administrador não tem o privilégio manage_settings. | {"error":"insufficient privileges","required":"manage_settings"} |