Заголовки запроса
API токен сервисного пользователя в формате Bearer. Получите токен в панели администратора школы. Формат: Bearer YOUR_TOKEN.
Уникальный идентификатор продавца в системе. Используется для разграничения доступа между разными продавцами.
Уникальный идентификатор школы в системе. Определяет контекст выполнения операции.
POST /saas/v2/form/custom-field/value/set
POST /saas/v2/form/custom-field/value/set-by-slug
Требуется аутентификация и право FormManage.
Параметры запроса
Доступны два формата передачи значений: по slug (рекомендуемый) и по fieldId (расширенный).
ID пользователя, для которого устанавливаются значения полей. Пользователь должен быть участником указанной школы.
ID макета формы, к которому принадлежат поля. Макет должен принадлежать текущей школе.
Формат 1: По slug (рекомендуемый)
Эндпоинт: POST /saas/v2/form/custom-field/value/set-by-slug
Упрощённый формат — тип значения определяется автоматически на основе типа поля в макете.
Массив значений полей. Минимум 1 элемент. Show Свойства элемента values
Значение поля. Тип должен соответствовать типу поля: Тип поля Ожидаемый тип value Пример Text, Textarea, Select, Radio string"Ташкент"Number number25Boolean, Switch, Checkbox booleantrueDate string (ISO 8601)"2025-03-10T12:00:00.000Z"Json, File, Multiselect object{"key": "value"}
Передайте null для очистки значения.
Формат 2: По fieldId (расширенный)
Эндпоинт: POST /saas/v2/form/custom-field/value/set
Типизированный формат — вы сами указываете столбец для значения.
Массив значений полей. Минимум 1 элемент. Show Свойства элемента values
ID поля, для которого устанавливается значение.
Текстовое значение. Для полей: Text, Select, Radio, Textarea.
Числовое значение. Для полей: Number.
Логическое значение. Для полей: Boolean, Switch, Checkbox.
Дата в формате ISO 8601. Для полей: Date.
JSON-объект. Для полей: Json, File, Multiselect.
Оба метода работают в режиме upsert — если значение поля для данного пользователя уже существует, оно будет обновлено. Если не существует — будет создано.
Поля, у которых в настройках RBAC установлено api = false (доступ через API запрещён), не могут быть записаны через этот метод.
По slug (cURL)
По fieldId (cURL)
Node.js (по slug)
PHP (по slug)
Python (по slug)
1С (по slug)
curl --location 'https://api.exode.biz/saas/v2/form/custom-field/value/set-by-slug' \
--header 'Seller-Id: {{ sellerId }}' \
--header 'School-Id: {{ schoolId }}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data-raw '{
"userId": 27,
"layoutId": 5,
"values": [
{ "slug": "city", "value": "Ташкент" },
{ "slug": "age", "value": 25 },
{ "slug": "is-active", "value": true }
]
}'
Success
Error - Field Not Found (slug)
Error - User Not In School
Error - Write Denied
{
"success" : true ,
"code" : 200 ,
"payload" : [
{
"id" : 1 ,
"userId" : 27 ,
"fieldId" : 10 ,
"fillId" : null ,
"value" : "Ташкент" ,
"createdAt" : "2025-03-10T12:00:00.000Z" ,
"updatedAt" : "2025-03-10T12:00:00.000Z"
},
{
"id" : 2 ,
"userId" : 27 ,
"fieldId" : 11 ,
"fillId" : null ,
"value" : 25 ,
"createdAt" : "2025-03-10T12:00:00.000Z" ,
"updatedAt" : "2025-03-10T12:00:00.000Z"
},
{
"id" : 3 ,
"userId" : 27 ,
"fieldId" : 12 ,
"fillId" : null ,
"value" : true ,
"createdAt" : "2025-03-10T12:00:00.000Z" ,
"updatedAt" : "2025-03-10T12:00:00.000Z"
}
]
}
Требования к правам доступа
Для установки значений кастомных полей требуется право FormManage у сервисного пользователя.
Сервисный пользователь должен быть аутентифицирован по токену и иметь соответствующие права доступа к указанной
школе.
Макет формы (layoutId) должен принадлежать текущей школе. Пользователь (userId) должен быть участником этой школы.