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