Перейти к основному содержимому

Планы и абонементы

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)

ПолеТипОписание
idintegerID плана
namestringНазвание плана
limit_consultationintegerЛимит консультаций
durationintegerДлительность в днях

Объект PackageEntry (Активированный абонемент)

ПолеТипОписание
idintegerID записи абонемента
user_idintegerID пользователя
package_idintegerID плана
priceintegerЦена абонемента
limitintegerЛимит консультаций
durationintegerДлительность в днях
statusintegerСтатус (0 - неактивен, 1 - активен)
active_fromstringДата начала действия (ISO 8601)
active_tostringДата окончания действия (ISO 8601)
created_atstringДата создания (ISO 8601)
updated_atstringДата обновления (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
}'