Zenedu API
Updated over a week ago

Введение

В этой документации вы узнаете о том, как использовать 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"
},
{
"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"
},
{
"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"
}
],
"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
}
}

Did this answer your question?