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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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 об'єкт з інформацією про помилку