Асинхронно импортирует базу пользователей из CSV-файла.
POST https://api.carrotquest.io/users/import
Параметры аутентификации.
| Параметр | Тип | Описание |
|---|---|---|
app |
ID | ID вашего приложения в Carrot quest. Можно подставить $self_app, чтобы использовать данные из токена |
file |
Файл | CSV файл, размером до 30 Мбайт в кодировке utf-8 |
merge_field |
Optional[строка] | Может принимать занчения $user_id (по умолчанию) или $email |
delimiter |
Optional[строка] | Разделитель столбцов в CSV. Допустимы ,, |, ;, \t (табуляция, по умолчанию), (пробел) |
tags |
Optional[Array[строка]] | Массив имен тэгов, которые будут добавлены каждому импортированному пользователю. Каждое имя должно быть JSON-кодировано |
Имена свойств пользователей берутся из первой строки CSV-файла.
Системные свойства при этом должны задаваться их ключом в нашей системе (ключи системных свойств начинаются с символа $).
Ключи можно посмотреть в нашей базе знаний.
Файл должен быть в кодировке UTF-8 и не должен превышать 30 Мбайт по размеру.
При импорте, мы ищем по ключу импорта существующих пользователей. Тех, кого находим - обновляем. Кого не находим - создаем. В качестве ключа поиска можно использовать:
User ID пользователя в вашей системе
При импорте по User ID в CSV файле обязательно должен присутствовать столбец $user_id.
User ID - это тот же ключ, который используется при склейке пользователей методом carrotquest.auth.
Свойство пользователя Email
При импорте по Email, в CSV файле обязательно должен присутствовать столбец $email.
Если несколько пользователей имеют одинаковый email, то данные будут записаны в пользователя,
который обновлялся последним (имеет наибольшую дату в свойстве Последняя активность).
Когда импорт будет завершен, в секции уведомлений панели администратора появится сообщение с результатами.
Важно! Будьте внимательны при заполнении CSV файла. Не допускайте лишних пробелов и невидимых символов в именах столбцов и значениях свойств, особенно тех, которые являются ключевыми.
{
"meta": {
"status": 200
},
"data": {
"row_errors": {1: "Error in string 1", 33: "Error in string 33", ...},
"updates_planned": 123
}
}
row_errors - Вернет словарь ошибок, найденных при валидации файла. Ключ словаря - номер строки. Значение - текст ошибки.updates_planned - Количество записей, которые запланированы на импорт.
В ходе импорта также могут возникнуть ошибки, тогда количество реально импортированных записей не будет совпадать.Пример файла для импорта, ищет в базе лидов двух пользователя по User ID
и обновляет им системное свойство "Имя" ($name) и кастомное свойство "Действие".
"$user_id";"$name";"Действие"
135;"Аннушка";"пролила масло"
666;"Воланд";"посетил Патриаршие пруды"
Пример запроса. Обратите внимание, что тэги обрамлены в символы " - это результат JSON-кодирования.
curl -X POST \
--data "file=@/path/to/database.csv" \
--data-urlencode "app={ID}" \
-H "Authorization: Token XXX" \
--data-urlencode "merge_field=$user_id" \
--data-urlencode "delimiter=;" \
--data-urlencode 'tags="super_tag","import_tag_2"' \
https://api.carrotquest.io/users/import