Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

API (Application Programming Interface) — це інструмент, який дозволяє вашим застосункам, сайтам, CRM «спілкуватися» та обмінюватися даними з платформою Leeloo.ai. За допомогою API ви можете отримати інформацію про ваших клієнтів, передати дані про клієнтів (оффери) в таблицю, підключити систему онлайн-оплати або доставки без складної та затратної розробки.

Table of Contents
minLevel1
maxLevel6
outlinetrue
styledisc
typelist
printabletrue

Вступ до використання API

Заголовок запиту (Headers)

При виконанні запитів до Leeloo.AI вам необхідно використовувати Headers. У полі «Ключ» вставте X-Leeloo-AuthToken, а в полі «Значення» — ваш API токен Leeloo.ai.

ksnip_20241008-132442.png

Де взяти API токен?

API токен можна знайти в розділі Leeloo.ai APIна платформі Leeloo.ai . Він необхідний для автентифікації запитів до API, підтверджуючи, що запити надходять від авторизованого користувача..

...

Типи запитів

На платформі доступні різні типи запитів, які можна використовувати для інтеграції із зовнішніми системами:

  • GET: для отримання даних. Запитує інформацію з API.

  • POST: для надсилання даних. Відправляє дані (наприклад, реєстрація нового користувача).

  • PUT: для оновлення існуючих даних.

...

Використання змінних та користувацьких полів

Змінні можна створювати в розділі Вміст → Змінні.
Користувацькі поля (Custom Fields) можна створювати в розділі Вміст → Поля.

Змінні та користувацькі поля можна вставляти в тіло запиту (Body), якщо потрібна динамічна передача даних. Наприклад, якщо потрібно передати дані про користувача або статус замовлення, вставляйте змінні в поля запиту для передачі індивідуальної інформації.

ksnip_20241008-133329.png

Список системних ID (змінних), доступних на платформі::

  • category_id - id категорії шаблонів повідомлень. Цей category_id беремо з посилання при відкритті категорії шаблону в розділі Тунелі продажів, Шаблони повідомлень.
    Приклад - https://app.leeloo.ai/campaigns-templates/category_id/templates

  • account_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/1

  • managerId - 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/tree

  • tunnel_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
  • У всіх запитах дату необхідно вказувати з урахуванням нульового часового поясу UTC-0.

  • Усі запити, що використовують Body, мають надсилатися у форматі JSON.

Шаблони повідомлень

Отримати список категорій шаблонів повідомлень

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-мітками)

GET https://api.leeloo.ai/api/v2/communication-channels?limit=20&offset=0&filter[last_message][from]=2020-02-10&filter[last_message][to]=2020-04-14

...

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']
    }
}

Оновити інформацію в МАНУАЛЬНОМУ (ручному) замовлені

Замовлення НЕ МОЖЕ мати часткових оплат.

...

Code Block
{
    "data": {
        "id": "5b3f608db2737000133d25b6"
      },
    "status": 1
}

Підписники

Отримати список усіх підписників

GET https://api.leeloo.ai/api/v2/people?limit=20&offset=100&filter[tags]=vip&filter[tags]=tag2&filter[last_message][from]=2015-04-02&filter[last_message][to]=2015-04-03&filter[phone]=+380966565556&filter[email]=feliks@gmail.com

...

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
}

Додати SMS-з'єднання до особи

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}

...