Заголовки запроса
API токен сервисного пользователя в формате Bearer. Получите токен в панели администратора школы. Формат: Bearer YOUR_TOKEN.
Уникальный идентификатор продавца в системе. Используется для разграничения доступа между разными продавцами.
Уникальный идентификатор школы в системе. Определяет контекст выполнения операции.
Параметры запроса
Доступны два формата передачи значений: по 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)
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) должен быть участником этой школы.