Аккаунты клиентов (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 - масив пользовательских полей, которые отображены в карточке клиента. Отображено то название и количество, которое вы указали в настройках



История сообщений аккаунта

Если Вам нужно получить сообщения из истории чата с подписчиком, то отправьте следующий 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 - идентификатор пользователя, отправившего сообщение.