Получить пользователей (лидов). Пользователь считается лидом, если у него выполняется хотя бы одно из условий:
$name
)$email
),$phone
)Мы используем этот метод на странице "База лидов".
GET https://api.carrotquest.io/apps/{id}/users
Параметры аутентификации.
Параметр id_as_string.
Параметр | Тип | Описание |
---|---|---|
filters |
Объект фильтров | По умолчанию: все пользователи. |
sort_prop |
Optional[Строка] | Свойство, по которому будет отсортирован список перед пагинацией. По умолчанию: $last_seen (последняя активность) |
sort_order |
Optional[asc/desc] | Порядок сортировки (asc — по возрастанию, desc — по убыванию). По умолчанию: desc |
offset |
Optional[integer] | Пагинция. Смещение от начала (по умолчанию: 0 ) |
limit |
Optional[integer] | Пагинация. Максимальное количество пользователей, которые будут возвращены (от 1 до 50, по умолчанию: 20 ) |
convert_props_types |
Optional[boolean] | По умолчанию true . Если флаг не установлен (false ), свойства пользователя возвращаются как строки. |
Note: опциональные поля объекта User для этого метода включить нельзя.
По умолчанию возвращаются все пользователи (без фильтров). Для поиска нужных следует использовать поле filters
.
Например, чтобы получить только пользователей из заданного сегмента, например, тех, кто заходил за последний день,
найти пользователей по имени, email и т.д.
Данные, возвращаемые этим методом, обновляются с задержкой в несколько минут. Поэтому они могут отличаться от данных, находящихся в карточке пользователя (если они не успели обновиться).
Пагинация в этом методе немного отличается от пагинации в других методах.
Вместо обычных paginate_position
и paginate_count
здесь используются другие параметры: offset
и limit
.
При получении большого количества пользователей через пагинацию возможна ситуация, когда в верх списка добавляются
новые пользователи. Поэтому возможно, что один и тот же пользователь окажется в нескольких последовательных
запросах.
Например, если при первом запросе задано offset=0, limit=20
, при втором —
offset=20, limit=20
и между вызовами вверху был добавлен один новый пользователь, то двадцатый
пользователь при первом вызове будет первым во втором вызове.
Чтобы исключать дубли, вам нужно проверять ID на своей стороне.
Другой вариант — использовать экспорт пользователей в административной панели, чтобы получить большое количество
пользователей за раз (при экспорте эту проблему мы решим за вас).
Этим методом нельзя выбрать более 10000 лидов. Это техническое ограничение.
Попытка указать offset
+ limit
больше 10000 приведет к ошибке.
Чтобы выгружать большое количество пользователей используйте экспорт пользователей в административной панели.
Если возвращенных пользователей меньше чем limit
, значит все пользователи получены.
Например, если при лимите 20 получено 5 пользователей, значит все пользователи получены.
Ответ в поле data
содержит словарь из 2 элементов:
total
содержит общее количество пользователей, удовлетворяющих заданным фильтрам.users
содержит массив объектов, описывающих пользователей.
Формат объекта здесь отличается от обычного объекта User. Объект содержит:id
(ID пользователя)presence
(статус)props
(свойства). Свойства пользователя возвращаются как единый словарь без разделения на системные,
кастомные и свойства событий.Подробнее о свойствах пользователя и о статусах пользователя.
Note: поскольку способ пагинации отличается от стандартного, поле meta
не будет содержать данных пагинации.
{
"meta": {
"status": 200
},
"data": {
"total": 245,
"users": [
{
"id": 3568,
"presence": "offline",
"props": {
"$event_18_first": "2014-06-15T22:14:08",
"$event_18_last": "2014-06-23T07:50:46",
"$event_18_count": 4,
"$last_contacted": "2016-02-12T15:33:31",
"$email": "maks@gmail.com",
"$sessions": 1,
"$last_seen": "2014-06-17T08:56:03",
}
},
...
]
}
}
curl -X GET -H "Authorization: Token XXX" "https://api.carrotquest.io/apps/$self_app/users"