Investigate V2
Recebe um message_id e generalInstructions, analisa os dados de cost_control e explica por que a IA respondeu daquela forma
Você pode testar esta rota diretamente em nossa documentação interativa.
Endpoint
POST /api/externalAPIs/public/investigateV2
Parâmetros
UUID da mensagem a ser investigada. Aceita também o alias messageId (camelCase).
Instruções ou questionamento do gestor sobre a resposta da IA. Aceita também o alias general_instructions (snake_case).
Quando true, considera todos os callers da mensagem na análise — busca todos os registros de cost_control sem filtrar por caller, executa análises prévias dos callers auxiliares (ex: retrieveMemory, decisionChain) e inclui-as como contexto na análise principal. Ignora os campos caller e callers.
Filtro por múltiplos callers. Mesmo que outros callers sejam informados, createAssistantResponse é sempre incluído. Ignorado se autoCaller for true. O campo caller (string) é aceito como alias de callers.
Provider do LLM a ser usado na análise (ex: "openai", "anthropic", "cerebras"). Aceita também o alias mainProvider.
Modelo específico do LLM (ex: "gpt-4", "claude-3-opus", "gpt-oss-120b"). Se não informado, usa o modelo padrão do provider. Aceita também o alias mainModel.
Exemplo
curl -X POST {{BASE_URL}}/api/externalAPIs/public/investigateV2 \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"message_id": "123e4567-e89b-12d3-a456-426614174000",
"generalInstructions": "Por que a IA respondeu de forma tão formal nesta mensagem?",
"autoCaller": true,
"provider": "openai",
"model": "gpt-4"
}'
Resposta
{
"code": 200,
"message": "Success",
"data": {
"analysis": {
"json": {
"summary": "A resposta formal foi influenciada pelas instruções do sistema que enfatizam profissionalismo.",
"snippets": [
{
"aiSnippet": "Olá! Como posso ajudá-lo hoje?",
"instructionSnippets": [
{
"snippet": "Sempre mantenha um tom profissional e formal...",
"explanation": "Esta instrução direcionou a IA a usar linguagem formal.",
"score": 8
}
]
}
]
},
"formato": "json"
},
"error": null,
"tokens_used": {
"prompt_tokens": 1500,
"completion_tokens": 800,
"total_tokens": 2300
}
}
}
Campos da Resposta
Resultado da análise. null em caso de erro.
Mensagem de erro, se houver. null em caso de sucesso.
Tokens consumidos na análise.
Erros
| Código | Descrição |
|---|---|
400 | Campos obrigatórios ausentes ou inválidos |
401 | Token inválido ou ausente |
404 | Mensagem ou cost_control não encontrado |
500 | Erro interno do servidor |
Para investigação com dados completos de processamento e métricas, veja também Investigate Message (V1).