Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Описание структур данных
Интервал (IntervalItem)
Имя | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
conditions | Array[condition] | да | Список условий временных диапазонов интервала | |
name | string | да | Имя интервала | |
timezone | string | да | Временная зона интервала |
Условие (Condition)
Параметры должны быть заданы парно (если задан "start_time", то должен быть и "end_time"), кроме параметра "month", который может быть задан сам по себе.
Если заданы "start_datetime" и "end_datetime", то другие параметры будут игнорироваться. Все параметры (кроме "start_datetime" и "end_datetime") дополняют друг друга. Если определены, например, "month=7, start_dow=2, end_dow=3", то это подразумевает все понедельники и вторники июля.
Параметры с префиксом "start" должны быть меньше параметров с префиксом "end". Исключением является пара "start_dow/end_dow", где записью "start_dow=3, end_dow=1" можно указать все дни недели, кроме понедельника.
При первом совпадении по условию отрабатывает интервал, при отсуствии совпадений в условиях интервала - интервал не работает.
Имя | Тип | Обязательный | Значение по умолчанию | Описание | ||
---|---|---|---|---|---|---|
end_dow | long | нет | 0 | Конечный день недели 1-7 (1-воскресенье, 7-суббота) Используется для интервала типа interval. | ||
end_mday | long | нет | 0 | Конечный день месяца (1-31) Используется для интервала типа interval. | ||
end_time | string | нет | Время окончания в формате "hh:mm:ss" Используется для интервала типа interval. | |||
month | long | нет | 0 | Месяц действия в диапазоне 1-12 Используется для интервала типа interval. | ||
sched_active_days | long | нет | 0 | Количество рабочих дней (минимум 1), начиная с даты начала (sched_start_date) Используется для интервала типа scheduled_days | ||
sched_skip_days | long | нет | 0 | Количество нерабочих дней (минимум 1), которые нужно пропустить до следующих рабочих (sched_active_days). Используется для интервала типа scheduled_days | ||
sched_start_date | string | нет | Дата начала работы в формате "YYYY-MM-DD", например: "2015-02-20" Используется для интервала типа scheduled_days | |||
start_datetime | string | нет | Дата начала в формате "YYYY-MM-DD hh:mm:ss", например: "2015-02-20 15:33:01" Используется для интервала типа datetime_range. | |||
end_datetime | string | нет | Дата окончания в формате "YYYY-MM-DD hh:mm:ss", например: "2015-02-20 16:34:00" Используется для интервала типа datetime_range. | |||
start_dow | long | нет | 0 | Начальный день недели 1-7 (1-воскресенье, 7-суббота) Используется для интервала типа interval. | ||
start_mday | long | нет | 0 | Начальный день месяца (1-31) Используется для интервала типа interval. | ||
start_time | string | нет | Время начала в формате "hh:mm:ss" Используется для интервала типа interval. | |||
type | string | нет | параметр респонса. может быть один из: datetime_range - приоритетный тип интервала, будет возвращен если указаны условия start_datetime и end_datetime. В этом интервале указывается диапазон дней, когда интервал сработает. scheduled_days- будет возвращен если указаны sched_* условия. С помощью этого интервала можно сделать схему обработки звонка, например, смена 3 рабочих дня через 4. interval - будет вовзращен в случае других условий | |||
usage | object | нет | null |
Содержит в себе информации информацию об использовании интервала в Планировщиках задач, правилах входящего вызова и правилах контекста IVR |
Пример
Для клиента с идентификатором 12 создать диапазон, отвечающий за понедельник-пятницу с 09:00 до 18:00 и субботу с 09:00 до 14:00:
Tabs |
---|
[{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"В разделе "},{"type":"text","text":"authentication","marks":[{"type":"strong"}]},{"type":"text","text":" в поля "},{"type":"text","text":"client_id","marks":[{"type":"strong"}]},{"type":"text","text":" и "},{"type":"text","text":"client_secret","marks":[{"type":"strong"}]},{"type":"text","text":" требуется ввести полученные при регистрации приложения значения "},{"type":"text","text":"Application_ID","marks":[{"type":"strong"}]},{"type":"text","text":" и "},{"type":"text","text":"Application_Secret","marks":[{"type":"strong"}]},{"type":"text","text":", затем нажать на кнопку \""},{"type":"text","text":"Try it out!","marks":[{"type":"strong"}]},{"type":"text","text":"\". Если данные приложения верны, в ответ вернётся токен доступа ("},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":"). Полученный токен доступа следует ввести в поле \""},{"type":"text","text":"Access Token Field","marks":[{"type":"strong"}]},{"type":"text","text":"\" вверху страницы и сохранить его нажатием кнопки \""},{"type":"text","text":"Set Token","marks":[{"type":"strong"}]},{"type":"text","text":"\"."}]},{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"метод","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"ресурс","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"данные","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/12/interval/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"timezone\": \"Europe/Moscow\","},{"type":"hardBreak"},{"type":"text","text":"\"conditions\": ["},{"type":"hardBreak"},{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"start_dow\": 2,"},{"type":"hardBreak"},{"type":"text","text":"\"end_dow\": 6,"},{"type":"hardBreak"},{"type":"text","text":"\"start_time\": \"09:00:00\","},{"type":"hardBreak"},{"type":"text","text":"\"end_time\": \"18:00:00\""},{"type":"hardBreak"},{"type":"text","text":"},"},{"type":"hardBreak"},{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"start_dow\": 7,"},{"type":"hardBreak"},{"type":"text","text":"\"end_dow\": 7,"},{"type":"hardBreak"},{"type":"text","text":"\"start_time\": \"09:00:00\","},{"type":"hardBreak"},{"type":"text","text":"\"end_time\": \"14:00:00\""},{"type":"hardBreak"},{"type":"text","text":"}"},{"type":"hardBreak"},{"type":"text","text":"],"},{"type":"hardBreak"},{"type":"text","text":"\"name\": \"рабочее время\""},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"fa625bda-0804-48bb-bf96-3fae77439c58","label":"Интерактивный обозреватель API ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Для отправки запросов с помощью программы cURL установим значения переменных "},{"type":"text","text":"url ","marks":[{"type":"strong"}]},{"type":"text","text":"и "},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":":"}]},{"type":"paragraph","content":[{"type":"text","text":"export url=\"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(где hostname — hostname API-сервера провайдера IP-телефонии),"}]},{"type":"paragraph","content":[{"type":"text","text":"export access_token=\"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(полученный токен доступа)."}]},{"type":"paragraph","content":[{"type":"text","text":"Отправим запрос:"}]},{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"timezone\": \"Europe/Moscow\",\n \"conditions\": [\n {\n \"start_dow\": 2,\n \"end_dow\": 6,\n \"start_time\": \"09:00:00\",\n \"end_time\": \"18:00:00\"\n },\n {\n \"start_dow\": 7,\n \"end_dow\": 7,\n \"start_time\": \"09:00:00\",\n \"end_time\": \"14:00:00\"\n }\n ],\n \"name\": \"рабочее время\"\n}' \\\n-X POST ${url}/client/@me/interval/"}]}]},"id":"be5e60f0-c474-40a0-b1e5-6c174ce11030","label":"Программа cURL ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Для отправки запросов на языке Python установим значения переменных URL и ACCESS_TOKEN:"}]},{"type":"paragraph","content":[{"type":"text","text":"URL = \"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(где hostname — hostname API-сервера провайдера IP-телефонии),"}]},{"type":"paragraph","content":[{"type":"text","text":"ACCESS_TOKEN = \"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(полученный токен доступа)."}]},{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f'{URL}/client/@me/interval/'\nheaders = {\n 'Authorization': f'Bearer {ACCESS_TOKEN}',\r\n 'Content-Type': 'application/json'\r\n}\r\ndata = '''{\r\n \"timezone\": \"Europe/Moscow\",\n \"conditions\": [\n {\n \"start_dow\": 2,\n \"end_dow\": 6,\n \"start_time\": \"09:00:00\",\n \"end_time\": \"18:00:00\"\n },\n {\n \"start_dow\": 7,\n \"end_dow\": 7,\n \"start_time\": \"09:00:00\",\n \"end_time\": \"14:00:00\"\n }\n ],\n \"name\": \"рабочее время\"\n}'''\r\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"746442e6-e162-41f2-a971-948c679b5fe6","label":"На языке Python3 ","type":"tab"}] |
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Ресурсы раздела "Клиент"
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
POST /client/{client_id}/interval/ Добавить временной интервал Параметры URL
Параметры JSON
Ресурс condition
Поля ответа
Ресурс interval_condition
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET /client/{client_id}/interval/ Получить список временных интервалов Параметры URL
Поля ответа
Ресурс interval_condition
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PUT /client/{client_id}/interval/{interval_id} Обновить временной интервал Параметры URL
Параметры JSON
Ресурс condition
Поля ответа
Ресурс interval_condition
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET /client/{client_id}/interval/{interval_id} Получить временной интервал Параметры URL
Поля ответа
Ресурс interval_condition
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
DELETE /client/{client_id}/interval/{interval_id} Удалить временной интервал Параметры URL
|
Ресурсы раздела "Внутренний номер"
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET /extension/{extension_id}/interval/ Получить список временных интервалов Параметры URL
Поля ответа
Ресурс interval_condition
|