Ett test spelar upp ett samtal i text: en simulerad uppringare spelar scenario, agenten svarar utifrån sitt utkast (instruktioner, första meddelande och kunskap), och en bedömare prövar samtalet mot success_criteria. Skriv tester för de samtal som är viktiga, kör dem efter varje ändring och publicera när de går igenom.
curl https://evasay.com/api/v1/voice/agents/AGENT_ID/tests \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"name": "Move a booking",
"scenario": "A regular customer wants to move Friday 3 pm to Saturday morning.",
"success_criteria": "Offers Saturday times and confirms the new time and the customer'"'"'s name.",
"max_turns": 8
}'
POST /agents/{id}/test-runs kör alla agentens tester, eller de i test_ids, och svarar med en körning per test (status: "running"). Fråga GET /test-runs/{id} tills status är passed, failed eller error; då innehåller körningen transcript och bedömarens reason (på engelska, eller på kinesiska med reason_language: "zh"). Varje körning kostar Credits, som visas vid testerna i instrumentpanelen; körningarna stannar vid den första som saldot inte räcker till, och not_started listar resten. En körning som inte kan genomföras återbetalas. Tester kontrollerar vad agenten säger, inte rösten eller tajmingen, och anropar inte dess funktioner: förhandsgranska dem med POST /tools/{id}/test. En agent har upp till 30 tester; PATCH och DELETE /agents/{id}/tests/{test_id} ändrar eller tar bort ett.
Förutom hela samtal (type: "simulation", standard) kan ett test kontrollera ett enda svar. type: "next_reply" tar chat_history, samtalet före som slutar med uppringaren ([{role, text}], där role är caller eller agent), och success_criteria för agentens nästa svar. type: "tool_call" tar chat_history och expected_tool {name, arguments, match}: agenten ska anropa name (en av sina funktioner, eller end_call, transfer_call, handoff_to_agent) med arguments, jämförda exakt (text trimmad, skiftläge ignorerat) eller med match: "judge" efter betydelse; andra argument ignoreras. En körnings transcript visar de anropade funktionerna i tool_calls.
POST /agents/{id}/tests/generate föreslår tester utifrån agentens utkast: instruktioner, kunskap och funktioner. Den tar count (1–10, standard 5), types, focus (vad som ska täckas) och language (en eller zh, för namn och kriterier), kostar Credits som en körning och svarar med utkast att granska och skicka till POST /agents/{id}/tests; med save: true sparas de.