К основному содержимому
Zenedu API
Обновлено больше недели назад

Введение

В этой документации вы узнаете о том, как использовать REST API Zenedu для интеграции нашей платформы с другими сервисами.

API основан на протоколе HTTP и все ответы возвращаются в формате JSON. Все запросы должны иметь значение Accept: application/json в заголовках.

Базовый URL

Базовый URL для всех методов API: https://app.zenedu.io/api/v1/

Все запросы должны иметь значение Accept: application/json в заголовках.

Аутентификация

API Zenedu использует аутентификацию с помощью токена-носителя (Bearer token) для обеспечения безопасного доступа к защищенным методам. Для взаимодействия с API в каждом запросе необходимо включить заголовок авторизации.

Получение API Токена

Для получения вашего токена API перейдите на страницу вашего аккаунта в раздел API. Токен генерируется во время регистрации и остается действительным бессрочно.

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

Выполнение запросов

После получения вашего токена API, включите его в ваши запросы, используя заголовок Authorization. Установите значение заголовка на Bearer YOUR_API_TOKEN.

Пример запроса:

curl -X GET "https://app.zenedu.io/api/v1/endpoint" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"


Методы

Bots

Описание

Получите список всех ваших ботов с помощью этого метода.

  • URL: https://app.zenedu.io/api/v1/bots

  • Метод: GET

  • Аутентификация: Заголовок Authorization со значением Bearer YOUR_API_TOKEN

  • Параметры: Отсутствуют

  • Результаты: Список ботов отсортирован по дате создания в порядке убывания.

Пример запроса

curl -X GET "https://app.zenedu.io/api/v1/bots" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Пример ответа

{
"data": [
{
"id": 2,
"name": "Test Bot 2",
"username": "test_bot_2",
"is_active": true,
"created_at": "2023-07-24T07:58:52.000000Z"
},
{
"id": 1,
"name": "Test Bot",
"username": "test_bot",
"is_active": true,
"created_at": "2023-06-23T09:41:34.000000Z"
}
]
}

Subscribers

Описание

Получите список всех ваших подписчиков с помощью этого метода. Результаты разбиты на страницы по 30 элементов на страницу.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/subscribers

  • Метод: GET

  • Аутентификация: Заголовок Authorization со значением Bearer YOUR_API_TOKEN

  • Результаты: Список подписчиков отсортирован по дате создания в порядке убывания.

  • Параметры: Используйте параметры per_page и page для управления количеством результатов на странице.

Пример запроса

curl -X GET "https://app.zenedu.io/api/v1/bot/1/subscribers?per_page=30&page=1" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Пример ответа

{
"data": [
{
"id": 3,
"user_id": 1002,
"first_name": "Sarah",
"last_name": "Connor",
"username": "sarah_connor",
"phone": null,
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2023-07-24T14:43:12.000000Z",
"created_at": "2023-07-24T14:43:10.000000Z",
"utm_tags": {
"utm_source": "source",
"utm_medium": "medium",
"utm_campaign": "campaign",
"utm_term": "term",
"utm_content": "content"
},
"custom_fields": {
"Address": "Address",
"Website": "https://zenedu.io"
}
},
{
"id": 2,
"user_id": 1001,
"first_name": "Foo",
"last_name": "Bar",
"username": "foo_bar",
"phone": null,
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2023-07-24T14:43:12.000000Z",
"created_at": "2023-07-24T14:41:44.000000Z",
"utm_tags": [],
"custom_fields": []
},
{
"id": 1,
"user_id": 1000,
"first_name": "John",
"last_name": null,
"username": "john",
"phone": null,
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2023-07-24T14:43:12.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z",
"utm_tags": [],
"custom_fields": []
}
],
"links": {
"first": "https://app.zenedu.io/api/v1/bot/1/subscribers?page=1",
"last": "https://app.zenedu.io/api/v1/bot/1/subscribers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.zenedu.io/api/v1/bot/1/subscribers?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://app.zenedu.io/api/v1/bot/1/subscribers",
"per_page": 30,
"to": 3,
"total": 3
}
}

Orders

Описание

Получите список всех ваших заказов с помощью этого метода. Результаты разбиты на страницы по 30 элементов на страницу.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/orders

  • Метод: GET

  • Аутентификация: Заголовок Authorization со значением Bearer YOUR_API_TOKEN

  • Результаты: Список заказов отсортирован по дате создания в порядке убывания.

  • Параметры: Используйте параметры per_page и page для управления количеством результатов на странице.

Пример запроса

curl -X GET "https://app.zenedu.io/api/v1/bot/1/orders?per_page=30&page=1" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Пример ответа

{
"data": [
{
"id": 2,
"uuid": "9d76cf9c-fdb4-4f7b-98e4-76b96159df93",
"number": 2,
"offer_id": 2,
"offer_name": "Offer 2",
"price": 1,
"currency": "USD",
"subscriber_id": 2,
"type": "one-time",
"payment_system_type": "fondy",
"payment_system_name": "Fondy",
"status_changed_at": "2023-07-24T14:43:52.000000Z",
"created_at": "2023-07-24T14:43:24.000000Z",
"subscriber": {
"id": 1,
"user_id": 1000,
"first_name": "John",
"last_name": null,
"username": "john",
"phone": null,
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2023-07-27T08:39:03.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z"
}
},
{
"id": 1,
"uuid": "a9e58c73-f6a8-413e-b6c5-7af312bf315b",
"number": 1,
"offer_id": 1,
"offer_name": "Offer 1",
"price": 1,
"currency": "USD",
"subscriber_id": 1,
"type": "subscription",
"payment_system_type": "stripe",
"payment_system_name": "Stripe",
"status_changed_at": "2023-07-24T14:42:12.000000Z",
"created_at": "2023-07-24T14:41:52.000000Z",
"subscriber": {
"id": 2,
"user_id": 1001,
"first_name": "Foo",
"last_name": "Bar",
"username": "foo_bar",
"phone": null,
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2023-07-27T08:39:03.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z"
}
}
],
"links": {
"first": "https://app.zenedu.io/api/v1/bot/1/orders?page=1",
"last": "https://app.zenedu.io/api/v1/bot/1/orders?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.zenedu.io/api/v1/bot/1/orders?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://app.zenedu.io/api/v1/bot/1/orders",
"per_page": 30,
"to": 2,
"total": 2
}
}

Offers

Описание

Obtain a list of all your offers for a given bot using this endpoint. The results are paginated with 30 items per page.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/offers

  • Метод: GET

  • Authentication: Bearer token in headers

  • Results: The list of offers is sorted in descending order by creation date.

  • Parameters: Use the per_page and page parameters to control the number of results per page.

Example request

curl -X GET "https://app.zenedu.io/api/v1/bot/1/offers?per_page=30&page=1" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Example response

{
"data": [
{
"id": 177,
"name": "Intensiv Leonardo",
"price": 10,
"currency": "USD",
"is_active": true,
"is_subscription": false,
"accesses_count": 1,
"description": null,
"landing_name": "Intensiv Leonardo",
"landing_description": "",
"cover_url": null,
"request_contacts": false,
"time_limit_enabled": false,
"usage_limit_enabled": false,
"access_limit_enabled": false,
"created_at": "2024-08-15T10:07:01.000000Z"
},
{
"id": 172,
"name": "Coupon with sub",
"price": 100,
"currency": "USD",
"is_active": true,
"is_subscription": true,
"accesses_count": 1,
"description": "<b>Offer:</b> {{offer}} <br><b>Accesses:</b> {{accesses}} <br><b>Price:</b> {{price}}",
"landing_name": "Coupon with sub",
"landing_description": "<b>Accesses:</b> OneTime product",
"cover_url": null,
"request_contacts": false,
"time_limit_enabled": true,
"usage_limit_enabled": true,
"access_limit_enabled": false,
"created_at": "2024-07-24T18:59:46.000000Z"
}
],
"links": {
"first": "https://app.zenedu.io/api/v1/bot/1/offers?page=1",
"last": "https://app.zenedu.io/api/v1/bot/1/offers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "&laquo; Previous",
"active": false
},
{
"url": "https://app.zenedu.io/api/v1/bot/1/offers?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next &raquo;",
"active": false
}
],
"path": "https://app.zenedu.io/api/v1/bot/1/offers",
"per_page": 30,
"to": 14,
"total": 14
}
}

Funnels

Описание

Получите список всех ваших воронок для данного бота, используя эту конечную точку. Результаты выводятся постранично, по 30 элементов на странице.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/funnels

  • Method: GET

  • Аутентификация: Bearer token in headers

  • Результаты: The list of funnels is sorted in descending order by creation date.

  • Параметры: Use the per_page and page parameters to control the number of results per page.

Пример запроса

curl -X GET "https://app.zenedu.io/api/v1/bot/1/funnels?per_page=30&page=1" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Пример ответа

{
"data": [
{
"id": 263,
"name": "Intensiv Leonardo",
"is_active": true,
"subscribers_count": 1,
"steps_count": 1,
"sections_count": 0,
"cover_url": "https://app.zenedu.io/assets/img/product_blank/3.jpg",
"description": null,
"restart_enabled": true,
"autodelete_steps_enabled": true,
"template_url": "https://app.zenedu.io/bots?template=oMzBCK7MZqEwzrTbczlb9YjEIPUS9cK4",
"template_url_enabled": true,
"created_at": "2024-08-15T10:05:58.000000Z",
"direct_subscription_access": false
}
],
"links": {
"first": "https://app.zenedu.io/api/v1/bot/1/funnels?page=1",
"last": "https://app.zenedu.io/api/v1/bot/1/funnels?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "&laquo; Previous",
"active": false
},
{
"url": "https://app.zenedu.io/api/v1/bot/1/funnels?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next &raquo;",
"active": false
}
],
"path": "https://app.zenedu.io/api/v1/bot/1/funnels",
"per_page": 30,
"to": 16,
"total": 16
}
}

Products

Описание

Получите список всех ваших продуктов для данного бота, используя эту конечную точку. Результаты выводятся постранично, по 30 товаров на странице.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/products

  • Метод: GET

  • Аутентификация: Bearer token in headers

  • Результаты: The list of products is sorted in descending order by creation date.

  • Параметры: Use the per_page and page parameters to control the number of results per page.

Пример запроса

curl -X GET "https://app.zenedu.io/api/v1/bot/1/products?per_page=30&page=1" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN"

Пример ответа

{
"data": [
{
"id": 253,
"name": "Assessments Test",
"is_active": true,
"subscribers_count": 1,
"steps_count": 8,
"sections_count": 0,
"cover_url": "https://app.zenedu.io/assets/img/product_blank/3.jpg",
"description": null,
"restart_enabled": false,
"autodelete_steps_enabled": true,
"template_url": "https://app.zenedu.io/bots?template=Bmsyk0unsFmyXcGxDovtJrDgOAMjOapI",
"template_url_enabled": true,
"created_at": "2024-06-19T07:20:02.000000Z"
}
],
"links": {
"first": "https://app.zenedu.io/api/v1/bot/1/products?page=1",
"last": "https://app.zenedu.io/api/v1/bot/1/products?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "&laquo; Previous",
"active": false
},
{
"url": "https://app.zenedu.io/api/v1/bot/1/products?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next &raquo;",
"active": false
}
],
"path": "https://app.zenedu.io/api/v1/bot/1/products",
"per_page": 30,
"to": 12,
"total": 12
}
}

Add Subscriber To Funnel

Описание

С помощью этого метода можно добавить подписчика в определенную воронку.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/subscribers/{subscriberId}/funnels

  • Метод: POST

  • Аутентификация: Bearer token in headers

  • Параметры: funnel_id in form data.

Пример запроса

curl -X POST "https://app.zenedu.io/api/v1/bot/1/subscribers/1/funnels" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" –form “funnel_id=1”

Пример ответа

{
"id": 1,
"user_id": 111222,
"first_name": "Student",
"last_name": null,
"username": null,
"phone": "+111222333444",
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2024-08-19T09:20:38.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z"
}

Add Subscriber To Offer

Описание

Вы можете добавить подписчика к определенному тарифу с помощью этого метода.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/subscribers/{subscriberId}/offers

  • Метод: POST

  • Аутентификация: Bearer token in headers

  • Параметры: offer_id in form data.

Пример запроса

curl -X POST "https://app.zenedu.io/api/v1/bot/1/subscribers/1/offers" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" –form “offer_id=1”

Пример ответа

{
"id": 1,
"user_id": 111222,
"first_name": "Student",
"last_name": null,
"username": null,
"phone": "+111222333444",
"email": null,
"notes": null,
"tags": null,
"is_active": true,
"is_blocked": false,
"last_active_at": "2024-08-19T09:20:38.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z"
}

Add Tags To Subscriber

Описание

Вы можете добавить теги к подписчику с помощью этого метода.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/subscribers/{subscriberId}/tags

  • Метод: POST

  • Аутентификация: Bearer token in headers

  • Параметры: tags[] in form data.

Пример запрос

curl -X POST "https://app.zenedu.io/api/v1/bot/1/subscribers/1/tags" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" –form “tags[]=’tag1’” –form “tags[]=’tag2’”

Пример ответа

{
"id": 1,
"user_id": 111222,
"first_name": "Student",
"last_name": null,
"username": null,
"phone": "+111222333444",
"email": null,
"notes": null,
"tags": ”tag1,tag2”,
"is_active": true,
"is_blocked": false,
"last_active_at": "2024-08-19T09:20:38.000000Z",
"created_at": "2023-06-23T09:51:07.000000Z"
}

Create Offer Link

Описание

Создавайте ссылки на предложения, чтобы подписчики могли получить предложение без оплаты.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/links/offer

  • Метод: POST

  • Аутентификация: Bearer token in headers

  • Параметры: in form data:

    • offer_id - required

    • usage_limit

    • expire_date

    • create_order

Пример запроса

curl -X POST "https://app.zenedu.io/api/v1/bot/1/links/offer" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" –form “offer_id=1”

Пример ответа

{
"status": "success",
"data": {
"link": "https://t.me/bot_username?start=LINK",
"landing_link": "https://app.zenedu.io/l/LINK"
}
}

Create Funnel Link

Описание

Создайте ссылки на воронку для подписчиков.

  • URL: https://app.zenedu.io/api/v1/bot/{botId}/links/funnel

  • Метод: POST

  • Аутентификация: Bearer token in headers

  • Параметры: in form data:

    • funnel_id - required

    • name - required

    • expire_date

    • request_email

    • request_phone

    • tags

Пример запрос

curl -X POST "https://app.zenedu.io/api/v1/bot/1/links/funnel" -H "Accept: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" –form “funnel_id=1”

Пример ответа

{
"status": "success",
"data": {
"link": "https://t.me/bot_username?start=LINK",
"landing_link": "https://app.zenedu.io/l/LINK"
}
}

Нашли ответ на свой вопрос?