update_schedule
Чтобы создать, изменить или удалить расписание, используйте метод route/update_schedule:
svc=route/update_schedule
params={
"itemId": <long>,
"id": <long>,
"callMode": <text>,
"n": <text>,
"f": <uint>,
"tz": <uint>,
"u": <long>,
"tm": [
{
"at": <uint>,
"ad": <uint>,
"dt": <uint>,
"dd": <uint>
}
],
"sch": {
"f1": <uint>,
"f2": <uint>,
"t1": <uint>,
"t2": <uint>,
"m": <uint>,
"y": <uint>,
"w": <uint>
},
"cfg": {
"name": <text>,
"units": [<long>],
"enabled": <byte>,
"roundFlags": <uint>,
"autoName": <byte>,
"validityPeriod": <uint>
}
}
Параметры
Запрос должен содержать следующие параметры:
| Параметр | Описание |
|---|---|
| itemId | ID маршрута. |
| id | ID расписания. |
| callMode | Действие: create, update, delete. |
Остальные параметры требуются только при создании и редактировании. Их описание см. на странице get_round_data.
Значения параметров f1, t1, f2, t2 должны быть меньше или равны 0xFFFF.
Ответ
Если запрос выполнен успешно, формат ответа зависит от действия, указанного в параметре callMode.
Ответ на запрос создания или обновления расписания возвращается в следующем формате:
[
<long>, // ID расписания
{
"id": <long>, // ID расписания.
"n": <text>, // Название.
"f": <uint>, // Тип расписания (см. ниже).
"tz": <uint>, // Часовой пояс.
"cfg": { // Пользовательская конфигурация (пример).
"autoName": <byte>, // Использовать автоматически сформированное название: 1 — да, 0 — нет.
"enabled": <byte>, // Создавать рейсы автоматически: 1 — да, 0 — нет.
"name": <text>, // Название рейса.
"description":<text>, // Описание.
"roundFlags": <uint>, // Флаги рейса.
"units": [<long>], // Массив ID объектов.
"validityPeriod": <uint> // Период действия.
},
"tm": [ // Время прохождения контрольных точек.
{
"at": <uint>, // Время прибытия.
"ad": <uint>, // Отклонение от времени прибытия.
"dt": <uint>, // Время отбытия
"dd": <uint> // Отклонение от времени отбытия.
}
],
"sch": { // Временные ограничения.
"f1": <uint>, // Начало интервала 1.
"f2": <uint>, // Начало интервала 2.
"t1": <uint>, // Конец интервала 1.
"t2": <uint>, // Конец интервала 2.
"m": <uint>, // Маска дней месяца.
"y": <uint>, // Маска месяцев.
"w": <uint> // Маска дней недели.
}
}
]
Типы расписаний
| Флаг | Описание |
|---|---|
| 0x1 | Относительно активации. |
| 0x2 | Относительно суток. |
| 0x4 | Абсолютное. |
Ответ на запрос удаления расписания возвращается в следующем формате:
[
<long>, // ID расписания.
null
]
Если запрос не выполнен, возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Неверные входные параметры (включая неверный callMode, отсутствие обязательных параметров или неверное время расписания). |
| 6 | Не удалось найти созданное расписание либо ошибка обновления или удаления расписания. |
| 7 | Внутренняя ошибка или отсутствует право доступа Редактирование свойств маршрута на маршрут. |