Заявки ТО
Все операции. Авторизация. Запросы и повторы.
Все пути в этом файле дополняют /api/v1 на домене организации.
Описание и ограничения
Назначение
Конкретное обслуживание одной единицы на срок: планирование, выполнение, результат, связь с актом и выездом.
Доступные возможности и ограничения
Ресурс поддерживает чтение списка и карточки, создание и изменение заявки, начало, перенос, сохранение результата, завершение, отмену, возврат в работу, создание акта и планирование выезда. Доступен на тарифах «Энтерпрайз», «Энтерпрайз Про» и в действующем пробном периоде; «Энтерпрайз Лайт» не включает API.
Нужны maintenance_schedules:read, «ТОиР — Обслуживание → Просмотр», доступ к ТОиР и разрешённая мастерская. Дополнительные поля возвращаются с учётом сценария. Календарные даты сохраняют исходный день. GET только читает данные и не создаёт чек-лист, акт, заявку или выезд.
data.version — строка Unix-секунд из updated_at. Два изменения в одну секунду могут иметь одинаковую версию. Для проверки изменений используйте правила синхронизации. Карточка также возвращает отдельный ETag своего представления. При сохранении выполнения проверяются версия заявки и версии всех переданных пунктов. Изменение пункта обновляет также версию заявки.
Поля и назначение
| Публичное поле | Формат и смысл | Доступ |
|---|---|---|
id, equipment_id |
id и обязательная единица |
только чтение / при создании |
title, description, type, priority |
описание, preventive/corrective и важность | чтение и запись |
planned_date, deadline_at |
календарная дата и отдельный точный срок | чтение и запись |
assigned_user_id |
ответственный сотрудник | чтение и запись |
scenario_id, service_contract_id, workshop_id |
проверенные связи | чтение и запись |
status, completed_date, result |
статус и результат выполнения | только чтение / отдельная команда |
act_id, visit_id, maintenance_plan_id |
связанные доменные объекты | только чтение |
custom_fields |
типизированные значения полей мастера | отдельная команда |
Обязательность и null указаны в схемах каждой операции ниже.
Доступ и выборка
maintenance_schedules:read/write и «ТОиР — Обслуживание → Просмотр, Изменение»; create-act/plan-visit требуют также acts:write, нужного тарифа и доступа ко всем единицам.
Создание необязательного выезда в plan-visit дополнительно требует visits:write. Его отсутствие не разрешает создать выезд побочным эффектом.
Фильтры: equipment_id, customer_id, customer_site_id через оборудование, workshop_id, assigned_user_id, status, act_id, visit_id, planned_from/to, overdue.
Схемы команд заявки
Для создания требуются equipment_id, title (1–255) и planned_date. Значения по умолчанию: type=preventive, priority=medium, assigned_user_id=null, scenario_id=null, service_contract_id=null, deadline_at=null, status=planned. Мастерская выбирается явно либо однозначно по разрешённым связям; при неоднозначности 422 WORKSHOP_REQUIRED. Сервер подготавливает чек-лист/сохранённый снимок при создании. Изменение принимает RW-поля и If-Resource-Version, сохраняя отсутствующие; начатой заявке нельзя менять сценарий.
| Команда | JSON | Ответ |
|---|---|---|
| start | {} |
200, карточка со статусом in_progress |
| reschedule | обязательная planned_date; необязательный assigned_user_id (id/null) |
200, карточка; отсутствие ответственного сохраняет назначение |
| execution | хотя бы одно из result (строка до 10000/null), custom_fields, checklist (схема ниже) |
200, сохранённый прогресс, без закрытия |
| complete | необязательный result (строка до 10000/null); отсутствие сохраняет прежний |
200, завершённая карточка; обязательные данные проверяются по сохранённому состоянию |
| cancel | обязательная reason (1–2000) |
200, отменённая карточка; причина в аудите/результате доменной отмены |
| reopen | обязательная reason (1–2000) |
200, возврат выполненной заявки с согласованием истории оборудования; отменённая заявка — 409 MAINTENANCE_STATE_CONFLICT |
| create-act | {} |
201 с карточкой нового акта либо 200 существующего |
Все команды карточки требуют If-Resource-Version заявки. Повтор запроса проверяет текущие права, тариф и мастерскую. Завершение требует «ТОиР — Обслуживание → Изменение»; наличие оборудования в meta.affected_resources само по себе не требует «ТОиР — Оборудование → Просмотр». Для первоначального выбора оборудования при создании нужно право его чтения. Отменённая заявка не возвращается в работу — создайте новую. Причина возврата в работу сохраняется в истории. Следующая заявка наследует мастерскую исходной. Поле checklist команды execution — массив вида { "id": 41, "version": 2, "is_completed": true, "note": null }, не более 100 различных пунктов этой заявки. id и version обязательны; нужно хотя бы одно из полей is_completed или note. Отсутствующие пункты и поля сохраняются, [] ничего не меняет. Все версии пунктов и дополнительные поля проверяются до записи; один конфликт возвращает 412 и отменяет весь запрос. Для полной замены состояния передайте каждый пункт, включая is_completed=false.
Групповая plan-visit
Запрос содержит customer_id, workshop_id, planned_date и ровно один массив equipment_ids или maintenance_schedule_ids (1–100 уникальных ID). Для каждого выбранного объекта обязателен expected_versions по правилам версий. Режим equipment_ids создаёт заявки для выбранного парка , режим maintenance_schedule_ids использует существующие ; смешивать режимы нельзя. Если у единицы уже есть подходящая открытая заявка, режим equipment_ids возвращает 409 OPEN_MAINTENANCE_EXISTS с доступными refs: клиент явно выбирает заявки для второго режима.
Необязательны customer_site_id=null, service_contract_id=null, billing_mode (billable по умолчанию, либо covered), visit (null по умолчанию). Covered требует действующий договор, покрывающий весь состав и дату; billable не принимает service_contract_id, чтобы не создать двойную оплату. выезд — объект из необязательных starts_at/ends_at/crew_user_ids, address, latitude/longitude, note, planning_duration_minutes и клиентского окна по visits. Пустой объект создаёт черновой выезд; null не создаёт Visit. Время задаётся парой вместе с непустой бригадой. Адрес/объект и состав проверяются по одному клиенту/объекту; более 100 единиц — 422, без частичной обработки.
workshop_id обязателен. Сервер использует указанную мастерскую и не заменяет её мастерской сотрудника или бригады. Мастерская существующих заявок должна совпадать с ней; несогласованный состав возвращает 422 WORKSHOP_MISMATCH. Для выбранной мастерской проверяются доступ, модуль ТОиР, договор и принадлежность бригады.
Если задан visit.starts_at, его календарный день после перевода в context.timezone должен совпадать с planned_date; иначе 422 PLANNED_DATE_MISMATCH. Нельзя передавать полуночь planned_date вместо времени начала. Без запланированного выезда planned_date остаётся календарной датой. planning_duration_minutes и клиентское окно сохраняются через общий доменный путь в той же транзакции.
Ответ 201: data содержит act_id, visit_id (id/null), maintenance_schedule_ids, equipment_ids; meta.affected_resources возвращает версии всего созданного/привязанного состава. Акт, заявки, чек-листы, складские эффекты и необязательный выезд сохраняются атомарно. Ошибка одной единицы откатывает весь запрос. Повтор возвращает исходные IDs, не создаёт второй акт.
Создание акта использует штатные сервисы ТО, но до сохранения применяет общие API-проверки нового акта: доступного начального статуса, клиента, ответственного, мастерской и активного склада. Обязательные пользовательские поля проверяются в той же транзакции. create-act не возвращает ошибочно связанный ремонтный акт или акт другого клиента/мастерской как существующий акт ТО. Архивная работа в новом платном составе даёт 409 RESOURCE_ARCHIVED с полным откатом.
Назначенный сотрудник получает уведомление в панели. Оно сохраняется вместе с результатом команды; при ошибке изменения не применяются, повтор запроса не создаёт уведомление заново.
Для выезда с заданным временем сохраняются задания на уведомление через подключённые клиентские боты. Ответ 201 подтверждает сохранение плана и заданий, но не доставку сообщений. Повтор запроса возвращает прежние идентификаторы и не создаёт повторных уведомлений.
Перед отправкой проверяются текущие права подключения и сотрудника, клиент, оборудование, время выезда и получатель. После утраты доступа, смены клиента, переноса выезда или смены получателя устаревшее уведомление отменяется. Если результат отправки неизвестен, автоматический повтор прекращается. Состояние доставки можно проверить в журнале сообщений панели.
Правила и связи
- Заявка не равна акту ТО и не равна выезду: несколько заявок могут исполняться в одном акт, выезд необязателен.
- complete одной заявки и
statusакта имеют разный охват; API возвращает IDs всех изменённых объектов. - Обязательные чек-листы/поля проверяются до завершения; сценарий и оборудование обновляются по сохранённый снимок.
- GET только читает данные: не создаёт чек-лист, акт или выезд и не выполняет заявку.
Операции
| Метод | Путь | Назначение |
|---|---|---|
| GET | /maintenance-schedules |
Список с фильтрами и пагинацией |
| POST | /maintenance-schedules |
Создание |
| GET | /maintenance-schedules/{id} |
Карточка |
| POST | /maintenance-schedules/plan-visit |
Общий акт ТО и необязательный выезд для выбранного парка/заявок |
| POST | /maintenance-schedules/{id}/create-act |
Создание или получение связанного акта ТО |
| POST | /maintenance-schedules/{id}/update |
Изменение разрешённых полей |
| POST | /maintenance-schedules/{id}/start |
Начало выполнения |
| POST | /maintenance-schedules/{id}/reschedule |
Изменение даты и ответственного |
| POST | /maintenance-schedules/{id}/execution |
Сохранение прогресса, результата и типизированных полей |
| POST | /maintenance-schedules/{id}/complete |
Завершение только этой заявки |
| POST | /maintenance-schedules/{id}/cancel |
Отмена заявки с причиной |
| POST | /maintenance-schedules/{id}/reopen |
Возврат заявки в работу |
GET /maintenance-schedules
Список с фильтрами и пагинацией.
Доступ. Разрешения подключения: maintenance_schedules:read. Права сотрудника: «ТОиР — Обслуживание → Просмотр». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
sort |
параметр запроса | строка | нет | нет | Допустимо: "id", "-id" |
page[size] |
параметр запроса | целое число | нет | нет | ≥ 1; ≤ 100 |
page[cursor] |
параметр запроса | строка | нет | нет | не более 8192 символов |
filter[equipment_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[customer_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[customer_site_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[workshop_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[assigned_user_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[status] |
параметр запроса | строка | нет | нет | Допустимо: "planned", "in_progress", "completed", "overdue", "cancelled" |
filter[act_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[visit_id] |
параметр запроса | целое число | нет | нет | ≥ 1 |
filter[planned_from] |
параметр запроса | строка (дата) | нет | нет | — |
filter[planned_to] |
параметр запроса | строка (дата) | нет | нет | — |
filter[overdue] |
параметр запроса | строка | нет | нет | Допустимо: "true", "false" |
Ответы
| 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-schedules" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json"
POST /maintenance-schedules
Создание.
Доступ. Разрешения подключения: maintenance_schedules:write. Права сотрудника: «ТОиР — Обслуживание → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
| Поле | Тип | Обязательно | null | Ограничения и смысл |
|---|---|---|---|---|
title |
строка | да | нет | не более 255 символов |
planned_date |
строка (дата) | да | нет | — |
description |
строка / null | нет | да | не более 10000 символов |
assigned_user_id |
целое число / null | нет | да | ≥ 1 |
scenario_id |
целое число / null | нет | да | ≥ 1 |
service_contract_id |
целое число / null | нет | да | ≥ 1 |
workshop_id |
целое число | нет | нет | ≥ 1 |
type |
строка | нет | нет | Допустимо: "preventive", "corrective" |
priority |
строка | нет | нет | Допустимо: "low", "medium", "high", "critical" |
deadline_at |
строка / null (дата и время) | нет | да | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
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-schedules" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-store:001" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.store.json'
GET /maintenance-schedules/{id}
Карточка.
Доступ. Разрешения подключения: maintenance_schedules: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-schedules/101" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json"
POST /maintenance-schedules/plan-visit
Общий акт ТО и необязательный выезд для выбранного парка/заявок.
Доступ. Разрешения подключения: maintenance_schedules:write, acts:write. Права сотрудника: «ТОиР — Обслуживание → Изменение», «Акты приёма оборудования → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
Тело запроса
Content-Type: application/json. Тело обязательно.
| Поле | Тип | Обязательно | null | Ограничения и смысл |
|---|---|---|---|---|
customer_id |
целое число | да | нет | ≥ 1 |
workshop_id |
целое число | да | нет | ≥ 1 |
planned_date |
строка (дата) | да | нет | — |
equipment_ids |
массив | нет | нет | не менее 1 элементов; не более 100 элементов; Без повторов |
equipment_ids[] |
целое число | да | нет | ≥ 1 |
maintenance_schedule_ids |
массив | нет | нет | не менее 1 элементов; не более 100 элементов; Без повторов |
maintenance_schedule_ids[] |
целое число | да | нет | ≥ 1 |
expected_versions |
массив | да | нет | не менее 1 элементов; не более 100 элементов; Без повторов |
expected_versions[] |
объект | да | нет | Только перечисленные ключи |
expected_versions[].type |
строка | да | нет | Допустимо: "equipment", "maintenance-schedules" |
expected_versions[].id |
целое число | да | нет | ≥ 1 |
expected_versions[].version |
строка | да | нет | не более 128 символов; Шаблон: ^[0-9]+$ |
customer_site_id |
целое число / null | нет | да | ≥ 1 |
service_contract_id |
целое число / null | нет | да | ≥ 1 |
billing_mode |
строка | нет | нет | Допустимо: "billable", "covered" |
visit |
объект / null | нет | да | Только перечисленные ключи |
visit.starts_at |
строка (дата и время) | нет | нет | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
visit.ends_at |
строка (дата и время) | нет | нет | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
visit.crew_user_ids |
массив | нет | нет | не менее 1 элементов; не более 100 элементов; Без повторов |
visit.crew_user_ids[] |
целое число | да | нет | ≥ 1 |
visit.address |
строка / null | нет | да | не более 2000 символов |
visit.note |
строка / null | нет | да | не более 10000 символов |
visit.latitude |
число / null | нет | да | ≥ -90.0; ≤ 90.0 |
visit.longitude |
число / null | нет | да | ≥ -180.0; ≤ 180.0 |
visit.planning_duration_minutes |
целое число | нет | нет | ≥ 15; ≤ 10080 |
visit.client_window_start_at |
строка / null (дата и время) | нет | да | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
visit.client_window_end_at |
строка / null (дата и время) | нет | да | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
Условные требования: Каждому выбранному объекту соответствует expected_versions. Для visit со временем обязательны starts_at, ends_at и crew_user_ids; координаты и клиентское окно передаются парами. Covered требует service_contract_id; billable не принимает его.
Ответы
| HTTP | Назначение и схема |
|---|---|
| 201 | Создано. Полная схема и пример |
| 400 | Некорректный запрос. Коды и формат ошибки |
| 401 | Требуется действующий Bearer. Коды и формат ошибки |
| 403 | Недостаточно допуска. Коды и формат ошибки |
| 404 | Не найдено или недоступно. Коды и формат ошибки |
| 406 | Недопустимое кодирование ответа. Коды и формат ошибки |
| 409 | Конфликт состояния или повтора. Коды и формат ошибки |
| 412 | Версия устарела. Коды и формат ошибки |
| 413 | Превышен размер. Коды и формат ошибки |
| 415 | Неподдерживаемый Content-Type. Коды и формат ошибки |
| 422 | Ошибка входных данных. Коды и формат ошибки |
| 428 | Нужно предусловие версии. Коды и формат ошибки |
| 429 | Лимит запросов, Retry-After. Коды и формат ошибки |
| 500 | Внутренняя ошибка, исход нужно уточнить. Коды и формат ошибки |
| 503 | Временно недоступно. Коды и формат ошибки |
| HTTP | Заголовок ответа | Тип | Описание |
|---|---|---|---|
| 201 | 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 |
строка | |
| 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-schedules/plan-visit" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-plan-visit:001" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.plan-visit.json'
POST /maintenance-schedules/{id}/create-act
Создание или получение связанного акта ТО.
Доступ. Разрешения подключения: maintenance_schedules:write, acts:write. Права сотрудника: «ТОиР — Обслуживание → Изменение», «Акты приёма оборудования → Изменение». Дополнительно действуют доступ к записям, мастерским, модулям и условия полей из описания ресурса выше.
Параметры
| Имя | Где | Тип | Обязательно | null | Ограничения |
|---|---|---|---|---|---|
Authorization |
заголовок | строка | да | нет | Bearer <SERVICEAPP_TOKEN> |
id |
путь | строка | да | нет | Шаблон: ^(?:[0-9]+)$ |
Idempotency-Key |
заголовок | строка | да | нет | не менее 1 символов; не более 128 символов; Шаблон: ^[A-Za-z0-9._:-]+$ |
If-Resource-Version |
заголовок | строка | да | нет | не менее 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 |
строка | |
| 201 | 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 |
строка | |
| 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-schedules/101/create-act" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-create-act:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.create-act.json'
POST /maintenance-schedules/{id}/update
Изменение разрешённых полей.
Доступ. Разрешения подключения: maintenance_schedules: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 символов |
planned_date |
строка (дата) | нет | нет | — |
description |
строка / null | нет | да | не более 10000 символов |
assigned_user_id |
целое число / null | нет | да | ≥ 1 |
scenario_id |
целое число / null | нет | да | ≥ 1 |
service_contract_id |
целое число / null | нет | да | ≥ 1 |
workshop_id |
целое число | нет | нет | ≥ 1 |
type |
строка | нет | нет | Допустимо: "preventive", "corrective" |
priority |
строка | нет | нет | Допустимо: "low", "medium", "high", "critical" |
deadline_at |
строка / null (дата и время) | нет | да | не более 64 символов; Шаблон: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})$ |
Ответы
| 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-schedules/101/update" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-update:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.update.json'
POST /maintenance-schedules/{id}/start
Начало выполнения.
Доступ. Разрешения подключения: maintenance_schedules: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-schedules/101/start" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-start:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.start.json'
POST /maintenance-schedules/{id}/reschedule
Изменение даты и ответственного.
Доступ. Разрешения подключения: maintenance_schedules: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 | Ограничения и смысл |
|---|---|---|---|---|
planned_date |
строка (дата) | да | нет | — |
assigned_user_id |
целое число / null | нет | да | ≥ 1 |
Ответы
| 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-schedules/101/reschedule" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-reschedule:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.reschedule.json'
POST /maintenance-schedules/{id}/execution
Сохранение прогресса, результата и типизированных полей.
Доступ. Разрешения подключения: maintenance_schedules: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 | Ограничения и смысл |
|---|---|---|---|---|
result |
строка / null | нет | да | не более 10000 символов |
custom_fields |
массив | нет | нет | не более 100 элементов; Без повторов |
custom_fields[] |
объект | да | нет | Только перечисленные ключи |
custom_fields[].field_id |
целое число | да | нет | ≥ 1 |
custom_fields[].value |
строка / логическое значение / массив / объект / null | да | да | — |
custom_fields[].value (вариант 3) |
массив | нет | нет | — |
custom_fields[].value (вариант 3)[] |
строка | да | нет | — |
custom_fields[].value (вариант 4) |
объект | нет | нет | — |
custom_fields[].value (вариант 4).amount |
строка | да | нет | — |
custom_fields[].value (вариант 4).currency |
строка | да | нет | — |
checklist |
массив | нет | нет | не более 100 элементов; Без повторов |
checklist[] |
объект | да | нет | Только перечисленные ключи |
checklist[].id |
целое число | да | нет | ≥ 1 |
checklist[].version |
целое число | да | нет | ≥ 0 |
checklist[].is_completed |
логическое значение | нет | нет | — |
checklist[].note |
строка / null | нет | да | не более 10000 символов |
Ответы
| 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-schedules/101/execution" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-execution:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.execution.json'
POST /maintenance-schedules/{id}/complete
Завершение только этой заявки.
Доступ. Разрешения подключения: maintenance_schedules: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 | Ограничения и смысл |
|---|---|---|---|---|
result |
строка / null | нет | да | не более 10000 символов |
Ответы
| 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-schedules/101/complete" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-complete:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.complete.json'
POST /maintenance-schedules/{id}/cancel
Отмена заявки с причиной.
Доступ. Разрешения подключения: maintenance_schedules: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 | Ограничения и смысл |
|---|---|---|---|---|
reason |
строка | да | нет | не менее 1 символов; не более 2000 символов |
Ответы
| 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-schedules/101/cancel" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-cancel:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.cancel.json'
POST /maintenance-schedules/{id}/reopen
Возврат заявки в работу.
Доступ. Разрешения подключения: maintenance_schedules: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 | Ограничения и смысл |
|---|---|---|---|---|
reason |
строка | да | нет | не менее 1 символов; не более 2000 символов |
Ответы
| 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-schedules/101/reopen" \
--header "Authorization: Bearer $SERVICEAPP_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: example:v1-maintenance-schedules-reopen:001" \
--header "If-Resource-Version: $RESOURCE_VERSION" \
--header "Content-Type: application/json" \
--data-binary '@examples/requests/v1.maintenance-schedules.reopen.json'