Pular para o conteúdo

Simular conversa

POST/v1/instances/{id}/attendant/simulatedesde M5btoken da instância ou admin

Quando usar

Roda um agente (salvo, o ativo, ou um perfil ainda não salvo em agent) contra mensagens de exemplo sem enviar nada. from: customer (padrão), agent, human, automatic. A última mensagem precisa ser do cliente (ou use trigger: "call" para a mensagem pós-ligação). É uma chamada real ao provedor e conta no limite diário.

Autenticação

Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).

Parâmetros

Caminho

NomeTipoDescrição
idobrigatóriostringId da instância (inst_...).

Corpo (JSON)

NomeTipoDescrição
agent_idstring
agentAttendantProfile
agent.nameobrigatóriostring (até 80)
agent.mode"vendedor" | "pedido" | "sdr" | "suporte" | "custom"
agent.objectivestring
agent.stepsstring[]
agent.tonestring
agent.handoff_criteriastring[]
agent.actions"handoff" | "lead" | "appointment" | "order_draft"[]
agent.businessstringContexto do negócio (texto livre
agent.knowledgeobject[] (até 300 itens)
agent.languagestring (padrão "pt-BR")
agent.currencystring (padrão "BRL")
agent.voice_reply"off" | "when_audio" | "always" (padrão "off")
agent.call_followupboolean
agent.call_hintstring
agent.max_reply_charsinteger (padrão 1000, 50–4000)
agent.hide_contact_nameboolean
messagesobject[] (até 50 itens)
trigger"call"
contact_namestring

Exemplo

Janela do terminal
curl -s -X POST "$LITEZAP_URL/v1/instances/$ID/attendant/simulate" \
-H "Authorization: Bearer $LITEZAP_TOKEN" \
-d '{"messages":[{"from":"automatic","text":"Não atendemos ligações, mande mensagem."},{"text":"quero 2 margheritas pra Rua B 5"}]}'

Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.

Resposta

200 O que o agente faria.

Campos de object
replystring
voiceboolean
handoffboolean
handoff_notestring
eventsobject[]
modelstring
usageobject
usage.input_tokensinteger
usage.output_tokensinteger
usage.cost_usdnumber
{
"reply": "Resumo: 2x Pizza Margherita (R$ 90,00), entrega na Rua B, 5. Confirma?",
"voice": false,
"handoff": false,
"events": [
{
"type": "agent.order_draft",
"items": [
{
"name": "Pizza Margherita",
"quantity": 2,
"unit_price": 45,
"subtotal": 90,
"in_catalog": true
}
],
"total": 90,
"currency": "BRL",
"address": "Rua B, 5"
}
],
"model": "claude-sonnet-5-5",
"usage": {
"input_tokens": 1830,
"output_tokens": 120,
"cost_usd": 0.00486
}
}

Erros

CódigoHTTPRetentávelO que fazer
validation_failed400nãoCorrija o corpo ou os parâmetros; a message diz o campo.
unauthorized401nãoEnvie Authorization: Bearer <token> válido.
forbidden403nãoUse o token certo (admin, ou o da própria instância).
not_found404nãoConfira o id do recurso (mensagem, chat, contato, mídia ou webhook).
instance_not_found404nãoConfira o id da instância.

Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.

Outras operações de Atendente IA: Ler hook de agente · Configurar hook de agente · Remover hook de agente · Ligar ou desligar o atendente numa conversa · Últimas chamadas do atendente · Ler o Atendente LiteZap · Configurar provedor do atendente · Modos prontos do atendente · Listar agentes · Criar agente · Ler agente · Alterar agente · Excluir agente · Ativar agente · Uso e custo do atendente