Küldd el a POST /api/v1/voice/calls/{id}/control kérést, amíg a hívás folyamatban van. A hívást futtató worker nagyjából 2 másodpercen belül felveszi a parancsot; az API 202 választ ad. Ha a hívást futtató worker nem érhető el, az API 503 választ ad (code call_unreachable), és a parancs nem fut le.
type | Mi történik |
|---|---|
say | Az ügynök az aktuális mondata után elmondja a text értéket, vagy azonnal, ha "interrupt": true |
note | Az ügynök megtudja a text értéket (nem mondja ki hangosan), és a következő válaszától figyelembe veszi; az átirat jegyzi |
end | Az ügynök elmondja a text értéket, ha meg van adva, majd lerakja; a text nélküli telefonhívást azonnal lerakja |
A hívás ended_reason értéke ekkor api_ended. A vezérlőpult hívásoldalán ugyanezek a vezérlők vannak.
A POST /api/v1/voice/calls/{id}/listen (opcionálisan { "channels": 2 }) egy listen_url címet ad vissza, amelyet két percen belül megnyithatsz. Ez egy WebSocket: először egy JSON-üzenet {"type":"start","sampleRate":8000,"channels":1,"encoding":"pcm_s16le"}, majd bináris keretek 16 bites little-endian PCM-mel azzal, amit a hívó hall (mindkét hang összekeverve; channels: 2 esetén a hívó balra, az ügynök jobbra). A hívás végén bezárul. A hang közvetlenül a hívást futtató workertől érkezik, nem az EvaSay vezérlősíkján keresztül; a vezérlőpult hívásoldalának Hallgatás gombja ugyanezt a címet használja.