Skip to content

Ish vaqti (Time Rule)

Ish vaqti — bu qo'ng'iroqlarni ish vaqtiga qarab yo'naltiruvchi modul. Ish vaqtida kiruvchi qo'ng'iroqlar bir yo'nalishga, ish vaqtidan tashqarida (tun, dam olish kunlari) esa boshqa yo'nalishga yo'naltiriladi.

Misol: Dushanba–Juma, 09:00–18:00 oraliqda qo'ng'iroqlar operatorga (101) yo'naltiriladi. Boshqa vaqtlarda IVR (5000) ga yo'naltiriladi.

Modul diapazoni

Ish vaqti raqamlari 5600 dan 5799 gacha bo'lishi mumkin.

Asosiy tushunchalar

AtamaIzoh
Kunlar (days)Haftaning 7 kuni, har biri uchun ish vaqti intervali
Istisnolar (exceptions)Maxsus sanalar (bayramlar va boshqalar) uchun alohida yo'naltirish
Ish vaqti chiqishi (working_time)Ish vaqtida yo'naltiriladigan modul
Ish vaqtidan tashqari chiqishi (not_working_time)Ish vaqtidan tashqarida yo'naltiriladigan modul

Kunlar formati

days maydoni 7 elementdan iborat array bo'lib, har bir element quyidagicha:

MaydonTurIzoh
day_numberinteger (1–7)Hafta kuni: 1=Dushanba, 7=Yakshanba
enabledbooleanUshbu kun ish kunimı
start_timestring (HH:mm)Ish boshlanish vaqti
end_timestring (HH:mm)Ish tugash vaqti

Muhim

days array albatta 7 elementdan iborat bo'lishi shart — haftaning barcha 7 kunini o'z ichiga olishi kerak. Har bir day_number unikal va 1 dan 7 gacha bo'lishi shart.

Istisnolar formati

exceptions maydoni ixtiyoriy bo'lib, maxsus sanalar uchun ishlaydi:

MaydonTurIzoh
fromstring (dd.mm.YYYY)Sana boshlanishi
tostring (dd.mm.YYYY)Sana tugashi
outputinteger|nullUshbu sanalar uchun yo'naltirish moduli

Misol

Yangi yil bayramida (01.01 – 03.01) IVR 5000 ga yo'naltirish:

json
{
  "from": "01.01.2026",
  "to": "03.01.2026",
  "output": 5000
}

API

Ogohlantirish

Barcha endpointlar Bearer token talab qiladi. Batafsil: Auth

Ro'yxat olish

Endpoint

GET /ats/time-rule

Response

FieldTypeDescription
statusstringsuccess yoki error
codeintHTTP status kodi
resultarray of TimeRuleResourceIsh vaqti ro'yxati
messagestringXabar

Example

json
{
  "status": "success",
  "code": 200,
  "result": [
    {
      "id": 5600,
      "title": "Asosiy ish vaqti",
      "days": [
        { "day_number": 1, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 2, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 3, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 4, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 5, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 6, "enabled": false, "start_time": "09:00", "end_time": "18:00" },
        { "day_number": 7, "enabled": false, "start_time": "09:00", "end_time": "18:00" }
      ],
      "exceptions": [
        { "from": "01.01.2026", "to": "03.01.2026", "output": 5000 }
      ],
      "working_time": 101,
      "not_working_time": 5000
    }
  ],
  "message": "Ok"
}

Yaratish

Endpoint

POST /ats/time-rule

Request

FieldTypeRequiredDescription
idintegerYesIsh vaqti raqami (5600–5799, unikal)
titlestring|nullNoNom (max 255 belgi)
daysarrayYes7 kunlik jadval (yuqoridagi format)
days.*.day_numberintegerYesHafta kuni raqami (1–7)
days.*.enabledbooleanYesIsh kunimı
days.*.start_timestringYesBoshlanish vaqti (HH:mm)
days.*.end_timestringYesTugash vaqti (HH:mm)
exceptionsarray|nullNoIstisnolar ro'yxati
exceptions.*.fromstringYesSana boshlanishi (dd.mm.YYYY)
exceptions.*.tostringYesSana tugashi (dd.mm.YYYY)
exceptions.*.outputinteger|nullNoIstisno chiqishi
working_timeinteger|nullNoIsh vaqti chiqishi moduli
not_working_timeinteger|nullNoIsh vaqtidan tashqari chiqishi

Example

json
{
  "id": 5600,
  "title": "Asosiy ish vaqti",
  "days": [
    { "day_number": 1, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 2, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 3, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 4, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 5, "enabled": true,  "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 6, "enabled": false, "start_time": "09:00", "end_time": "18:00" },
    { "day_number": 7, "enabled": false, "start_time": "09:00", "end_time": "18:00" }
  ],
  "exceptions": [
    { "from": "01.01.2026", "to": "03.01.2026", "output": 5000 }
  ],
  "working_time": 101,
  "not_working_time": 5000
}

Yangilash

Endpoint

PUT /ats/time-rule/{id}

Request

Store bilan bir xil maydonlar.


O'chirish

Endpoint

DELETE /ats/time-rule/{id}

Response

FieldTypeDescription
statusstringsuccess yoki error
codeintHTTP status kodi
resultarrayBo'sh array
messagestringXabar