Синхронизация пользовательских данных через HTTP API

Получение API-ключа

См. Ключи API. Убедитесь, что роль, связанная с API-ключом, имеет необходимые права для синхронизации пользовательских данных.

Обзор API

Пример

curl 'https://localhost:13000/api/userData:push' \
  -H 'Authorization: Bearer <token>' \
  --data-raw '{"dataType":"user","records":[]}' # Подробности тела запроса см. ниже

Конечная точка

POST /api/userData:push

Формат пользовательских данных

UserData

ПараметрТипОписание
dataType'user' | 'department'Обязательный. Тип отправляемых данных. Используйте user для отправки пользовательских данных.
matchKey'username' | 'email' | 'phone'Необязательный. Используется для сопоставления существующих системных пользователей по указанному полю (username — имя пользователя, email — электронная почта, phone — телефон).
recordsUserRecord[]Обязательный. Массив записей пользовательских данных.

UserRecord

ПараметрТипОписание
uidstringОбязательный. Уникальный идентификатор исходных пользовательских данных, используется для сопоставления исходных данных с системным пользователем. Неизменяем для пользователя.
nicknamestringНеобязательный. Никнейм пользователя.
usernamestringНеобязательный. Имя пользователя.
emailstringНеобязательный. Электронная почта пользователя.
phonestringНеобязательный. Номер телефона пользователя.
departmentsstring[]Необязательный. Массив UID отделов, к которым принадлежит пользователь.
isDeletedbooleanНеобязательный. Указывает, удалена ли запись.
<field>anyНеобязательный. Пользовательские поля в таблице пользователей.

Формат данных отделов

Info

Для отправки данных отделов требуется установленный и включённый плагин Отделы.

DepartmentData

ПараметрТипОписание
dataType'user' | 'department'Обязательный. Тип отправляемых данных. Используйте department для данных отделов.
recordsDepartmentRecord[]Обязательный. Массив записей данных отделов.

DepartmentRecord

ПараметрТипОписание
uidstringОбязательный. Уникальный идентификатор исходных данных отдела, используется для сопоставления исходных данных с системным отделом. Неизменяем.
titlestringОбязательный. Название отдела.
parentUidstringНеобязательный. UID родительского отдела.
isDeletedbooleanНеобязательный. Указывает, удалена ли запись.
<field>anyНеобязательный. Пользовательские поля в таблице отделов.
Info
  1. Отправка данных — идемпотентная операция.
  2. Если при отправке данных отдела родительский отдел не существует, связь установить нельзя. Можно повторно отправить данные после создания родительского отдела.
  3. Если при отправке пользовательских данных отдел пользователя не существует, пользователя нельзя связать с этим отделом. Можно повторно отправить пользовательские данные после отправки данных отдела.