API: Аккаунт
Эндпоинты для управления подпиской, настройками и уведомлениями.
Подписка
Текущая подписка
bash
GET /api/subscriptionОтвет:
json
{
"plan": "starter",
"status": "active",
"expires_at": "2025-02-15T00:00:00Z",
"auto_renew": true,
"trial_used": false,
"limits": {
"links": 100,
"channels": 5,
"pixels": 10,
"api_calls": 1000,
"clicks": 50000
},
"usage": {
"links": 23,
"clicks": 1200,
"pixels": 2,
"channels": 1,
"api": 45
}
}Активировать пробный период
bash
POST /api/subscription/trialОтвет:
json
{
"plan": "starter",
"status": "trial",
"expires_at": "2025-01-22T00:00:00Z"
}Настройки пользователя
Получить настройки
bash
GET /api/user/preferencesОтвет:
json
{
"timezone": "Europe/Moscow",
"notification_settings": {
"milestones_enabled": true,
"click_milestones": [100, 500, 1000, 5000, 10000],
"subscriber_milestones_enabled": true,
"subscriber_milestones": [100, 500, 1000, 5000, 10000]
}
}Обновить настройки
bash
PUT /api/user/preferencesBody:
json
{
"timezone": "Europe/Moscow",
"notification_settings": {
"milestones_enabled": true,
"click_milestones": [100, 500, 1000],
"subscriber_milestones_enabled": true,
"subscriber_milestones": [500, 1000, 5000]
}
}Оба поля опциональны. timezone — строка IANA (например, Europe/Moscow) или null для сброса. click_milestones и subscriber_milestones — массивы положительных целых чисел (макс. 10 элементов).
Ответ:
json
{ "ok": true }Уведомления
Список уведомлений
bash
GET /api/notifications?limit=20&offset=0Query параметры: limit (по умолчанию 20, макс. 100), offset (по умолчанию 0)
Ответ:
json
{
"items": [
{
"id": 1,
"type": "click_milestone",
"threshold": 1000,
"notified_at": "2025-01-15T10:00:00Z",
"link": { "id": 1, "code": "x7k2m1", "title": "Промо" },
"channel": null
},
{
"id": 2,
"type": "subscriber_milestone",
"threshold": 5000,
"notified_at": "2025-01-14T08:00:00Z",
"link": null,
"channel": { "id": 1, "title": "My Channel", "username": "mychannel" }
}
],
"total": 15
}Для всех эндпоинтов используйте заголовок Authorization: Bearer <token>.
