4.4. Методы API частичного сохранения данных по форме

Для сокращения количества действий, требующихся при сохранении данных по форме посредством API, были реализованы методы API для частичного сохранения данных.

4.4.1. Метод частичного сохранения данных по форме

Метод выполняет слияние данных по форме, хранящихся на сервере, с теми, которые переданы в параметрах метода. При этом создается новая версия данных формы, а значения компонентов, не указанных в параметрах метода, не изменяются.

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 данных по форме>"
    }