...
API (Application Programming Interface) is a tool that allows your applications, websites, and CRM to "communicate" and exchange data with the Leeloo.ai platform. With the API, you can retrieve information about your clients, send client data (offers) to a table, integrate online payment or delivery systems, without requiring complex or costly development.
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Introduction to API Usage
Headers request
When making requests to Leeloo.AI , you need to use Headers. Add “Request Header” in “Key,” enter X-Leeloo-AuthToken
, and in “Value,” insert your Leeloo.ai API token.
Where to Find the API Token?
The API token can be found in the Leeloo.ai API section on the platform. It is necessary for authenticating requests to the API, confirming that requests come from an authorized user.
...
Types of Requests
The platform provides various types of requests that can be used for integration with external systems:
GET
: to retrieve data. Requests information from the APIPOST
: to submit data (e.g., registering a new user).PUT
: to update existing data.
...
Using Variables and Custom Fields
Variables can be created in Content → Variables.
Custom fields can be created in Content → Fields.
You can insert variables and custom fields into the request body if dynamic data transfer is required. For example, to send user or order status information, include variables in the request fields for transmitting individual information.
...
List of System IDs (Variables) Available on the Platform:
category_id
- the ID of the message template category. Thiscategory_id
is found in the URL when opening the template category in Sales Funnels, Message Templates.
Example - https://app.leeloo.ai/campaigns-templates/category_id
/templatesaccount_id
- the ID from the client card in the Chats section.
Example - https://app.leeloo.ai/chats/unread/account_id
/5e60191da0fd4a000d3998bc/template_id
- the message template ID on the platform, available from the message template created in the template category.
Example - https://app.leeloo.ai/campaigns-templates/category_id
/templates/creator/template_id
person_id
- the communication channel ID found in the client link in Chats.
Example - https://app.leeloo.ai/chats/all/account_id
/person_id
leadgentool_id
- the ID of the Lead Generation Tool (LGT) from your created LGT in the sales funnel. Right-click on it, then “Copy LGT ID”paymentCreditsId
- the payment system ID. You can find it in the platform settings under Payments by clicking “Details” on the connected payment.
Example - https://app.leeloo.ai/settings/integrations/payments/credits/payment-credit/manual/paymentCreditsId
offerId
- the Offer ID taken from the Offers you created in the Sales Funnel section.
Example - https://app.leeloo.ai/campaigns-offers/offerId
/offers/1managerId
- the manager (user) ID added to the platform through the Users section. Click on the created user and copy the ID from the link.
Example - https://app.leeloo.ai/settings/company/users/user/managerId
order_id
- the order ID, which is generated when your offer changes to an order status. This ID can be obtained by performing the “Get Order List” request, which includes information about the order, including the order ID.
Example - "{"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
- the user ID (Subscriber) within the audience. It can be obtained by performing the “Get Platform User List” request, which includes information about the user ID.
Example - "{"data":{"id":"user_id
","name":"Andrew","createdAt":"2024-02-21T12:32:55.085Z","updatedAt":"2024-10-07T06:42:52.631Z"},"status":1}"tunnel_id
- the sales funnel ID. Obtainable by navigating to your sales funnel and copying from the address bar.
Example - https://app.leeloo.ai/tunnels/tunnel_id
/treetunnel_block_id
- the ID of a block in the sales funnel. Obtainable by navigating to your sales funnel, clicking on the block, and copying it from the address bar.
Example - https://app.leeloo.ai/tunnels/tunnel_id
/tree/tunnel_block_id
connection_id
- the communication channel ID. Obtainable by performing a request for user information or specific user information. Example from the “Get Specific Person Information” request:
Example -
{
"account_id": "account_id
",
"connection_id": "connection_id
",
"connection_status": "OK",
"from": "TELEGRAM"
}tag_id
- the Tag ID assigned to users (subscribers). Obtainable by navigating to Platform Settings, CRM Settings, Tags, and clicking “Copy ID” next to the created tag.
Info |
---|
|
Message Templates
Retrieve the List of Message Template Categories
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 } |
Retrieve the List of Message Templates Within a Category
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 } |
Sending a Message Template
POST https://api.leeloo.ai/api/v2/messages/send-template
...
Code Block |
---|
{
"status": 1,
"data": {}
}Запрос |
Messages
Retrieve a List of Messages from a Chat by Communication Channel
...
GET https://api.leeloo.ai/api/v2/communication-channels/{person_id}/chat-messages?limit=2&offset=0
Path Paramsperson_id
(example: 5b3f543bb2737000133d25b0) - The communication channel ID can be found in the client link under the Chats section.
Example: https://app.leeloo.ai/chats/all/66fac2b853d5470e1ed207b6/person_id
Note |
---|
ВАЖНОIMPORTANT: В Headers, “Заголовок запроса” в “Ключ” вставьте In Headers, add “Request Header.” In “Key,” enter X-Leeloo-AuthToken а в “Значение” ваш , and in “Value,” insert your Leeloo.ai API токенtoken. |
Query Paramslimit
- Limit on the Number of Results: It is not recommended to retrieve large amounts of data at once, as this may slow down data export.offset
- Offset (Default 0): Specify how many results to skip.
...
Info |
---|
IMPORTANT! An example response to the request is shown with the limit parameter set to two. If the limit parameter value is changed, the number of messages in the response will also change accordingly. |
Sending Messages
POST https://api.leeloo.ai/api/v2/messages/send-message
...
Code Block |
---|
{ "status": 1, "data": {} } |
Communication Channels
Retrieve the List of Communication Channels (with external UTM tags)
...
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 } |
Retrieve Communication Channel List
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 } |
Retrieve Person Information by Communication Channel (retrieve person_id
using the account_id
parameter)
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
Create a Traffic Source in 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 } |
Orders
Create a Manual Order
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 } |
Retrieve Order List
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 } |
Retrieve Information on a Specific Order
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'] } } |
Update Information in a Manual Order
Order Cannot Have Partial Payments
...
Code Block |
---|
{ "data": { "id": "5b3f608db2737000133d25b6" }, "status": 1 } |
Подписчики
...
Subscribers
Retrieve List of All Subscribers
...
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 } } |
Retrieve Information on a Specific Person
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 } |
Update Information in a Client Card
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" } ] } |
Add a Person to the Platform
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 } |
Add SMS Connection to a Person
POST https://api.leeloo.ai/api/v2/people/sms
...
Code Block |
---|
{ "data": { "count_to_process": 1 }, "status": 1 } |
Add a Comment to a Person
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 } |
Add a Call to the Client Card
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 |
Tags
Retrieve Tag List
GET https://api.leeloo.ai/api/v2/tags
...
Code Block |
---|
{ "status": 1, "data": [{ "id": "595f5d522a934035decc093d", "name": "Tag #1", }] } |
Remove Tag from a Person
PUT https://api.leeloo.ai/api/v2/people/{person_id}/remove-tag
...
Code Block |
---|
{ "status": 1, "data": {} } |
...
Add Tag to a Person
PUT https://api.leeloo.ai/api/v2/people/{person_id}/add-tag
...
Code Block |
---|
{ "status": 1, "data": {} } |
Sales Tunnels
Retrieve Sales Tunnel List
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 } } |
Retrieve Information on a Specific Sales Tunnel
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'] }] } } |
Retrieve Statistics for All Sales Tunnels
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 }] } |
Retrieve Statistics for a Specific Sales Tunnel
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 }] } |
Subscribe to a Sales Tunnel and Specific Tunnel Block
POST https://api.leeloo.ai/api/v2/communication-channels/{account_id}/manual-subscribe
...
Code Block |
---|
{ "status": 1, "data": {} } |
Users
Retrieve Platform User List
GET https://api.leeloo.ai/api/v2/users?limit=20&offset=0
...
Query Paramslimit
- Limit on the Number of Results. It is not recommended to retrieve large amounts of data at once, as this may slow down data export.offset
- Offset (Default 0): Specify how many results to skip.
ОтветResponse
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 } } |
Retrieve Information on a Specific Platform User
GET https://api.leeloo.ai/api/v2/users/{user_id}
...