Асинхронно импортирует базу пользователей из 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