Для сокращения количества действий, требующихся при сохранении данных по форме посредством API, были реализованы методы API для частичного сохранения данных.
Метод выполняет слияние данных по форме, хранящихся на сервере, с теми, которые переданы в параметрах метода. При этом создается новая версия данных формы, а значения компонентов, не указанных в параметрах метода, не изменяются.
URL метода: rest/api/asforms/data/merge
Тип: POST
В теле запроса передается json-объект вида:
{ "uuid": "<UUID данных по форме>", "eventProperties": { "paramA": "A", "paramB": "B" }, "data": [ { "id":"field1Code", //идентификатор компонента "value": "field1_value", //значение "type":"widgetType1" //тип компонента }, ..., { "id":"fieldNCode", "value": "fieldN_value", "type":"widgetTypeN" } ] }
Здесь:
uuid
- UUID данных по форме (параметр
запроса);
data
- массив json
с
данными по форме (параметр формы);
eventProperties
- json
с параметрами для отправки в событие изменения данных по
форме (необязательный параметр).
Параметр
eventProperties
должен иметь формат «ключ - значение», ключ должен соответствовать регулярному выражению[a-zA-Z_][a-zA-Z_0-9]*
. КлючиformID
,dataUUID
зарезервированы, при передаче подобных ключей значения будут перезаписаны параметрами события.
Если в параметре data
передан id динамической
таблицы, то она будет перезаписана полностью. Для добавления
нового блока в динамическую таблицу используется метод
rest/api/asforms/data/append_table
.
В случае успешного выполнения возвращается код 200 с сообщением:
{ "errorCode": 0, "uuid": "<uuid данных по форме>" }