Аккаунты клиентов (Accounts)
Список аккаунтов
Для того, чтобы получить список всех аккаунтов подписчиков из Вашей компании отправьте следующий GET запрос:
Request
GET https://api.leeloo.ai/api/v1/accounts?limit=3&offset=0&filter[tags]=tag3,tag2
где:
- limit - ограничение количества результатов (не рекомендуется выгружать большое количество данных сразу, так как это может замедлить выгрузку данных);
- offset - сколько результатов пропустить (по умолчанию "0");
- filter[tags] - фильтр по тэгам;
- tag3,tag2 - список тэгов.
Если все сделано правильно, сервер Вам выдаст следующий ответ:
Response
{ "data": [ { "id": "59bbc641b1223300210cdf2f", "name": "Kurt Bowie", "tags": [ "tag2" ], "from": "FACEBOOK", "botStatus": "BOT", "lastMessageTime": "2017-11-03T08:34:18.417Z", "createdAt": "2017-09-15T12:23:29.023Z" }, { "id": "5899afd15c97121f006c8b48", "name": "Weend Vidente", "tags": [ "68187", "tag3" ], "from": "TELEGRAM", "botStatus": "BOT", "lastMessageTime": "2017-09-07T14:30:58.798Z", "createdAt": "2017-02-07T11:30:25.324Z" } ], "meta": { "limit": 3, "offset": 0, "filteredCount": 2, "totalCount": 2 }, "status": 1 }
где:
- data - массив запрашиваемых аккаунтов;
- id - id аккаунта (уникальное значение для каждого подписчика в системе, можно узнать только через API);
- name - имя аккаунта (как подписчик назвал себя в настройках мессенджера);
- tags - массив тэгов аккаунта (какие тэги были добавлены для данного пользователя на платформе);
- from - из какого мессенджера данный аккаунт;
- botStatus - статус бот/админ для данного аккаунта (статус "BOT" - сообщения от бота приходят пользователю, "ADMIN" - с подписчиком общается человек - сообщения от бота не приходят);
- lastMessageTime - время последнего сообщения (когда от подписчика было отправлено последнее сообщение);
- createdAt - время добавления аккаунта в платформу (когда произошла подписка).
meta:
- limit - лимит, установленный в запросе (по умолчанию 20);
- offset - установленный в запросе отступ (по умолчанию 0);
- filteredCount - количество результатов в ответе;
- totalCount - общее количество результатов, соответствующих фильтру.
Информация об аккаунте
Вы можете получить подробную информацию об аккаунте по его id (можно узнать на предыдущем шаге).
Пример GET запроса:
Request
GET https://api.leeloo.ai/api/v1/accounts/59bbc641b1223300210cdf2f?include=contactedUsers,orders
- 59bbc641b1223300210cdf2f - id аккаунта (уникальное значение);
- include - позволяет включить дополнительные данные в ответ:
- contactedUsers - пользователи платформы, с которыми общался аккаунт;
- orders - список заказов аккаунта.
Пример ответа, если дынные введены корректно:
Response
{ "data": { "id": "59bbc641b1223300210cdf2f", "name": "Kurt Bowie", "tags": [ "tag3" ], "from": "FACEBOOK", "botStatus": "BOT", "gender": "FEMALE", "phone": "+38000434534", "email": "NOT_DEFINED", "locale": "en_US", "subscribeHistory": [ { "tunnelName": "TunnelName_1", "leadgentoolName": "LGT_1", "trafficSource": "Default traffic source" }, { "tunnelName": "TunnelName_2", "leadgentoolName": "LGT_2", "trafficSource": "TrafficSource_1" } ], "links": { "contactedUsers": [ { "type": "users", "id": "58be00d668aaeaded60aa186" } ], "orders": [ { "type": "orders", "id": "59f2e2425bb695001a3f6388" }, { "type": "orders", "id": "59edb72dbed51e00152c1c1f" }, { "type": "orders", "id": "59edb6e5da15a0001be1261f" } ] }, "custom_fields": { "Email": "test@test.com", "Email work": "test.work@qe.tyty", "текстовое выражение": "hello word", "приветственное сообщение": "привет", "дата": "2019-03-12T08:29:08.721Z", "номер телефона": "+380676665544", }, "createdAt": "2017-09-15T12:23:29.023Z", "updatedAt": "2017-11-03T11:29:21.528Z" }, "included": { "users": [ { "id": "58be00d668aaeaded60aa186", "name": "Robert", "createdAt": "2017-01-25T13:06:47.652Z", "updatedAt": "2017-08-16T09:11:23.002Z" } ], "orders": [ { "price": 1, "currency": "UAH", "paymentMethod": "ASSET_PAYMENT", "status": "SUCCESS", "updatedAt": "2017-10-27T07:39:19.363Z" }, { "price": 1, "currency": "UAH", "paymentMethod": "YANDEX_MONEY", "status": "SUCCESS", "updatedAt": "2017-10-23T09:33:05.403Z" }, { "price": 1, "currency": "UAH", "paymentMethod": "YANDEX_MONEY", "status": "SUCCESS", "updatedAt": "2017-10-23T09:32:20.164Z" } ] }, "status": 1 }
- data - данные аккаунта;
- gender - пол (для Фейсбук, так как другие мессенджеры данную информацию не предоставляют);
- phone - номер телефона аккаунта (если есть на платформе);
- email - электронная почта аккаунта (если есть на платформе);
- locale - локализация аккаунта (если информация в мессенджере);
- subscribeHistory - история подписок аккаунта:
- tunnelName - имя туннеля;
- leadgentoolName - имя ЛГТ;
- trafficSource - имя источника трафика (на какого бота подключен пользователь).
- links - связи аккаунта:
- users - пользователи, общавшиеся с аккаунтом (пользователи, которым Вы предоставили роль на платформе);
- orders - заказы сформированные аккаунтом.
- included - дополнительные данные:
- users - массив пользователей платформы, контактировавших с аккаунтом:
- id - id пользователя;
- name - имя пользователя платформы;
- createdAt - время создания пользователя;
- updatedAt - время последнего обновления данных пользователя.
- orders - массив заказов (ордеров) сформированных аккаунтом
- price - цена заказа;
- currency - валюта заказа;
- paymentMethod - название службы, через которую был сформирован заказ;
- status - текущий статус заказа;
- updatedAt - время последнего обновления статуса заказа
- custom_fields - масив пользовательских полей, которые отображены в карточке клиента. Отображено то название и количество, которое вы указали в настройках
- users - массив пользователей платформы, контактировавших с аккаунтом:
История сообщений аккаунта
Если Вам нужно получить сообщения из истории чата с подписчиком, то отправьте следующий GET-запрос:
GET https://api.leeloo.ai/api/v1/accounts/59bbc641b1223300210cdf2f/chat-messages?limit=3&offset=0
где
- 59bbc641b1223300210cdf2f - id аккаунта по которому мы хотим увидеть историю сообщений;
- limit - ограничение количества результатов (в данном случае "3");
- offset - пропуск результатов (в данном случае нам покажет три первых сообщения, которые соответствуют данному запросу).
Ожидаемый ответ, в случае правильного составления запроса:
{ "data": [ { "id": "59fc4b178dd98a000a958b8b", "text": "Last message", "type": "BOT_MESSAGE", "read": true, "createdAt": "2017-11-03T10:55:19.024Z", "updatedAt": "2017-11-03T10:55:19.024Z" }, { "id": "59fc28fa03193700519a72af", "text": "Pre last message", "type": "YOUR_MESSAGE", "read": true, "createdAt": "2017-11-03T09:29:46.936Z", "updatedAt": "2017-11-03T09:29:46.936Z", "links": { "createdBy": { "type": "users", "id": "58be00d668aaeaded60aa186" } } }, { "id": "59fc2a14a2493e0047813e24", "text": "Good morning!", "type": "FRIEND_MESSAGE", "read": true, "createdAt": "2017-11-03T08:37:28.621Z", "updatedAt": "2017-11-03T08:37:28.621Z" } { "id": "59fc2a14a2493e0047813e24", "text": "Good morning, {name}! \n\nTest message content", "type": "BOT_MESSAGE", "read": true, "createdAt": "2017-11-03T08:34:24.443Z", "updatedAt": "2017-11-03T08:34:24.443Z" }, { "id": "59fc2a14a2493e0047813e24", "text": "", "type": "SYSTEM_MESSAGE", "read": true, "createdAt": "2017-11-03T08:31:23.321Z", "updatedAt": "2017-11-03T08:31:23.321Z" } ], "meta": { "limit": 3, "offset": 0, "filteredCount": 3, "totalCount": 113 }, "status": 1 }
- data - массив сообщений;
- id - id сообщения;
- text - содержимое сообщения;
- type - тип сообщения:
- SYSTEM_MESSAGE - уведомление о действии аккаунта (подписка, формирование и изменение статуса заказа);
- BOT_MESSAGE - сообщения, отправленые без прямого участия пользователя (Рассылка, туннель, умные ответы, приветсвие и т.д.);
- YOUR_MESSAGE - сообщение, отправленное пользователем вручную, через страницу чатов;
- FRIEND_MESSAGE - сообщение, отправленное аккаунтом (клиентом).
- read - прочитано ли сообщение (true/false);
- createdAt, updatedAt - время появления сообщения в истории чатов.
- links:
- createdBy - автор сообщения;
- id - идентификатор пользователя, отправившего сообщение.