API – Пакетний імпорт користувачів
Для авторизації використовуйте АРІ token. Детально в статті API token
Пакетний імпорт користувачів можна провести двома способами:
- За допомогою CSV-файлу.
- В JSON-форматі.
Імпорт користувачів за допомогою CSV-файлу
- Для пакетного імпорту користувачів у форматі CSV потрібно надіслати POST-запит на один з наступних URI:
- /api/v2/users-import/csv;
- або /api/v2/users-import/batch.
- До запиту повинен бути прикріплений файл у форматі, описаному в Синхронізація за допомогою CSV.
- Запит повинен містити заголовки: Content-Type: multipart/form-data та X-Cbr-Authorization: Bearer API_TOKEN
Приклад запиту:
curl 'https://your-domain.davintoo.com/api/v2/users-import/csv' -H 'X-Cbr-Authorization: Bearer API_TOKEN' -H 'Content-Type: multipart/form-data' -F 'file=@/path/to/users.csv'

curl 'https://your-domain.davintoo.com/api/v2/users-import/batch' -H 'X-Cbr-Authorization: Bearer API_TOKEN' -H 'Content-Type: multipart/form-data' -F 'file=@/path/to/users.csv'

Замість локальної адреси https://your-domain.davintoo.com потрібно використовувати адресу вашого інстанса.
Імпорт користувачів в JSON-форматі
Замість CSV-файлу в тіло запиту можна додати інформацію про користувачів в JSON-форматі.
- Потрібно надіслати POST-запит на URI /api/v2/users-import/batch.
- Запит повинен містити заголовки Content-Type: application/json та X-Cbr-Authorization: Bearer API_TOKEN.
- Налаштування body: raw, JSON.
Список полів аналогічний як для АРІ /api/v2/users-import/single: API – Імпорт користувача.
Приклад:
[
{
"uid": "ad123473",
"secondname": "Діккенс",
"firstname": "Чарльз",
"patronymic": "",
"login": "addiccens",
"email": "addiccens@test.me",
"password": "111",
"birth_date": "16.10.1988",
"gender": "0",
"city": "Ужгород",
"department": "Відділ прози",
"position": "Письменник",
"tags": "новачок",
"phone": "",
"status": "0",
"date_of_employment": "",
"google_id": null,
"work_contact": "",
"date_of_assignment_current_position": "",
"structure_uid": ["a2701216083","a1206747582"],
"user_field1": null,
"user_field2": null,
"user_field3": null,
"customInfo": null,
"language": null,
"user_field4": null,
"user_field5": null,
"role_id": null,
"manager_uid": "ad123456"
},
{
"uid": "ad123474",
"secondname": "Мітчелл",
"firstname": "Маргарет",
"patronymic": "",
"login": "admitchel",
"email": "admitchel@test.me",
"password": "111",
"birth_date": "31.03.1991",
"gender": "1",
"city": "Львів",
"department": "Відділ прози",
"position": "Письменник",
"tags": "новичок, драматург",
"phone": "",
"status": "0",
"date_of_employment": "",
"google_id": null,
"work_contact": "",
"date_of_assignment_current_position": "",
"structure_uid": "a2701216083",
"user_field1": null,
"user_field2": null,
"user_field3": null,
"customInfo": null,
"language": null,
"user_field4": null,
"user_field5": null,
"role_id": null,
"manager_uid": ["ad123456","ad123457"]
},
{
"uid": "ad123456",
"secondname": "Кларк",
"firstname": "Артур",
"patronymic": "",
"login": "arthurclarke",
"email": "arthurclarke@test.me",
"password": "111",
"birth_date": "30.05.1972",
"gender": "0",
"city": "Харків",
"department": "Відділ фантастики",
"position": "Керівник відділу",
"tags": "кадровий резерв",
"phone": "",
"status": "0",
"date_of_employment": "",
"google_id": null,
"work_contact": "",
"date_of_assignment_current_position": "",
"structure_uid": "a1206747582",
"user_field1": null,
"user_field2": null,
"user_field3": null,
"customInfo": null,
"language": null,
"user_field4": null,
"user_field5": null,
"role_id": null,
"manager_uid": "ad123475"
}
]
Приклад запиту:
curl 'https://your-domain.davintoo.com/api/v2/users-import/batch' -H 'X-Cbr-Authorization: Bearer API_TOKEN' -H 'Content-Type: application/json'

Відповідь
-
В разі успішного запиту (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, 500) повертає JSON об'єкт з інформацією про помилку