Skip to main content

Заголовки запроса

Authorization
string
required
API токен сервисного пользователя в формате Bearer. Получите токен в панели администратора школы. Формат: Bearer YOUR_TOKEN.
Seller-Id
string
required
Уникальный идентификатор продавца в системе. Используется для разграничения доступа между разными продавцами.
School-Id
string
required
Уникальный идентификатор школы в системе. Определяет контекст выполнения операции.

Параметры запроса

Доступны два формата передачи значений: по slug (рекомендуемый) и по fieldId (расширенный).
userId
integer
required
ID пользователя, для которого устанавливаются значения полей. Пользователь должен быть участником указанной школы.
layoutId
integer
required
ID макета формы, к которому принадлежат поля. Макет должен принадлежать текущей школе.

Формат 1: По slug (рекомендуемый)

Эндпоинт: POST /saas/v2/form/custom-field/value/set-by-slug Упрощённый формат — тип значения определяется автоматически на основе типа поля в макете.
values
object[]
required
Массив значений полей. Минимум 1 элемент.

Формат 2: По fieldId (расширенный)

Эндпоинт: POST /saas/v2/form/custom-field/value/set Типизированный формат — вы сами указываете столбец для значения.
values
object[]
required
Массив значений полей. Минимум 1 элемент.
Оба метода работают в режиме upsert — если значение поля для данного пользователя уже существует, оно будет обновлено. Если не существует — будет создано.
Поля, у которых в настройках RBAC установлено api = false (доступ через API запрещён), не могут быть записаны через этот метод.
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": 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) должен быть участником этой школы.