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?