Luo agentti mallista ja määritä halutessasi sen kentät samassa pyynnössä. Ilman template-arvoa se alkaa tyhjänä; GET /api/v1/voice/catalog luettelee mallit sekä kielet ja äänet, joita agentille voi antaa. Mallit on kirjoitettu englanniksi ja kiinaksi, joten muulla kielellä lähetä system_prompt ja first_message sillä kielellä. Joko koko pyyntö tallennetaan tai agenttia ei luoda lainkaan, joten hylätyn pyynnön voi korjattuna lähettää uudelleen. Vastauksen dashboard_url on agentin sivu hallintapaneelissa, jossa voit puhua luonnoksen kanssa selaimessa. Jokainen agentti toimii EvaSay ASR:llä, EvaSay LLM:llä ja EvaSay TTS:llä, jotka EvaSay valitsee jokaiselle puhelulle kielen ja kuormituksen mukaan ja jotka sisältyvät puhelun hintaan; muiden palveluntarjoajien tilejä ei tarvitse määrittää.
curl https://evasay.com/api/v1/voice/agents \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"name": "Front desk",
"language": "en",
"first_message": "Hi, thanks for calling Sunrise Salon. How can I help?",
"system_prompt": "You are the front desk of Sunrise Salon..."
}'
Päivitä mitä tahansa näistä kentistä komennolla PATCH /api/v1/voice/agents/{id}:
| Kenttä | Huomautukset |
|---|---|
name, first_message, system_prompt | Teksti |
status | published julkaisee luonnoksen uutena versiona; draft lopettaa puheluiden vastaanoton |
language | Yksi 27 kielestä, esim. en, zh, es, de, tai multi soittajan kielen mukaan |
temperature | 0-100 |
max_duration_sec, silence_timeout_sec | Puhelun rajat |
interruptible, end_call_enabled | Totuusarvot |
confirm_details | Totuusarvo; lukee numerot ja nimet takaisin ja pyytää vahvistuksen |
ai_disclosure | Totuusarvo, oletus true; ennen ensimmäistä viestiään agentti sanoo puhelun kielellä, että soittaja puhuu tekoälyn kanssa (jätetään pois, kun ensimmäinen viesti jo kertoo sen) |
voicemail_detection | Totuusarvo; lähtevät puhelut kuuntelevat ensin ja päättyvät vastaajaan |
voicemail_message | Jätetään vastaajaan, voi käyttää {{variables}}; ei mitään, jos halutaan katkaista |
transfer_number | Numero, johon siirretään, kansainvälisessä muodossa |
transfer_destinations | Enintään 9 lisänumeroa, [{name, number, when}]; agentti valitsee yhden kentän when perusteella |
transfer_briefing | Totuusarvo; ensimmäisenä vastaava kuulee agentin tekemän yhteenvedon puhelusta |
pronunciations | Enintään 100 kohtaa [{word, say, case_sensitive}]; ääni sanoo say sanan word sijaan |
idle_messages | Enintään 3 muistutusta, jotka sanotaan vuorotellen hiljaiselle soittajalle ennen puhelun päättymistä |
noise_reduction | Totuusarvo; soittajan taustamelu suodatetaan ennen kuin se kuullaan |
recording_enabled | Totuusarvo; puhelut tallennetaan kahdelle kanavalle (soittaja vasemmalle, agentti oikealle) |
recording_consent | announce, ask (säilytetään vain, jos soittaja suostuu) tai none |
recording_notice | Ensin sanottava ilmoitus tai kysymys; tyhjä tarkoittaa sisäänrakennettua tekstiä puhelun kielellä |
handoffs | Enintään 5 kohtaa [{agent_id, when}]: muut agentit, joille tämä saa luovuttaa puhelun |
knowledge_base_id | Yksi tietopankeistasi |
vocabulary_id | Yksi sanastoistasi; sen termit tunnistetaan luotettavammin, kun soittaja sanoo ne |
voice_id | Sisäänrakennetun EvaSay-äänen tunnus tai yksi kloonatuista äänistäsi (clone:…) |
Sisäänrakennetut äänet riippuvat kielestä: kiinalla on ming-designed-female-clear ja ming-designed-female-warm (naisäänet), ming-designed-male-clear ja ming-designed-male-friendly (miesäänet), muilla kielillä F1–F5 (naisäänet) ja M1–M5 (miesäänet). Sisäänrakennettu ääni, joka ei puhu agentin kieltä, korvataan samaa sukupuolta olevalla äänellä, joka puhuu. Vanhempaa kentän nimeä tts_voice_id hyväksytään edelleen. Muut voice_id-arvot ja kloonattu ääni, joka ei ole vielä valmis, hylätään.
analysis_config määrittää, mitä kustakin puhelusta selvitetään sen päätyttyä: summary (oletus true), summaryLanguage, successCriteria (mitä onnistunut puhelu saavuttaa), fields (enintään 20 poimittavaa {name, type, description}, jossa type on string, number tai boolean) ja scorecard (enintään 10 {name, description, weight}, paino 1–5). Tulokset ovat puhelun analysis-kentässä ja call.analyzed-webhookissa.
Agentin kenttien muuttaminen muuttaa sen luonnosta. Puhelut käyttävät edelleen julkaistua versiota, kunnes julkaiset luonnoksen komennolla POST /api/v1/voice/agents/{id}/publish (halutessasi note-kentän kanssa) tai status: "published" samassa PATCH-pyynnössä. Jokainen julkaisu säilyttää numeroidun version; agentin published_version kertoo, mitä puhelut käyttävät. Puhelu pysyy versiossa, joka oli käytössä sen alkaessa, joten julkaiseminen puhelun aikana ei muuta sitä. Paneelin testipuhelut käyttävät luonnosta.
GET /agents/{id}/versions listaa versiot, ja POST /agents/{id}/versions/{version}/restore palauttaa vanhan: uudet puhelut käyttävät sitä versiota ja luonnoksesta tulee se. Agentin nimi, käyttöönotto, widgetin ulkoasu ja ilmoitukset eivät ole versioituja ja muuttuvat heti, samoin tietopankin asiakirjat.