Этот метод позволяет получать диалоги сайта. Мы используем этот метод на странице "Диалоги".
GET https://api.carrotquest.io/apps/{id}/conversations
Параметры аутентификации.
Параметры пагинации. Пагинация по времени последнего обновления диалога
(поле last_update
).
Параметр id_as_string.
Параметры, включающие опциональные поля объекта Conversation.
Поля part_last
, important_part_last
, reply_last
, user
включены по умолчанию.
Параметр | Тип | Описание |
---|---|---|
closed |
Optional[boolean] | Если фильтр указан, то вернет только открытые (false ) или только закрытые (true ) диалоги. Если нет - вернет все. |
answered |
Optional[boolean] | Если фильтр указан, то вернет только диалоги, в которых последним написал админ (true ) или пользователь (false ). Если нет - вернет все. |
delayed |
Optional[boolean] | Если фильтр указан, то вернет только отложенные (true ) или только неотложенные (false ) диалоги. Если нет - вернет все. |
assigned |
Optional[ID / 0 ] |
Укажите ID администратора, чтобы получить диалоги, назначенные только ему. Если фильтр не указан, возвращаются диалоги любого администратора. Чтобы получить неразобраные диалоги, необходимо отправить 0 и include_not_assigned отправить true . |
tags |
Optional[Array[str]] | Фильтр по тегам дилогов. Если указан, то будут возвращены диалоги, которым присвоены все эти теги. Если нет - вернет все. |
channel |
Optional[ID / 0 ] |
Фильтр по каналу. Укажите ID канала, чтобы получить диалоги из определенного канала. Если не указан - вернет диалоги из всех каналов. Если указан 0 - вернет диалоги без канала. |
assistant_type |
Optional[строка] | Если фильтр указан, вернуть только диалоги, которыми в данный момент управляет ассистент. Типы ассистентов: dialogflow , yandex_ai , lead_bot , routing_bot , facebook_bot , telegram_bot , widget_bot . |
include_no_tags |
Optional[boolean] | По умолчанию: false . Укажите true , чтобы к ответу добавились диалоги, у которых нет тегов. |
include_not_assigned |
Optional[boolean] | По умолчанию: false . Укажите true , чтобы к ответу добавились неразобранные диалоги (никому не назначенные диалоги) |
Сортировка диалогов перед пагинацией осуществляется по убыванию по дате последнего обновления (реплики) в диалоге.
Если не указан assistant_type
, то диалоги, в которых не было реплик пользователя не попадут в выборку. Выборка будет содержать диалоги, которыми не управляет ассистент.
Если assistant_type
указан, то фильтры delayed
, answered
, assigned
, tags
, channel
игнорируются.
Поле data
будет содержать массив объектов Conversation.
Поле meta
будет содержать новые параметры пагинации.
Пример:
{
"meta": {
"status": 200,
"next_after": 1454408108.30303
},
"data": [
{
"id": 9334799,
"created": 1454392168,
"user": {
"id": 23939391,
"user_id": "28231",
"presence": "idle",
"props": {
"$name": "Maks",
"$email": "maks@my-site.com",
...
}
},
"channel": {
"avatar": "",
"droppable": true,
"id": 5,
"name": "Тестовый канал",
"not_assigned_count": 0,
"not_read_count": 0,
"read_permission": null,
"type": "manual"
},
"read": true,
"replied": true,
"clicked": false,
"unsubscribed": false,
"closed": false,
"message": null,
"type": "popup_chat",
"reply_type": "text",
"part_last": {
"id": 10481096,
"created": 1454412399,
"conversation": 9334799,
"body": "Hello! How are u?",
"read": true,
"type": "reply_admin",
"sent_via": "app_desktop",
"from": {
"id": 24463,
"name": "Dima",
"avatar": "https://files.carrotquest.io/avatars/1446021235578-be57yp6v.jpg",
"type": "admin"
}
},
"parts_count": 22,
"assignee": {
"id": 24463,
"name": "Dima",
"avatar": "https://files.carrotquest.io/avatars/1446021235578-be57yp6v.jpg",
"type": "admin"
},
"unread_parts_count": 0,
"last_admin": {
"id": 24463,
"name": "Dima",
"avatar": "https://files.carrotquest.io/avatars/1446021235578-be57yp6v.jpg",
"type": "admin"
},
"last_update": 1454412399,
"tags": []
},
...
]
}
curl -X GET -H "Authorization: Token XXX" "https://api.carrotquest.io/apps/$self_app/conversations"