API – Імпорт користувача
Для авторизації використовуйте АРІ token. Детально в статті API token
- Для імпорту одного користувача потрібно надіслати POST запит на URI/api/v2/users-import/single
- В тілі запиту має бути JSON об'єкт з інформацією про користувача.
- Запит повинен містити заголовки Content-Type: application/json;charset=UTF-8 та X-Cbr-Authorization: Bearer API_TOKEN.
Приклад запиту:
curl 'https://your-domain.com/api/v2/users-import/single' -H 'X-Cbr-Authorization: Bearer API_TOKEN' -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"uid":"cl123456", "secondname":"Smith", "firstname":"John", "patronymic":"", "login":"john.smith", "email":"[email protected]", "password":"123456", "birth_date":"26.07.1988", "gender":0, "is_active":1, "city":"Kyiv", "department":"Main Office", "position":"CEO", "tags":"tag1", "phone":"+380971111111", "user_field1":"Cluster1", "user_field2":"Top Management", "user_field3":"Ukraine""user_field4":"string", "user_field5":"string"}'
Замість локальної адреси https://your-domain.com потрібно використовувати адресу вашого інстанса.
Для передачі значень в форматі JSON порядок полів не має значення, дані імпортуються по назві поля.
Формат об'єкта з інформацією про користувача
* Зірочкою відзначені обов'язкові поля
Поле | Тип | Опис |
---|---|---|
uid* | Рядок | Унікальний ідентифікатор |
secondname* | Рядок | Прізвище |
firstname* | Рядок | Ім'я |
patronymic | Рядок | По-батькові |
login* | Рядок | Логін |
email* | Рядок | |
password | Рядок | Пароль |
birth_date | Рядок | Дата народження, в форматі ДД.ММ.РРРР або РРРР-ММ-ДД, наприклад, 26.07.1988 або 1988-07-26 |
gender | Число | Стать: 0 - чоловіча, 1 - жіноча, якщо поле не задано – ігнорується |
is_active | Число | Прапор, вказує, чи користувач активний в системі, 1 - активний, 0 - заблокований |
city | Рядок | Місто |
department | Рядок | Підрозділ |
position | Рядок | Посада |
phone | Рядок | Телефон, у міжнародному форматі, наприклад, +380971234567 |
tags | Рядок | Список тегів, розділених комою |
facebook_id | Рядок | id користувача в Facebook |
google_id | Рядок | id користувача в Google |
date_of_employment | Рядок | Дата прийому на роботу, у форматі ДД.ММ.РРРР або РРРР-ММ-ДД, наприклад, 26.07.1988 або 1988-07-26 |
work_contact | Рядок | Робочі контакти |
date_of_assignment_current_position | Рядок | Дата призначення поточної посади, у форматі ДД.ММ.РРРР або РРРР-ММ-ДД, наприклад, 26.07.1988 або 1988-07-26 |
structure_uid | Рядок | Код підрозділу для автоматичної прив'язки користувача до підрозділу оргструктури |
user_field1 | Рядок | Додаткове поле у профілі користувача |
user_field2 | Рядок | Додаткове поле у профілі користувача |
user_field3 | Рядок | Додаткове поле у профілі користувача |
customInfo | Рядок | необов'язкове поле. Призначене для передачі службової інформації про користувача у форматі JSON з використанням кодування BASE64. Не відображається у профілі користувача. Приклад кодованих даних: {"projects":["mtr-1", "mto-232"], "vacation_days":21, "sick_leave_days":9} |
language | Рядок | необов'язкове поле. Вказується мова інтерфейсу для користувача, якщо вона відрізняється від основної мови. Можливі значення: EN, UK, DE (німецька), ES (іспанська), ET (естонська), TR (турецька), RU. |
user_field4 | Рядок | Додаткове поле у профілі користувача |
user_field5 | Рядок | Додаткове поле у профілі користувача |
manager_id | Рядок | необов'язкове поле. Вказується внутрішній id керівника користувача у системі |
manager_uid | Рядок | необов'язкове поле. Вказується зовнішній id керівника користувача |
При передачі одночасно
manager_id
і manager_uid
пріоритет має manager_id
.Якщо в полі керівника не передати його id при наступному імпорті, він перестане бути керівником даного підлеглого.
Тобто, якщо передати поле пустим, у користувача видаляться призначені раніше керівники.
Якщо раніше передавалось 2 керівники, а зараз вказано лише одного, то і на порталі після імпорту залишиться 1.
Тобто, якщо передати поле пустим, у користувача видаляться призначені раніше керівники.
Якщо раніше передавалось 2 керівники, а зараз вказано лише одного, то і на порталі після імпорту залишиться 1.
Відповідь
- В разі успішного запиту (HTTP код відповіді - 200), буде відповідь у форматі JSON з інформацією про кількість оброблених записів:
{"created_count":1,"updated_count":0,"blocked_count":0,"unblocked_count":0}
created_count - дорівнюватиме 1, якщо новий користувач був створений в системі
updated_count - дорівнюватиме 1, якщо існуючий користувач був оновлений в системі
blocked_count - дорівнюватиме 1, якщо в процесі оновлення раніше активний користувач був заблокований
unblocked_count - дорівнюватиме 1, якщо в процесі оновлення раніше заблокований користувач був включений
- В разі помилки (HTTP код відповіді - 400) повертає JSON об'єкт з інформацією про помилку:
{"error":"Required fields: uid, login, email, firstname, secondname, position"}