Versions Compared

Key

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

API (Application Programming Interface) — это инструмент, который позволяет вашим приложениям, сайтам, CRM "общаться" и обмениваться данными с платформой Leeloo.ai. C помощью API вы можете
получить информацию о ваших клиентах, передать данные о клиентах (офферах) в таблицу, подключить систему онлайн-оплаты или доставки, без сложной и затратной разработки.

Table of Contents
minLevel1
maxLevel6
outlinetrue
styledisc
typelist
printabletrue

Введение в использование API

Заголовок запроса (Headers)

При выполнении запросов к Leeloo.AI вам необходимо использовать Headers, “+Заголовок запроса”
в “Ключ” вставьте X-Leeloo-AuthToken а в “Значение” ваш Leeloo.ai API токен.

ksnip_20241007-135730.png

Где взять API токен?

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

...

Типы запросов

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

  • GET: для получения данных. Запрашивает информацию с API.

  • POST: для отправки данных. Отправляет данные (например, регистрация нового пользователя)

  • PUT: для обновления существующих данных.

...

Использование переменных и пользовательских полей

Переменные можно создавать в разделе СодержимоеПеременные
Пользовательские поля можно создавать в разделе СодержимоеПоля

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

ksnip_20241007-140244.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']
    }
}

Обновить информацию в МАНУАЛ (ручном) ордере

Ордер НЕ МОЖЕТ БЫТЬ с частичными оплатами

...

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
}

Подписчики

Получить список всех подписчиков

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
}

Добавить СМС соединение к человеку

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}

...