Оформление
Создать и изменить объект через API
Так внешняя система создаёт обращение или другую запись настроенного типа. Не копируйте поля из чужого примера: сначала получите схему вашего типа.
Права и подготовка
Нужны metadata:read, objects:write, а для последующего чтения — objects:read; дополнительно права владельца на тип и поля. Работайте сначала в тестовой среде.
- Выполните
GET /api/v1/metadata/types. - Выберите нужный тип по ID.
objectCategory: dictionaryобозначает справочник, а не тип заявки. - Получите
GET /api/v1/metadata/types/TYPE_ID/fields. - Соберите обязательные поля из
fields. Ссылки передавайте в формате поля, а не отображаемым названием.
Создать запись
http
POST /api/v1/objects HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: external-record-0001
{"typeDefinitionId":"TYPE_ID","values":{"FIELD_CODE":"Значение"}}FIELD_CODE — место для реального кода. Пример не содержит всех обязательных полей вашей заявки. Успех — HTTP 201; сохраните data.id и data.revision.
json
{
"data": {"id":"OBJECT_ID","revision":1,"values":{"FIELD_CODE":"Значение"}},
"meta": {"correlationId":"CORRELATION_ID","apiVersion":"v1"}
}Изменить запись
Сначала прочитайте GET /api/v1/objects/OBJECT_ID, затем используйте полученную ревизию:
http
PATCH /api/v1/objects/OBJECT_ID HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"expectedRevision":1,"changes":{"FIELD_CODE":"Уточнённое значение"}}При HTTP 409 запись уже изменилась. Перечитайте её, сопоставьте изменения и решите, нужно ли повторять действие. Не подставляйте новую ревизию автоматически, если это может затереть работу другого человека.
Статус и удаление
Статус меняется через workflow, где могут требоваться причина, отчёт о решении и другие поля. DELETE /objects/OBJECT_ID архивирует запись, а не безвозвратно удаляет её.
Для заявки от определённого заявителя через элемент каталога существует отдельный делегированный метод с catalog:impersonate. Он не взаимозаменяем с обычным созданием объекта.