Send POST /api/v1/voice/calls/{id}/control mens en samtale pågår. Workeren som kjører samtalen, plukker opp kommandoen innen omtrent 2 sekunder; API-et svarer 202. Kan ikke workeren som kjører samtalen nås, svarer API-et 503 (code call_unreachable), og kommandoen utføres ikke.
type | Hva som skjer |
|---|---|
say | Agenten sier text etter den pågående setningen, eller med en gang med "interrupt": true |
note | Agenten får vite text (sies ikke) og tar hensyn til det fra neste svar; utskriften noterer det |
end | Agenten sier text hvis den er oppgitt, og legger deretter på; en telefonsamtale uten text legges på med en gang |
Samtalens ended_reason er da api_ended. Samtalesiden i panelet har de samme kontrollene.
POST /api/v1/voice/calls/{id}/listen (eventuelt { "channels": 2 }) returnerer en listen_url du kan åpne innen to minutter. Det er en WebSocket: først en JSON-melding {"type":"start","sampleRate":8000,"channels":1,"encoding":"pcm_s16le"}, deretter binære rammer med 16-biters little-endian PCM med det innringeren hører (begge stemmene blandet; med channels: 2 innringeren til venstre og agenten til høyre). Den lukkes når samtalen avsluttes. Lyden kommer rett fra workeren som kjører samtalen, ikke gjennom EvaSays kontrollplan; Lytt-knappen på panelets samtaleside bruker den samme adressen.