Общие регламенты обслуживания
Все операции. Авторизация. Запросы и повторы.
Все пути в этом файле дополняют /api/v1 на домене организации.
Описание и ограничения
Назначение
Правило обслуживания группы оборудования по клиенту, объекту, договору, моделям, типам или явному набору единиц.
Поля и назначение
| Публичное поле | Формат и смысл | Доступ |
|---|---|---|
id, title, description |
идентичность и описание | только чтение / чтение и запись |
scope_type |
область применимости из /reference | чтение и запись |
customer_id, customer_site_id, service_contract_id, workshop_id |
условные связи по scope_type |
чтение и запись |
equipment_ids, equipment_model_ids, device_type_ids, excluded_equipment_ids |
явные списки с ограничением размера | чтение и запись |
trigger_type |
calendar / usage / hybrid / equipment_date |
чтение и запись |
type, priority |
preventive/corrective; low/medium/high/critical | чтение и запись |
schedule_mode, anchor_date |
fixed/floating и начальная календарная опора | чтение и запись |
calendar_interval_value, calendar_interval_unit, calendar_pattern, week_days, month_days |
правило календаря | чтение и запись |
usage_interval, usage_lead, usage_unit_id, equipment_date_field |
наработка или разрешённое поле даты | чтение и запись |
starts_on, ends_on, generation_time, lead_time_days |
календарные границы и локальное время генерации | чтение и запись |
completion_window_value, completion_window_unit |
целое 0–3650/null и hour/day/week; срок выполнения от создания заявки | чтение и запись |
scenario_id, assigned_user_id, scenario_defaults |
шаблон, ответственный, значения по умолчанию | чтение и запись |
status, revision, synced_at |
серверное состояние и версия | только чтение |
links |
реальная страница edit; portal и public — null |
только чтение |
version, updated_at |
строка Unix-секунд и UTC timestamp без микросекунд | только чтение |
Обязательность и null указаны в схемах каждой операции ниже.
Доступ и выборка
maintenance_regulations:read/write и «ТОиР — Обслуживание → Просмотр, Изменение», тариф, мастерская и право доступа ко всему выбранному составу.
Создание и новый выбор состава требуют «ТОиР — Оборудование → Просмотр»; выбор клиента, объекта или договора дополнительно требует «Клиенты и поставщики → Просмотр». Отдельные разрешения на чтение этих ресурсов для команд не требуются. Для lifecycle существующего регламента достаточно документированного разрешение на запись и «ТОиР — Обслуживание → Изменение», с проверкой текущих мастерских, действующего состава и затрагиваемых планов. Запись об операции сохраняет использованные разрешения и ссылки для повторной проверки текущего доступа.
Фильтры: scope_type, customer_id, customer_site_id, service_contract_id, status, trigger_type, updated_since.
Создание, изменение и команды
Для создания требуются title (1–255), scope_type, trigger_type и starts_on. Значения по умолчанию: type=preventive, priority=medium, status=active, generation_time="09:00", lead_time_days=0, ends_on=null, scenario_id=null, assigned_user_id=null, scenario_defaults={}, completion_window_value=null, completion_window_unit=day. status задаётся сервером и изменяется только pause/resume/end. Для выбора мастерской принимается workshop_id; если доступно несколько и связь не определяет одну, отсутствие — 422 WORKSHOP_REQUIRED.
scope_type |
Обязательные связи |
|---|---|
equipment |
equipment_ids, 1–100 уникальных ID |
| models | equipment_model_ids, 1–100 UUID |
| types | device_type_ids, 1–100 ID |
customer |
customer_id |
| site | customer_id и customer_site_id этого клиента |
| contract | service_contract_id |
Не относящиеся к выбранной области применения связи не принимаются. excluded_equipment_ids по умолчанию [], максимум 100; все массивы ID — множества, дубликаты дают 422.
trigger_type |
Правило |
|---|---|
| calendar | calendar_interval_value (1–1000), calendar_interval_unit (day/week/month/year); schedule_mode=floating по умолчанию; anchor_date=starts_on при создании, явная дата не ранее starts_on |
usage |
usage_unit_id и usage_interval > 0; usage_lead=0, строго меньше интервала; календарные параметры запрещены |
| hybrid | обязательны календарная и наработочная части; schedule_mode только floating |
| equipment_date | equipment_date_field из /reference/enums/equipment-date-fields; календарный интервал и наработка запрещены |
calendar_pattern=interval по умолчанию. Для calendar допустимы weekdays с week_days (1=пн…7=вс) и month_days с month_days (1…31; 0=последний день), без повторов. Такие шаблоны используют fixed, lead_time_days=0 и interval_unit=week/month соответственно; несовместимые явно переданные значения — 422. Значения по умолчанию применяются только при создании, update сохраняет отсутствующие поля и заново проверяет итоговое правило. Смена trigger требует явно очистить несовместимые ранее заданные поля через null/[]; сервер не оставляет старую часть правила действующей.
pause/resume/end/sync принимают {} и If-Resource-Version регламента. Допустимы active→paused, paused→active, active/paused→ended; ended не возобновляется. Текущее состояние повторно установить можно с changed=false. Создание возвращает 201, остальные завершённые команды — 200 с карточкой и meta.affected_resources. Для парка более 100 единиц create/update/sync принимаются как 202: сохраняются правило, ревизия и сохранённая операция, затем синхронизируются планы с результатом по каждой единице. Новая генерация этой ревизии начинается после успешной синхронизации. Ошибки доступны в журнале; частичный пакет не помечается succeeded и не маскируется под атомарное применение. Входные массивы более 100 элементов в возвращают 422; большой парк выбирается разрешение подключения клиента/объекта/модели/типа/договора.
Граница 100 учитывает объединение прежнего и нового состава: замена 2 прежних единиц на 99 новых также требует пакетного режима. Для больших наборов pause/resume/end тоже возвращают 202: состояние самого регламента сохраняется при принятии, применимость планов согласуется по единицам с сохранением истории. Пока пакет выполняется, новое действие по этому регламенту получает 409 MAINTENANCE_SYNC_IN_PROGRESS; исходный ключ возвращает свою запись об операции.
У ответа 202 data.operation_id и data.state="processing" описывают принятие, data.regulation содержит карточку принятого правила; location указывает на журнал, Retry-After равен 2. Повтор POST сохраняет исходный 202 и тело даже после завершения worker. Финальный исход читается через GET журнала: state, http_status, error, resource_refs, response и items по каждой единице. Отзыв текущего доступа блокирует выдачу закрытых данных; ответ о принятии очищается по общему TTL и не освобождает ключ.
Состав оборудования фиксируется при принятии запроса. В журнале сохраняется отдельный результат для каждой единицы. Незавершённая обработка продолжается после сбоя; подтверждённые результаты повторно не выполняются. Неустранимая ошибка переводит операцию в failed, сохраняя уже выполненные результаты и ошибки остальных единиц. После исправления причины отправьте новую команду с новым ключом. Повтор прежнего запроса не запускает весь пакет заново. Доступ к исходным и текущим планам и мастерским проверяется при каждом обращении к результату.
scenario_defaults использует общий типизированный объект по кодам полей сценария, как у индивидуальных планов. Значения не приводятся к строке автоматически: "0", false и null сохраняют смысл. JSON-объект с числовыми ключами не заменяет JSON-массив идентификаторов, дней или вариантов. Defaults передаются индивидуальным планам; существующие снимки начатых заявок не переписываются.
Правила и связи
- Общий регламент хранит правило, а план единицы — независимый цикл и историю.
- Локальные
regulation_overriddenсохраняются при изменении общего правила. - Пауза/исключение оборудования сохраняют существующие планы и заявки.
- Для equipment_date после выполнения или отмены требуется новая дата, а не бесконечное создание того же ТО.
- Большие наборы оформляются восстановимой операцией с ограниченным числом элементов и журналом.
Операции
| Метод | Путь | Назначение |
|---|---|---|
| GET | /maintenance-regulations |
Список с фильтрами и пагинацией |
| POST | /maintenance-regulations |
Создание |
| GET | /maintenance-regulations/{id} |
Карточка |
| POST | /maintenance-regulations/{id}/update |
Изменение разрешённых полей |
| POST | /maintenance-regulations/{id}/pause |
Приостановка действия регламента |
| POST | /maintenance-regulations/{id}/resume |
Возобновление действия регламента |
| POST | /maintenance-regulations/{id}/end |
Завершение регламента |
| POST | /maintenance-regulations/{id}/sync |
Согласование состава оборудования и индивидуальных планов |
GET /maintenance-regulations
Список с фильтрами и пагинацией.
Доступ. Разрешения подключения: maintenance_regulations:read. Права сотрудника: «ТОиР — Обслуживание → Просмотр». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
filter[scope_type] |
параметр запроса | строка | нет | нет | Допустимо: "equipment", "models", "types", "customer", "site", "contract" |
filter[customer_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[customer_site_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[service_contract_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[status] |
параметр запроса | строка | нет | нет | Допустимо: "active", "paused", "ended" |
filter[trigger_type] |
параметр запроса | строка | нет | нет | Допустимо: "calendar", "usage", "hybrid", "equipment_date" |
filter[updated_since] |
параметр запроса | строка | нет | нет | — |
sort |
параметр запроса | строка | нет | нет | Допустимо: "id", "-id", "updated_at,id", "-updated_at,-id" |
page[size] |
параметр запроса | целое число | нет | нет | ≥ 1.0; ≤ 100.0 |
page[cursor] |
параметр запроса | строка | нет | нет | не более 8192 символов |
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff \
"$API/maintenance-regulations" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json"
POST /maintenance-regulations
Создание.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
| Поле | Тип | Обязательно | null | Ограничения и смысл |
|---|---|---|---|---|
title |
строка | да | нет | не более 255 символов |
description |
строка / null | нет | да | не более 10000 символов |
trigger_type |
строка | да | нет | Допустимо: "calendar", "usage", "hybrid", "equipment_date" |
starts_on |
строка (дата) | да | нет | — |
ends_on |
строка / null (дата) | нет | да | — |
anchor_date |
строка / null (дата) | нет | да | — |
workshop_id |
целое число | нет | нет | ≥ 1 |
assigned_user_id |
целое число / null | нет | да | ≥ 1 |
scenario_id |
целое число / null | нет | да | ≥ 1 |
service_contract_id |
целое число / null | нет | да | ≥ 1 |
type |
строка | нет | нет | Допустимо: "preventive", "corrective" |
priority |
строка | нет | нет | Допустимо: "low", "medium", "high", "critical" |
schedule_mode |
строка / null | нет | да | Допустимо: "fixed", "floating", null |
calendar_interval_value |
целое число / null | нет | да | ≥ 1.0; ≤ 1000.0 |
calendar_interval_unit |
строка / null | нет | да | Допустимо: "day", "week", "month", "year", null |
calendar_pattern |
строка | нет | нет | Допустимо: "interval", "weekdays", "month_days" |
week_days |
массив | нет | нет | не более 7 элементов; Без повторов |
week_days[] |
целое число | да | нет | ≥ 1.0; ≤ 7.0 |
month_days |
массив | нет | нет | не более 32 элементов; Без повторов |
month_days[] |
целое число | да | нет | ≥ 0.0; ≤ 31.0 |
usage_interval |
целое число / null | нет | да | ≥ 1 |
usage_lead |
целое число / null | нет | да | ≥ 0 |
lead_time_days |
целое число | нет | нет | ≥ 0.0; ≤ 3650.0 |
generation_time |
строка | нет | нет | Шаблон: ^(?:[01]\d|2[0-3]):[0-5]\d$ |
completion_window_value |
целое число / null | нет | да | ≥ 0.0; ≤ 3650.0 |
completion_window_unit |
строка | нет | нет | Допустимо: "hour", "day", "week" |
scenario_defaults |
объект | нет | нет | макс. ключей 100 |
scenario_defaults.{ключ} |
строка / логическое значение / массив / объект / null | нет | да | — |
scenario_defaults.{ключ} (вариант 3) |
массив | нет | нет | — |
scenario_defaults.{ключ} (вариант 3)[] |
строка | да | нет | — |
scenario_defaults.{ключ} (вариант 4) |
объект | нет | нет | — |
scenario_defaults.{ключ} (вариант 4).amount |
строка | да | нет | — |
scenario_defaults.{ключ} (вариант 4).currency |
строка | да | нет | — |
scope_type |
строка | да | нет | Допустимо: "equipment", "models", "types", "customer", "site", "contract" |
customer_id |
целое число / null | нет | да | ≥ 1 |
customer_site_id |
целое число / null | нет | да | ≥ 1 |
usage_unit_id |
целое число / null | нет | да | ≥ 1 |
equipment_date_field |
строка / null | нет | да | не более 191 символов |
equipment_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
equipment_ids[] |
целое число | да | нет | ≥ 1 |
equipment_model_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
equipment_model_ids[] |
строка (uuid) | да | нет | — |
device_type_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
device_type_ids[] |
целое число | да | нет | ≥ 1 |
excluded_equipment_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
excluded_equipment_ids[] |
целое число | да | нет | ≥ 1 |
Ответы
| HTTP | Назначение и схема |
|---|---|
| 201 | Создано. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 201 | Cache-Control |
строка | |
| 201 | Location |
строка | |
| 201 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-store:001" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.store.json'
GET /maintenance-regulations/{id}
Карточка.
Доступ. Разрешения подключения: maintenance_regulations:read. Права сотрудника: «ТОиР — Обслуживание → Просмотр». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
If-None-Match |
заголовок | строка | нет | нет | — |
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 304 | Представление не изменилось, без тела. Условный GET |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | ETag |
строка | |
| 304 | ETag |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff \
"$API/maintenance-regulations/101" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json"
POST /maintenance-regulations/{id}/update
Изменение разрешённых полей.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | Unix-секунды updated_at регламента обслуживания.; не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._~-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
| Поле | Тип | Обязательно | null | Ограничения и смысл |
|---|---|---|---|---|
title |
строка | нет | нет | не более 255 символов |
description |
строка / null | нет | да | не более 10000 символов |
trigger_type |
строка | нет | нет | Допустимо: "calendar", "usage", "hybrid", "equipment_date" |
starts_on |
строка (дата) | нет | нет | — |
ends_on |
строка / null (дата) | нет | да | — |
anchor_date |
строка / null (дата) | нет | да | — |
workshop_id |
целое число | нет | нет | ≥ 1 |
assigned_user_id |
целое число / null | нет | да | ≥ 1 |
scenario_id |
целое число / null | нет | да | ≥ 1 |
service_contract_id |
целое число / null | нет | да | ≥ 1 |
type |
строка | нет | нет | Допустимо: "preventive", "corrective" |
priority |
строка | нет | нет | Допустимо: "low", "medium", "high", "critical" |
schedule_mode |
строка / null | нет | да | Допустимо: "fixed", "floating", null |
calendar_interval_value |
целое число / null | нет | да | ≥ 1.0; ≤ 1000.0 |
calendar_interval_unit |
строка / null | нет | да | Допустимо: "day", "week", "month", "year", null |
calendar_pattern |
строка | нет | нет | Допустимо: "interval", "weekdays", "month_days" |
week_days |
массив | нет | нет | не более 7 элементов; Без повторов |
week_days[] |
целое число | да | нет | ≥ 1.0; ≤ 7.0 |
month_days |
массив | нет | нет | не более 32 элементов; Без повторов |
month_days[] |
целое число | да | нет | ≥ 0.0; ≤ 31.0 |
usage_interval |
целое число / null | нет | да | ≥ 1 |
usage_lead |
целое число / null | нет | да | ≥ 0 |
lead_time_days |
целое число | нет | нет | ≥ 0.0; ≤ 3650.0 |
generation_time |
строка | нет | нет | Шаблон: ^(?:[01]\d|2[0-3]):[0-5]\d$ |
completion_window_value |
целое число / null | нет | да | ≥ 0.0; ≤ 3650.0 |
completion_window_unit |
строка | нет | нет | Допустимо: "hour", "day", "week" |
scenario_defaults |
объект | нет | нет | макс. ключей 100 |
scenario_defaults.{ключ} |
строка / логическое значение / массив / объект / null | нет | да | — |
scenario_defaults.{ключ} (вариант 3) |
массив | нет | нет | — |
scenario_defaults.{ключ} (вариант 3)[] |
строка | да | нет | — |
scenario_defaults.{ключ} (вариант 4) |
объект | нет | нет | — |
scenario_defaults.{ключ} (вариант 4).amount |
строка | да | нет | — |
scenario_defaults.{ключ} (вариант 4).currency |
строка | да | нет | — |
scope_type |
строка | нет | нет | Допустимо: "equipment", "models", "types", "customer", "site", "contract" |
customer_id |
целое число / null | нет | да | ≥ 1 |
customer_site_id |
целое число / null | нет | да | ≥ 1 |
usage_unit_id |
целое число / null | нет | да | ≥ 1 |
equipment_date_field |
строка / null | нет | да | не более 191 символов |
equipment_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
equipment_ids[] |
целое число | да | нет | ≥ 1 |
equipment_model_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
equipment_model_ids[] |
строка (uuid) | да | нет | — |
device_type_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
device_type_ids[] |
целое число | да | нет | ≥ 1 |
excluded_equipment_ids |
массив | нет | нет | не более 100 элементов; Без повторов |
excluded_equipment_ids[] |
целое число | да | нет | ≥ 1 |
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | Cache-Control |
строка | |
| 200 | Location |
строка | |
| 200 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 412 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 428 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations/101/update" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-update:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.update.json'
POST /maintenance-regulations/{id}/pause
Приостановка действия регламента.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | Unix-секунды updated_at регламента обслуживания.; не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._~-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
Тело — пустой JSON-объект {}. Другие ключи не принимаются.
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | Cache-Control |
строка | |
| 200 | Location |
строка | |
| 200 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 412 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 428 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations/101/pause" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-pause:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.pause.json'
POST /maintenance-regulations/{id}/resume
Возобновление действия регламента.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | Unix-секунды updated_at регламента обслуживания.; не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._~-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
Тело — пустой JSON-объект {}. Другие ключи не принимаются.
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | Cache-Control |
строка | |
| 200 | Location |
строка | |
| 200 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 412 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 428 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations/101/resume" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-resume:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.resume.json'
POST /maintenance-regulations/{id}/end
Завершение регламента.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | Unix-секунды updated_at регламента обслуживания.; не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._~-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
Тело — пустой JSON-объект {}. Другие ключи не принимаются.
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | Cache-Control |
строка | |
| 200 | Location |
строка | |
| 200 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 412 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 428 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations/101/end" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-end:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.end.json'
POST /maintenance-regulations/{id}/sync
Согласование состава оборудования и индивидуальных планов.
Доступ. Разрешения подключения: maintenance_regulations:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | Unix-секунды updated_at регламента обслуживания.; не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._~-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
Тело — пустой JSON-объект {}. Другие ключи не принимаются.
Ответы
| HTTP | Назначение и схема |
|---|---|
| 200 | Успех. Полная схема и пример |
| 202 | Принято, итог в журнале. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 200 | Cache-Control |
строка | |
| 200 | Location |
строка | |
| 200 | Idempotency-Replayed |
строка | |
| 202 | Location |
строка | |
| 202 | Retry-After |
строка | |
| 202 | Idempotency-Replayed |
строка | |
| 202 | Cache-Control |
строка | |
| 400 | Cache-Control |
строка | |
| 401 | Cache-Control |
строка | |
| 403 | Cache-Control |
строка | |
| 404 | Cache-Control |
строка | |
| 406 | Cache-Control |
строка | |
| 409 | Cache-Control |
строка | |
| 412 | Cache-Control |
строка | |
| 413 | Cache-Control |
строка | |
| 415 | Cache-Control |
строка | |
| 422 | Cache-Control |
строка | |
| 428 | Cache-Control |
строка | |
| 429 | Cache-Control |
строка | |
| 429 | Retry-After |
строка | |
| 500 | Cache-Control |
строка | |
| 503 | Cache-Control |
строка |
Каждый ответ содержит новый X-Request-Id в заголовке. Общие транспортные отказы и правила повтора действуют также при отказе до контроллера; см. ошибки.
У принятого POST Location и meta.operation_id указывают на журнал операции; ETag отсутствует. При повторе запроса сохраняются исходные data/meta, добавляется Idempotency-Replayed: true. Версии передавайте по назначению, указанному в описании ресурса.
Пример запроса
Запускается из каталога комплекта после настройки переменных в быстром старте. Замените демонстрационные идентификаторы 101 и UUID идентификаторами доступных записей. $RESOURCE_VERSION берётся из GET владельца версии, описанного выше. Для нового действия сохраните новый ключ; для повтора используйте прежний.
curl --silent --show-error --globoff --request POST \
"$API/maintenance-regulations/101/sync" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-regulations-sync:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-regulations.sync.json'