Send POST /api/v1/voice/calls/{id}/control, mens et opkald er i gang. Den worker, der kører opkaldet, opfanger kommandoen inden for omkring 2 sekunder; API'et svarer 202. Kan den worker, der kører opkaldet, ikke nås, svarer API'et 503 (code call_unreachable), og kommandoen udføres ikke.
type | Hvad der sker |
|---|---|
say | Agenten siger text efter sin igangværende sætning, eller med det samme med "interrupt": true |
note | Agenten får at vide text (siges ikke) og tager højde for det fra sit næste svar; udskriften noterer det |
end | Agenten siger text, hvis den er angivet, og lægger så på; et telefonopkald uden text lægges på med det samme |
Opkaldets ended_reason er så api_ended. Opkaldssiden i dashboardet har de samme kontroller.
POST /api/v1/voice/calls/{id}/listen (eventuelt { "channels": 2 }) returnerer en listen_url, som du kan åbne inden for to minutter. Det er en WebSocket: først en JSON-besked {"type":"start","sampleRate":8000,"channels":1,"encoding":"pcm_s16le"}, så binære rammer med 16-bit little-endian PCM med det, opringeren hører (begge stemmer blandet; med channels: 2 opringeren til venstre og agenten til højre). Den lukker, når opkaldet slutter. Lyden kommer direkte fra den worker, der kører opkaldet, ikke gennem EvaSays kontrolplan; knappen Lyt med på dashboardets opkaldsside bruger den samme adresse.