API (Application Programming Interface) — это инструмент, который позволяет вашим приложениям, сайтам, CRM "общаться" и обмениваться данными с платформой Leeloo.ai. C помощью API вы можете
получить информацию о ваших клиентах, передать данные о клиентах (офферах) в таблицу, подключить систему онлайн-оплаты или доставки, без сложной и затратной разработки.
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Введение в использование API
Заголовок запроса (Headers)
При выполнении запросов к Leeloo.AI вам необходимо использовать Headers, “+Заголовок запроса”
в “Ключ” вставьте X-Leeloo-AuthToken
а в “Значение” ваш Leeloo.ai API токен.
Где взять API токен?
API токен можно найти в разделе Leeloo.ai API на платформе Leeloo.ai. Он необходим для аутентификации запросов к API, подтверждая, что запросы исходят от авторизованного пользователя.
...
Типы запросов
На платформе доступны различные типы запросов, которые можно использовать для интеграции с внешними системами:
GET
: для получения данных. Запрашивает информацию с API.POST
: для отправки данных. Отправляет данные (например, регистрация нового пользователя)PUT
: для обновления существующих данных.
...
Использование переменных и пользовательских полей
Переменные можно создавать в разделе Содержимое → Переменные
Пользовательские поля можно создавать в разделе Содержимое → Поля
Переменные и пользовательские поля можно вставлять в тело запроса (Body), если требуется динамическая передача данных. Например, если нужно передать данные о пользователе или статусе заказа, вставляйте переменные в поля запроса для передачи индивидуальной информации.
Список системных ID (переменных), доступных в платформе:
category_id
- id категории шаблонов сообщений
Этотcategory_id
берем из ссылки при открытии категории шаблона в разделе
Туннели продаж, Шаблоны сообщений.
Пример - https://app.leeloo.ai/campaigns-templates/category_id
/templatesaccount_id
- id канала связи берем из сылки в карте клиента в раздел Чаты.
Пример - https://app.leeloo.ai/chats/unread/account_id
/5e60191da0fd4a000d3998bc/template_id
- id шаблона сообщения на платформе берем из шаблона сообщения созданного в категории шаблонов.
Пример - https://app.leeloo.ai/campaigns-templates/category_id
/templates/creator/template_id
person_id
- id канала коммуникации берем из ссылки клиента в разделе Чаты.
Пример - https://app.leeloo.ai/chats/all/account_id
/person_id
leadgentool_id
- id Инструмента Лидогенерации (LGT) берем из туннеля продаж, вашего уже созданного ЛГТ. Нажмите правой кнопкой миши по нему, затем “Скопировать ID LGT”paymentCreditsId
- id платежной системы. Можно узнать в настройках платформы, разделе Платежи нажав “Подробнее” на подключенном платеже
Пример - https://app.leeloo.ai/settings/integrations/payments/credits/payment-credit/manual/paymentCreditsId
offerId
- id Предложения берем из созданного вами Оффера (Предложения) разделе Туннеле Продаж.
Пример - https://app.leeloo.ai/campaigns-offers/offerId
/offers/1managerId
- id менеджера (Пользователя) которого вы добавили в платформу через раздел Пользователи нажмите на созданного позьвателя и скопируйте id в ссылке.
Пример - https://app.leeloo.ai/settings/company/users/user/managerId
order_id
- id заказа тоесть когда ваш оффер перешел в статус заказа. Этот id можно взять выполнив запрос Получить Список Ордеров где в ответе будет иформация про заказ в том числе id заказа.
Пример - "{"data":[{"id":"order_id
","person_id":"person_i
","title":"Курс9","price":20,"currency":"USD","status":"REJECTED","createdAt":"2024-10-03T08:00:02.853Z","updatedAt":"2024-10-03T15:25:49.028Z"},user_id
- id пользователя (Подписчика) именно аудитории. Получить можно выполнив запрос Получить Список Пользователей Платформы где в ответе будет информация про id пользователя
Пример - "{"data":{"id":"user_id
","name":"Andrew","createdAt":"2024-02-21T12:32:55.085Z","updatedAt":"2024-10-07T06:42:52.631Z"},"status":1}"tunnel_id
- id туннеля продаж. Получить можно перейдя в ваш туннель продаж скопировав из адресно строки
Пример - https://app.leeloo.ai/tunnels/tunnel_id
/treetunnel_block_id
- id блока в туннеле продаж. Получить можно перейдя в ваш туннель продаж, нажав на блок, скопировав из адресно строки
Пример - https://app.leeloo.ai/tunnels/tunnel_id
/tree/tunnel_block_id
connection_id
- id канала связи. Получить можно выполнив запрос на получение информации о пользователях, или конкретном пользователе. Напримере запроса Получить Информацию по Конкретному Человеку
Пример -
{
"account_id": "account_id
",
"connection_id": "connection_id
",
"connection_status": "OK",
"from": "TELEGRAM"
}tag_id
- id Тега который мы присваиваем пользователям (подписчикам). Получить можно перейдя в Настройки плайтформы, раздел Настройки CRM, Тегинажав “Скопировать ID” правее от созданного Тега.
Info |
---|
|
Шаблоны сообщений
Получить список категорий шаблонов сообщений
GET https://api.leeloo.ai/api/v2/categories/templates
...
Code Block |
---|
"data": { "categories": [ { "id": "5e3bf3fdb70492000f72cd6c", "name": "Category 1" }, { "id": "5e18a2a3ed0b7a000d6c948f", "name": "Category 2" } ] }, "status": 1 } |
Получить список шаблонов сообщений внутри категории
GET https://api.leeloo.ai/api/v2/categories/templates/{category_id}
...
Code Block |
---|
{ "data": { "templates": [ { "id": "5e42be758d4fff000cafe6ef", "message_name": "test template 2" }, { "id": "5e42be688d4fff000cafe5cc", "message_name": "test template 1" } ] }, "status": 1 } |
Отправка шаблона сообщения
POST https://api.leeloo.ai/api/v2/messages/send-template
...
Code Block |
---|
{ "status": 1, "data": {} } |
Сообщения
Получить список сообщений из чата по каналу коммуникации
Запрос
GET https://api.leeloo.ai/api/v2/communication-channels/{person_id}/chat-messages?limit=2&offset=0
...
Info |
---|
ВАЖНО! Пример ответа на запрос показан для установленого параметра лимита равного двум. При изменении значения параметра лимита будет изменяться и кол-во сообщений в ответе на запрос. |
Отправка сообщений
POST https://api.leeloo.ai/api/v2/messages/send-message
...
Code Block |
---|
{ "status": 1, "data": {} } |
Каналы коммуникации
Получить список каналов коммуникации (с внешними UTM-метками)
...
Code Block |
---|
{ "data": [ { "id": "5ef074e9e31801000d73ba11", "person_id": "5ef074e9e31801000d73ba10", "name": "TIIIIK", "from": "TELEGRAM", "botStatus": "BOT", "lastMessageTime": "2020-08-31T07:55:53.865Z", "createdAt": "2020-06-22T09:07:53.351Z", "utmMarks": { "utm_source": "test_UTM_mark" } }, { "id": "5ea177b8ac8f55000d2c68f1", "person_id": "5ea177b8ac8f55000d2c68f0", "name": "Adolf Shtangencirkul", "from": "VKONTAKTE", "botStatus": "BOT", "lastMessageTime": "2020-08-29T08:31:51.211Z", "createdAt": "2020-04-23T11:10:48.337Z", "utmMarks": {} } ], "meta": { "limit": 2, "offset": 0, "filteredCount": 2, "totalCount": 2 }, "status": 1 } |
Получение списка каналов связи
GET https://api.leeloo.ai/api/v2/connections
...
Code Block |
---|
{ "data": { "connections": [ { "id": "65cf48536d81f496d4f9a673", "type": "telegram", "name": "Telegram bot" }, { "id": "65b3791a9af7b6ef6f4a8afd", "type": "sendGrid", "name": "Sendgrid bot" } ] }, "status": 1 } |
Получение информации о человеке по каналу коммуникации (получить person_id зная параметр account_id)
GET https://api.leeloo.ai/api/v2/communication-channels/{account_id}/person
...
Code Block |
---|
{ "data": { "id": "617fd5cc1cc06d2ae24dd9eb", "name": "Mark Down", "tags": [ "Tag 26" ], "profileImage": "https://static.leeloo.ai/images/5e18a2a3ed0b7a000d6c9446/abd88bd0-3b0a-11ec-82ee-bb08992a1760%5B571x1100%5Djpg", "gender": "OTHER", "phone": "+380977751199", "email": "useremail@gmail.com", "locale": "ru_RU", "accounts": [ { "account_id": "617fd5cc1cc06d42c94dd9ec", "connection_id": "61308ac5d087cbc40f1e478d", "connection_status": "OK", "from": "FACEBOOK" } ], "subscribeHistory": [ { "tunnelName": "for list", "leadgentoolName": "New LGT", "trafficSource": "Default traffic source", "tunnelId": "617fa515557acb4a2472c560", "leadgentoolId": "617fa612925d13644ae58e55", "trafficSourceId": "617fa612925d1341eee58e58", "accountId": "617fd5cc1cc06d42c94dd9ec" } ], "links": { "contactedUsers": [ { "type": "users", "id": "60509800acc5ae000d74ce21" } ], "orders": [ { "type": "orders", "id": "618280605402c96fa86c125a" } ] }, "custom_fields": [], "created_at": "2021-11-01T11:55:56.358Z", "updated_at": "2024-02-02T12:07:54.882Z" }, "included": {}, "status": 1 } |
LGT
Создать источник траффика в LGT
POST https://api.leeloo.ai/api/v2/leadgentools/{leadgentool_id}/create-traffic-source
...
Code Block |
---|
{ "data": { "type": "normal", "fb_adset_id": null, "name": "some ts", "description": "some ts description", "synchronized_with_fb": false, "synchronization_error": false, "disabled": false, "company_id": "5b9f63e3d244d2000e27692f", "leadgentool_id": "5e1f119d6c384804b31e945e", "tunnel_id": "5e1f11566c384804b31e9457", "created_by": "5b9f63e3d244d2000e276957", "hash": "nn7n15", "resubscribe_button_id": "5e32d0ed28faf61fc396f6b1", "createdAt": "2020-01-30T12:49:49.273Z", "updatedAt": "2020-01-30T12:49:49.273Z", "id": "5e32d0ed28faf61fc396f6b0" }, "status": 1 } |
Заказы
Создать ручной ордер
POST https://api.leeloo.ai/api/v2/orders
...
Code Block |
---|
{ "data": { "id": "5e5502a01b1668000ccc93ee", "title": "Ручной оффер", "price": 100, "currency": "USD", "status": "OPENED", "createdAt": "2020-02-25T11:18:56.419Z", "updatedAt": "2020-02-25T11:18:56.419Z" }, "status": 1 } |
Получить список ордеров
GET https://api.leeloo.ai/api/v2/orders?limit=20&offset=0
...
Code Block |
---|
{ "data": [ { "id": "5e399d72a2d0e2000dd584c1", "person_id": "5df0fac42121a5000e07d80b", "title": "manual offer", "price": 200, "currency": "USD", "status": "RESOLVED", "createdAt": "2020-02-04T16:36:02.213Z", "updatedAt": "2020-02-04T16:38:58.168Z" }], "meta": { "limit": 1, "offset": 0, "filteredCount": 20, "totalCount": 93 }, "status": 1 } |
Получить информацию по отдельному ордеру
GET https://api.leeloo.ai/api/v2/orders/{order_id}
...
Code Block |
---|
{ "status": 1, "data": { "id": "5e2825e081fbca000d8596e4", "createdAt": "2015-04-02T14:20Z", "updatedAt": "2015-04-02T14:20Z", "title": "Title11", "description": "Description1", "price": 100, "currency": "UAH", //['USD', 'EUR', 'UAH', 'RUB'] "status": "SUCCESS", //['ORDER', 'PENDING', 'FAILED', 'SUCCESS', 'REFUNDED'], "paymentMethod": "WAYFORPAY", //['WAYFORPAY', 'YANDEX_MONEY', 'ASSET_PAYMENT', 'MANUAL'] } } |
Обновить информацию в МАНУАЛ (ручном) ордере
Ордер НЕ МОЖЕТ БЫТЬ с частичными оплатами
...
Request Body (form-data)status
example: 'RESOLVED', (one_of: RESOLVED/REJECTED)paymentDate
example: '2018-06-27 07:32',currency
example: 'RUB',price
example: '100' (actual price that you receive from account),userComments
example: 'actual date dont match'
...
Code Block |
---|
{ "data": { "id": "5b3f608db2737000133d25b6" }, "status": 1 } |
Подписчики
Получить список всех подписчиков
...
Code Block |
---|
{ "status": 1, "data": [{ "id": "5e1c7ce2b4066a01900cdba0", "name": "Feliks", ”email": ”feliks@gmail.com", ”phone": ”+380966565556" "tags": [ "Mentor", "Professional" ], "accounts": [{ "account_id": "5e1c7ce2b4066a01900cdba1", "connection_id": "5e1c7afcb4066a01900cdb8c", "connection_status": "OK", "from": "TELEGRAM" }], "lastMessageTime": "2020-01-13T14:21:36.462Z" }], "meta": { "totalCount": 1, "filteredCount": 1, "limit": 20, "offset": 0 } } |
Получить информацию по конкретному человеку
GET https://api.leeloo.ai/api/v2/people/{person_id}?include=contactedUsers,orders
...
Code Block |
---|
{ "data": { "id": "625946dd585052c1629f1b2b", "name": "Mark Spenser", "tags": [], "profileImage": "NOT_DEFINED", "gender": "NO_DATA", "phone": "+380977451111", "email": "Ray37@hotmail.com", "locale": "", "accounts": [ { "account_id": "625946dd58505225f49f1b2c", "connection_id": "5e1edc3f18fc56000c0159b3", "connection_status": "OK", "from": "TELEGRAM" } ], "subscribeHistory": [ { "tunnelName": "Default tunnel", "leadgentoolName": "Default leadgentool", "trafficSource": "Default traffic source", "tunnelId": "5e18a2a3ed0b7a000d6c9484", "leadgentoolId": "5e18a2a3ed0b7a000d6c9486", "trafficSourceId": "5e18a2a3ed0b7a000d6c9488", "accountId": "625946dd58505225f49f1b2c" } ], "links": { "contactedUsers": [ { "type": "users", "id": "60509800acc5ae000d74ce21" } ], "orders": [ { "type": "orders", "id": "65cf58ba1261175f8d40a75f" } ] }, "custom_fields": [ { "type": "PHONE", "name": "phone", "value": "+48881644207" } ], "created_at": "2022-04-15T10:20:13.546Z", "updated_at": "2024-02-16T16:16:57.065Z" }, "included": { "users": [ { "id": "60509800acc5ae000d74ce21", "name": "Max", "createdAt": "2021-03-16T11:35:28.644Z", "updatedAt": "2024-02-19T12:59:04.460Z" } ], "orders": [ { "id": "65cf58ba1261175f8d40a75f", "title": "for API", "price": 100, "currency": "USD", "status": "OPENED", "updatedAt": "2024-02-16T12:44:42.569Z" } ] }, "status": 1 } |
Обновить информацию в карточке клиента
PUT https://api.leeloo.ai/api/v2/people/{person_id}
...
Code Block |
---|
{ "phone": "+380669991876", "email": "newmail@gmail.com", "custom_fields": [ { "type": "EMAIL", "name": "emailcust", "value": "customemail@gmail.com" } ] } |
Добавить человека на платформе
POST https://api.leeloo.ai/api/v2/people
...
Code Block |
---|
{ "data": { "id": "60a4bcd7bc45b806ac3b1a4a", "person_id": "60a4bcd7bc45b83b6e3b1a49", "name": "Feliks", "tags": [], "from": "MANUAL", "botStatus": "BOT", "connectionStatus": "OK", "gender": "NOT_DEFINED", "phone": "+380953066789", "email": "feliks@gmail.com", "locale": "", "subscribeHistory": [], "createdAt": "2021-05-19T07:23:03.546Z", "updatedAt": "2021-05-19T07:23:03.546Z" }, "status": 1 } |
Добавить СМС соединение к человеку
POST https://api.leeloo.ai/api/v2/people/sms
...
Code Block |
---|
{ "data": { "count_to_process": 1 }, "status": 1 } |
Добавить комментарий к человеку
PUT https://api.leeloo.ai/api/v2/people/{person_id}/add-comment
...
Code Block |
---|
{ "data": { "created_by": "5b9f63e3d244d2000e276957", "company_id": "5b9f63e3d244d2000e27692f", "text": "some text", "entity_id": "5da5998fcecdb311d73d3049", "entity_type": "PERSON", "created_at": "2020-01-30T10:08:50.677Z", "updated_at": "2020-01-30T10:08:50.677Z", "id": "5e32ab3228faf61fc396f625" }, "status": 1 } |
Добавить звонок в акаунт
POST https://api.leeloo.ai/api/v2/calls
...
Code Block |
---|
{ "data": { "raw_response": {}, "record_link": "https://file-examples.com/storage/fe7c2cbe4b65fa8179825d1/2017/11/file_example_MP3_5MG.mp3", "company_id": "5b9f63e3d244d2000e27692f", "user_id": "5b9f63e3d244d2000e276930", "account_id": "65b632d119471a0012c3cabd", "provider_type": "MANUAL", "to": "+380663332222", "from": "123", "type": "OUTBOUND", "status": "SUCCESS", "telephone_connection_id": "603e5096c4a05c3a9506f219", "call_id": "57fa99e0-e846-11ee-b73a-95e863e509cb", "billsec": 140, "created_at": "2024-03-22T12:00:36.980Z", "updated_at": "2024-03-22T12:00:36.980Z", "next_check": "2024-03-22T12:19:51.650Z", "id": "65fd772be3f8780013eac6b0" }, "status": 1 |
Теги
Получить список тегов
GET https://api.leeloo.ai/api/v2/tags
...
Code Block |
---|
{ "status": 1, "data": [{ "id": "595f5d522a934035decc093d", "name": "Tag #1", }] } |
Удалить тег у человека
PUT https://api.leeloo.ai/api/v2/people/{person_id}/remove-tag
...
Code Block |
---|
{ "status": 1, "data": {} } |
Добавить тег человеку
PUT https://api.leeloo.ai/api/v2/people/{person_id}/add-tag
...
Code Block |
---|
{ "status": 1, "data": {} } |
Туннели
Получить список туннелей
GET https://api.leeloo.ai/api/v2/tunnels?limit=20&offset=0
...
Code Block |
---|
{ "status": 1, "data": [{ "id": "595f5d522a934035decc093d", "name": "My tunnel", "createdAt": "2015-04-02T14:20Z", "updatedAt": "2015-04-02T14:20Z", }], "meta": { "totalCount": 1, "filteredCount": 1, "limit": 20, "offset": 0 } } |
Получить информацию про туннель
GET https://api.leeloo.ai/api/v2/tunnels/{tunnel_id}?include=leadgentools
...
Code Block |
---|
{ "status": 1, "data": { "id": "595f5d522a934035decc093d", "name": "My tunnel", "createdAt": "2015-04-02T14:20Z", "updatedAt": "2015-04-02T14:20Z", "links": { "leadgentools": [{ "type": "leadgentools", "id": "222f5d522a934035decc093d" }] } }, "linked": { "leadgentools": [{ "id": "222f5d522a934035decc093d", "name": "LGT1", "type": "LINK", //['LINK', 'QR', 'WIDGET', 'POPUP', 'FORM', 'FB_AD', 'DEFAULT'] }] } } |
Получить статистику по всем туннелям
GET https://api.leeloo.ai/api/v2/tunnels/stats
...
Code Block |
---|
{ "status": 1, "data": [{ "subscribers": 10, "uniqSubscribers":2, "orders": 4, "sales": 3, "uniqSales": 2 "visits": 14, "uniqVisits": 5 "shows": 5, "uniqShows": 3 "totalSale": 200, // in USD "totalExpenses": 100 }] } |
Получить статистику по одному туннелю
GET https://api.leeloo.ai/api/v2/tunnels/{tunnel_id}/stats
...
Code Block |
---|
{ "status": 1, "data": [{ "subscribers": 10, "uniqSubscribers":2, "orders": 4, "sales": 3, "uniqSales": 2 "visits": 14, "uniqVisits": 5 "shows": 5, "uniqShows": 3 "totalSale": 200, // in USD "totalExpenses": 100 }] } |
Подписка на туннель и блок туннеля
POST https://api.leeloo.ai/api/v2/communication-channels/{account_id}/manual-subscribe
...
Code Block |
---|
{ "status": 1, "data": {} } |
Пользователи
Получить список пользователей платформы
GET https://api.leeloo.ai/api/v2/users?limit=20&offset=0
...
Code Block |
---|
{ "status": 1, "data": [ { "id": "445f5d522a934035decc093d", "name": "Igor", "createdAt": "2015-04-02T14:20Z", "updatedAt": "2015-04-02T14:20Z", }, { "id": "125f5d522a934035decc093d", "name": "Alexey", "createdAt": "2015-04-02T14:20Z", "updatedAt": "2015-04-02T14:20Z", } ], "meta": { "totalCount": 1, "filteredCount": 1, "limit": 20, "offset": 0 } } |
Получить информацию по конкретному пользователю платформы
GET https://api.leeloo.ai/api/v2/users/{user_id}
...