Планы и абонементы
API для управления планами обслуживания (абонементами) пользователей.
Получение списка доступных планов
Возвращает список всех доступных планов (пакетов) в системе.
Endpoint: GET /api/v1/users/plans
Заголовки:
token: YOUR_PARTNER_API_KEY
Пример ответа:
{
"status": "success",
"data": {
"items": [
[
{
"id": 1,
"name": "Базовый",
"limit_consultation": 3,
"duration": 30
},
{
"id": 2,
"name": "Стандартный",
"limit_consultation": 5,
"duration": 30
},
{
"id": 3,
"name": "Премиум",
"limit_consultation": 10,
"duration": 30
}
]
]
}
}
Активация плана
Активирует план (абонемент) для пользователя. При активации нового плана все предыдущие автоматически деактивируются.
Endpoint: POST /api/v1/users/activate-plan
Заголовки:
token: YOUR_PARTNER_API_KEY
Content-Type: application/json
Параметры тела запроса:
user_id(integer, обязательный) - ID пользователяplan_id(integer, обязательный) - ID плана
Пример запроса:
{
"user_id": 123,
"plan_id": 2
}
Пример ответа:
{
"status": "success",
"data": {
"items": [
{
"id": 50,
"user_id": 123,
"package_id": 2,
"price": 2500,
"limit": 5,
"duration": 30,
"status": 1,
"active_from": "2023-12-01T10:00:00.000000Z",
"active_to": "2023-12-31T10:00:00.000000Z",
"created_at": "2023-12-01T10:00:00.000000Z",
"updated_at": "2023-12-01T10:00:00.000000Z"
}
]
}
}
Возможные ошибки:
400- Отсутствуют обязательные параметры404- Пользователь или план не найден
При активации нового плана все предыдущие активные абонементы пользователя автоматически деактивируются (status = 0).
Существует временный маппинг: plan_id = 51 автоматически заменяется на plan_id = 43.
Деактивация плана
Деактивирует конкретный план пользователя.
Endpoint: POST /api/v1/users/deactivate-plan
Заголовки:
token: YOUR_PARTNER_API_KEY
Content-Type: application/json
Параметры тела запроса:
user_id(integer, обязательный) - ID пользователяplan_id(integer, обязательный) - ID плана
Пример запроса:
{
"user_id": 123,
"plan_id": 2
}
Пример ответа:
{
"status": "success",
"data": {
"items": {
"message": "Абонемент деактивирован."
}
}
}
Возможные ошибки:
400- Отсутствуют обязательные параметры404- Пользователь или план не найден
Структура данных
Объект Plan (Package)
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID плана |
name | string | Название плана |
limit_consultation | integer | Лимит консультаций |
duration | integer | Длительность в днях |
Объект PackageEntry (Активированный абонемент)
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID записи абонемента |
user_id | integer | ID пользователя |
package_id | integer | ID плана |
price | integer | Цена абонемента |
limit | integer | Лимит консультаций |
duration | integer | Длительность в днях |
status | integer | Статус (0 - неактивен, 1 - активен) |
active_from | string | Дата начала действия (ISO 8601) |
active_to | string | Дата окончания действия (ISO 8601) |
created_at | string | Дата создания (ISO 8601) |
updated_at | string | Дата обновления (ISO 8601) |
Примеры использования
Активация плана для нового пользователя
curl -X POST https://kotzdorov.ru/api/v1/users/activate-plan \
-H "token: YOUR_PARTNER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": 123,
"plan_id": 2
}'
Смена плана
Для смены плана достаточно активировать новый - старый деактивируется автоматически:
curl -X POST https://kotzdorov.ru/api/v1/users/activate-plan \
-H "token: YOUR_PARTNER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": 123,
"plan_id": 3
}'