App runtime

Записать пачку записей в собственный справочник приложения

Приложение наполняет справочник, который само же объявило манифестом. До этой операции наполнить его было нечем: публичный слой только читает, а конструктор кабинета закрыт правом core:write — то есть правом на ВСЕ справочники кабинета, включая контрагентов и статьи.

ИДЕМПОТЕНТНО ПО КОДУ. Присланный второй раз код обновляет ту же запись, а не заводит вторую: код — это и есть ссылка на запись в смысле SDK, и прогон, повторённый после обрыва связи, обязан оставить справочник в том же состоянии.

ОБНОВЛЕНИЕ ЧАСТИЧНОЕ ПО СОСТАВУ: записи, которой нет в пачке, операция не касается. Полной замены списка здесь нет намеренно — на записи ссылаются документы кабинета, и «прислал десять вместо тысячи» стёрло бы девятьсот девяносто ссылок молча. Убрать значение из списка — отдельная операция, и она гасит запись, а не стирает.

Потолок пачки — 500 записей: у операции обязан быть объявленный предел, иначе контракт разрешает прислать миллион строк одним запросом.

PUT, а не POST, ровно потому, что повтор ничего не меняет. Изменение уезжает подписчикам событием core.reference.item.changed.v1 той же транзакцией, что и сама запись.

put/api/v1/app/reference/{key}/items

Request

  • Base URL: https://erp.akeda.ru
  • URL: https://erp.akeda.ru/api/v1/app/reference/{key}/items
  • Auth: HTTP bearer

Path parameters

keystring required

Полный ключ справочника приложения: app.<издатель>.<ключ>.<справочник>. Пространство живёт прямо в ключе, и чужое отвечает 404.

Headers

X-Tenantstring required

Slug выбранного кабинета; кабинет не является юрлицом

Request body

Response

Сколько записей заведено и сколько обновлено

createdinteger required

Сколько записей заведено впервые

updatedinteger required

Сколько существующих кодов обновлено

Changes

No recorded changes to this operation across all 1 revision of this API.