Перейти к содержимому
СервисАпп API
На этой странице

Индивидуальные планы оборудования

Все операции. Авторизация. Запросы и повторы.

Все пути в этом файле дополняют /api/v1 на домене организации.

Описание и ограничения

Назначение

Цикл обслуживания по календарю или наработке конкретной единицы с собственным следующим сроком и историей выполнения.

Поля и назначение

Публичное поле Формат и смысл Доступ
id, equipment_id id и обязательная единица только чтение / при создании
title, description, type, priority описание и вид обслуживания чтение и запись
trigger_type, schedule_mode calendar / usage / hybrid и fixed / floating чтение и запись
calendar_interval_value, calendar_interval_unit, usage_interval, usage_lead интервалы и опережение чтение и запись
anchor_date, calendar_pattern, week_days, month_days календарная опора и шаблон, как у регламента чтение и запись
workshop_id, scenario_defaults мастерская и типизированные значения сценария по умолчанию чтение и запись
completion_window_value, completion_window_unit целое 0–3650/null и hour/day/week чтение и запись
assigned_user_id, scenario_id, service_contract_id проверенные связи чтение и запись
starts_on, ends_on, generation_time, lead_time_days календарные настройки чтение и запись
next_due_date, next_due_usage, next_cycle_number серверный курсор цикла только чтение
maintenance_regulation_id, regulation_overridden, revision происхождение и версия только чтение
status, equipment_date_field active/paused/ended; поле даты для наследуемого плана/null только чтение
links edit — существующая страница редактирования при наличии доступа; public и portal — null только чтение
version, updated_at строка Unix-секунд и UTC timestamp без микросекунд только чтение

Обязательность и null указаны в схемах каждой операции ниже.

Доступ и выборка

maintenance_plans:read/write и «ТОиР — Обслуживание → Просмотр, Изменение»; текущая мастерская плана, оборудование и его клиент должны оставаться доступными. Создание дополнительно требует «ТОиР — Оборудование → Просмотр»; выбор нового договора — «Клиенты и поставщики → Просмотр» и текущий доступ к договору. Эти права и связи сохраняются в записи об операции и проверяются при повторе. Отдельные разрешения на чтение оборудования и договоров для команд плана не требуются. Обновление существующего плана без выбора новых связей доступно с правом сохранения ТО.

Фильтры: equipment_id, maintenance_regulation_id, status, trigger_type, next_due_from/to.

Запросы

Для создания требуются equipment_id, title, trigger_type и starts_on. Правила календаря/наработки, значения типа и приоритета по умолчанию, anchor_date, generation_time, lead_time_days и окна выполнения совпадают с регламентами. Единица наработки берётся из оборудования и должна быть настроена. Начальный status=active; source, курсоры, revision и связь регламента задаются сервером. План по дате оборудования создаётся синхронизацией регламента, не ручным trigger_type=equipment_date.

scenario_defaults — JSON-объект с кодами активных полей выбранного сценария. Форматы значений совпадают с дополнительными полями: десятичная строка, логическое значение, строка выбранного варианта, массив строк для множественного выбора, денежный объект {amount, currency} или null. Значения "0", false и null сохраняют свои типы. Списки дней и вариантов передаются массивами; объект с ключом "0" не считается массивом. Если прежние значения по умолчанию противоречат друг другу и сохранены одновременно по коду и идентификатору поля, возвращается 409; исправьте их явно. Новые значения не создают временные заявки и не меняют снимки начатых заявок.

Изменение принимает доступные для записи поля и If-Resource-Version плана. Для плана, полученного из регламента, устанавливается regulation_overridden=true. Приостановка, возобновление и завершение принимают {} и версию плана. Переходы: active → paused, paused → active, active/paused → ended. Команда generate также принимает {} и версию; она создаёт заявку только для текущего наступившего цикла. Произвольную дату, номер цикла или принудительный запуск передать нельзя. Если срок не наступил, возвращается 409 MAINTENANCE_NOT_DUE. Ответ generate: 201 с новой заявкой или 200 с существующей. Остальные команды возвращают карточку плана. Изменения отражаются в meta.affected_resources.

При смене типа цикла прежние несовместимые параметры нужно явно очистить. План по дате оборудования допускает только описание, вид и приоритет, ответственного, опережение, окно выполнения, время генерации, конечную дату и значения по умолчанию; календарь задаёт регламент. План, созданный сценарием обслуживания, допускает описание, вид и приоритет, ответственного, конечную дату, опережение и значения по умолчанию; период, мастерскую и происхождение задаёт сценарий. Остальные изменения таких планов возвращают 422, а не успешный ответ без изменения данных.

Команда generate не синхронизирует общий регламент автоматически. Устаревшая версия унаследованных настроек, приостановленный регламент или неприменимый план возвращают 409. Незавершённая или неуспешная пакетная синхронизация текущей версии регламента также блокирует создание заявки. План с regulation_overridden=true сохраняет собственные настройки и допускает создание заявки после успешного завершения пакета, даже если его regulation_revision отличается от общей. Неактивное оборудование блокирует создание новых заявок. Повтор принятого запроса с прежним Idempotency-Key возвращает сохранённый ответ после проверки доступа. Повторная установка текущего состояния и изменение без новых значений сохраняют версию и не создают событие.

Правила и связи

  • Изменение плана регламента помечает его настройки как заданные отдельно от общего правила.
  • generate одного цикла не создаёт дубль даже с разными Idempotency-Key.
  • Курсор, last_completed_usage и next_cycle_number не принимаются из запроса.

Операции

Метод Путь Назначение
GET /maintenance-plans Список с фильтрами и пагинацией
POST /maintenance-plans Создание
GET /maintenance-plans/{id} Карточка
POST /maintenance-plans/{id}/update Изменение разрешённых полей
POST /maintenance-plans/{id}/pause Пауза плана
POST /maintenance-plans/{id}/resume Возобновление
POST /maintenance-plans/{id}/end Завершение
POST /maintenance-plans/{id}/generate Создание заявки текущего допустимого цикла

GET /maintenance-plans

Список с фильтрами и пагинацией.

Доступ. Разрешения подключения: maintenance_plans:read. Права сотрудника: «ТОиР — Обслуживание → Просмотр». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.

Параметры

Имя Где Тип Обязательно null Ограничения
Authorization заголовок строка да нет Bearer <SERVICEAPP_TOKEN>
filter[equipment_id] параметр запроса целое число нет нет ≥ 1
filter[maintenance_regulation_id] параметр запроса целое число нет нет ≥ 1
filter[status] параметр запроса строка нет нет Допустимо: "active", "paused", "ended"
filter[trigger_type] параметр запроса строка нет нет Допустимо: "calendar", "usage", "hybrid", "equipment_date"
filter[next_due_from] параметр запроса строка (дата) нет нет —
filter[next_due_to] параметр запроса строка (дата) нет нет —
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-plans" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json"

POST /maintenance-plans

Создание.

Доступ. Разрешения подключения: maintenance_plans: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"
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 строка да нет —
equipment_id целое число да нет ≥ 1

Ответы

HTTP Назначение и схема
201 Создано. Полная схема и пример
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 строка
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-plans" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-store:001" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.store.json'

GET /maintenance-plans/{id}

Карточка.

Доступ. Разрешения подключения: maintenance_plans: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-plans/101" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json"

POST /maintenance-plans/{id}/update

Изменение разрешённых полей.

Доступ. Разрешения подключения: maintenance_plans: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"
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 строка да нет —

Ответы

HTTP Назначение и схема
200 Успех. Полная схема и пример
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 строка
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-plans/101/update" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-update:001" \
  --header "If-Resource-Version: $RESOURCE_VERSION" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.update.json'

POST /maintenance-plans/{id}/pause

Пауза плана.

Доступ. Разрешения подключения: maintenance_plans: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 Успех. Полная схема и пример
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 строка
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-plans/101/pause" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-pause:001" \
  --header "If-Resource-Version: $RESOURCE_VERSION" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.pause.json'

POST /maintenance-plans/{id}/resume

Возобновление.

Доступ. Разрешения подключения: maintenance_plans: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 Успех. Полная схема и пример
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 строка
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-plans/101/resume" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-resume:001" \
  --header "If-Resource-Version: $RESOURCE_VERSION" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.resume.json'

POST /maintenance-plans/{id}/end

Завершение.

Доступ. Разрешения подключения: maintenance_plans: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 Успех. Полная схема и пример
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 строка
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-plans/101/end" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-end:001" \
  --header "If-Resource-Version: $RESOURCE_VERSION" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.end.json'

POST /maintenance-plans/{id}/generate

Создание заявки текущего допустимого цикла.

Доступ. Разрешения подключения: maintenance_plans: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 Успех. Полная схема и пример
201 Создано. Полная схема и пример
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 строка
201 Cache-Control строка
201 Location строка
201 Idempotency-Replayed строка
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-plans/101/generate" \
  --header "Authorization: Bearer $SERVICEAPP_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: example:v1-maintenance-plans-generate:001" \
  --header "If-Resource-Version: $RESOURCE_VERSION" \
  --header "Content-Type: application/json" \
  --data-binary '@examples/requests/v1.maintenance-plans.generate.json'