Lähetä POST /api/v1/voice/calls/{id}/control, kun puhelu on käynnissä. Puhelua pyörittävä worker poimii komennon noin 2 sekunnissa; API vastaa 202. Jos puhelua pyörittävään workeriin ei saada yhteyttä, API vastaa 503 (code call_unreachable), eikä komentoa suoriteta.
type | Mitä tapahtuu |
|---|---|
say | Agentti sanoo text nykyisen lauseensa jälkeen tai heti, jos "interrupt": true |
note | Agentille kerrotaan text (ei puhuta ääneen), ja se ottaa sen huomioon seuraavasta vastauksestaan; litteraatti merkitsee sen |
end | Agentti sanoo text, jos se on annettu, ja katkaisee sitten; puhelu ilman text katkaistaan heti |
Puhelun ended_reason on tällöin api_ended. Paneelin puhelusivulla on samat hallintatoiminnot.
POST /api/v1/voice/calls/{id}/listen (halutessasi { "channels": 2 }) palauttaa listen_url-osoitteen, jonka voi avata kahden minuutin kuluessa. Se on WebSocket: ensin JSON-viesti {"type":"start","sampleRate":8000,"channels":1,"encoding":"pcm_s16le"}, sitten binäärikehyksiä 16-bittistä little-endian PCM:ää sillä, mitä soittaja kuulee (molemmat äänet sekoitettuna; asetuksella channels: 2 soittaja vasemmalla ja agentti oikealla). Se sulkeutuu, kun puhelu päättyy. Ääni tulee suoraan puhelua pyörittävältä workerilta, ei EvaSayn ohjaustason kautta; paneelin puhelusivun Kuuntele-painike käyttää samaa osoitetta.