IVR (Interactive Voice Response)
IVR — bu kiruvchi qo'ng'iroqni avtomatik ovozli menyu orqali boshqarish moduli. Mijoz qo'ng'iroq qilganda, oldindan yozib qo'yilgan audio xabar eshitiladi va telefon tugmachalari (0–9, *, #) orqali kerakli bo'limga yo'naltirish amalga oshiriladi.
Misol: "Savdo bo'limi uchun 1 ni, Texnik yordam uchun 2 ni, Operatorga ulanish uchun 0 ni bosing."
Modul diapazoni
IVR raqamlari 5000 dan 5199 gacha bo'lishi mumkin.
Asosiy tushunchalar
| Atama | Izoh |
|---|---|
| Audio fayl | Mijozga eshitiladigan xush kelibsiz yoki yo'riqnoma ovozi |
Tugma yo'naltirish (0–0, *, #) | Har bir tugmacha bosilganda yo'naltiriladigan modul raqami |
Kechikish (delay) | Javob kutish vaqti (soniya). Audio yangrab bo'lgach shu vaqt ichida tugmacha bosilmasa, output ga yo'naltiriladi |
Ichki raqam kiritishga ruhsat berish (allow_input) | Foydalanuvchidan 3 yoki 4 xonali xodimning ichki raqamini kiritishga ruhsat berish. true bo'lsa, har bir raqam bosilgach yana 1 sekund keyingi raqam bosilishini kutadi, bu ko'p xonali raqamlar bosish imkonini beradi va to'g'ridan to'g'ri foydalanuvchi ichki raqamiga yo'naltirish imkoni mavjud bo'ladi |
Standart chiqish (output) | Hech qaysi tugmacha bosilmaganda yo'naltiriladigan modul |
Tugmacha nomlari
| Maydon | Tugmacha | Izoh |
|---|---|---|
d1 – d9 | 1 – 9 | Raqamli tugmachalar |
d0 | 0 | Nol tugmachasi |
aster | * | Yulduzcha tugmachasi |
sharp | # | Panjara tugmachasi |
Yo'naltirish qiymati sifatida nima ishlatish mumkin?
Har bir tugmacha uchun qiymat sifatida istalgan modul raqami yoki null (o'chirilgan) berilishi mumkin:
- Foydalanuvchi:
101,205 - Guruh:
5201 - Queue:
5401 - Boshqa IVR:
5001 - Voicemail:
5801
API
Ogohlantirish
Barcha endpointlar Bearer token talab qiladi. Batafsil: Auth
Ro'yxat olish
Endpoint
GET /ats/ivr
Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | array of IvrResource | IVR ro'yxati |
message | string | Xabar |
Example
{
"status": "success",
"code": 200,
"result": [
{
"id": 5000,
"title": "Asosiy menyu",
"file_url": "https://api.cc999.utel.uz/storage/ivr/abc123_welcome.mp3",
"filename": "welcome.mp3",
"allow_input": true,
"d1": 101,
"d2": 102,
"d3": null,
"d4": null,
"d5": null,
"d6": null,
"d7": null,
"d8": null,
"d9": null,
"d0": 100,
"aster": null,
"sharp": null,
"delay": 10,
"output": 100
}
],
"message": "Ok"
}Yaratish
Endpoint
POST /ats/ivr
Request
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | IVR raqami (5000–5199, unikal) |
title | string|null | No | IVR nomi (max 255 belgi) |
allow_input | boolean | Yes | Tugmacha bosilishini kutish |
d0–d9 | integer|null | No | Tegishli tugmacha bosilganda yo'naltiriladigan raqam |
aster | integer|null | No | * tugmachasi uchun yo'naltirish |
sharp | integer|null | No | # tugmachasi uchun yo'naltirish |
delay | integer | Yes | Kutish vaqti (soniya, min: 0) |
output | integer|null | No | Standart chiqish moduli |
Example
{
"id": 5000,
"title": "Asosiy menyu",
"allow_input": true,
"d1": 101,
"d2": 102,
"d0": 100,
"delay": 10,
"output": 100
}Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | IvrResource | Yaratilgan IVR |
message | string | Xabar |
Yangilash
Endpoint
PUT /ats/ivr/{id}
Request
Store bilan bir xil maydonlar. id maydonida yangi raqam ham berilishi mumkin (diapazonda bo'lishi shart).
Audio yuklash
Endpoint
POST /ats/ivr/{id}/audio
Muhim
Ushbu endpoint multipart/form-data formatida yuborilishi kerak.
Request
| Field | Type | Required | Description |
|---|---|---|---|
audio | file | Yes | Audio fayl (mp3, wav, ogg; max 20 MB) |
Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | IvrResource | Yangilangan IVR |
O'chirish
Endpoint
DELETE /ats/ivr/{id}
Response
| Field | Type | Description |
|---|---|---|
status | string | success yoki error |
code | int | HTTP status kodi |
result | array | Bo'sh array |
message | string | Ivr {id} deleted |