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

Получение данных подписки

Метод позволяет получить информацию о подписке по токену подписки.

Параметры взаимодействия

Для реальных подписок:

GET
https://public-api.rustore.ru/public/subscription/{subscriptionToken}

Для тестовых подписок:

GET
https://public-api.rustore.ru/public/sandbox/subscription/{purchaseToken}

Для работы с тестовыми платежами и подписками вам понадобится новый ключ, при создании которого нужно указать методы для тестирования.

АтрибутТипОписаниеОбязательностьРасположениеПример
Public-TokenstringJwe-токен авторизации в Public API Rustore.
Как получить токен авторизации.
ДаheaderN/A
subscriptionTokenstringКак получить токен подписки, см. документацию по SDK платежей.Даpath111.123

Параметры ответа

АтрибутТипОписаниеОбязательностьРасположениеПример
codestringКод ответа.ДаbodyОК;
ERROR;
BAD_REQUEST;
NOT_FOUND.
messagestringРасшифровка кода ответа.НетbodyJwe token is expired
body{}objectТело ответаНетbodyN/A
timestampstringВремя ответа.Даbody2023-08-02T10:11:04.655684723+03:00

body{}

АтрибутТипОписаниеОбязательностьРасположениеПример
codenumberКод ответа.Даbody0
successbooleanФлаг успешности ответа.Даbodytrue
messagestringРасшифровка кода ответа.НетbodyНеизвестная ошибка
body{}objectТело сообщения.НетbodyN/A

body.body{}

АтрибутТипОписаниеПример
serviceNamestringНазвание сервиса.Okko
subscriptionIdintegerУникальный идентификатор подписки.12345
addParametersstringДополнительные параметры по подписке.Something about subscription
productTypestringТип продукта.SUBSCRIPTION
productNamestringНазвание продукта.Okko оптимум
productCodestringКод продукта.monthly_sub
recurrentbooleanПризнак автопродления.true
countOfDayintegerКоличество дней.10
periodTypestringТип периода.Доступные значения:
DAY;
MONTH;
YEAR.
periodDurationintegerДлительность периода.10
nextPaymentDatestringДата следующего платежа.2021-03-23
priceintegerЦена в минимальных единицах валюты (копейки).9999
currencystringВалюта.RUB
imageUrlstringСсылка на картинку продукта.N/A
statestringСтатус подписки.Активные статусы
ACTIVATED — подписка активна.

Промежуточные статусы
ACCEPTED — ожидает оплаты;
DEPOSITED — платёж проведён, подписка ожидает активации;
CLOSE_PENDING — подписка в процессе закрытия;
REPEATING — подписка на стадии продления, производится попытка списания денег для продления.

Финальные статусы
DECLINED — подписка закрыта, все попытки очередных платежей по подписке завершились неуспешно, GRACE и HOLD периоды и количество попыток продления закончились;
CANCELED — пользователь не оплатил подписку;
CLOSED — подписка закрыта; пользователь отключил автопродление подписки, истек оплаченный период, провайдер подтвердил закрытие подписки;
REFUNDED — инициирован возврат средств пользователю.
currentPeriodstringНаименование текущего периода.Доступные значения:
PROMO — бесплатный период;
START — стартовый период со сниженной ценой;
STANDARD — стандартный период;
GRACE — грейс-период, пользователь не оплатил подписку, попытки списания продолжаются, доступ к контенту сохраняется;
HOLD — холд-период, пользователь не оплатил подписку, попытки списания продолжаются, доступ к контенту должен быть прекращён.
debtPaymentPeriodstringНаименование платежного периода.Null, если период стандартный.
descriptionstringОписание продукта подписки.Описание
tariffIdintegerУникальный идентификатор тарифа.12345
periods []array[object]Информация о текущем периоде.См. описание ниже.

body.body.periods []

АтрибутТипОписаниеПример
periodNamestringНаименование текущего периода.Доступные значения:
PROMO;
START;
STANDARD;
GRACE;
HOLD.
periodTypestringТип периода.Доступные значения:
DAY;
MONTH;
YEAR.
periodDurationnumberДлительность периода.10
periodPricenumberЦена в минимальных единицах валюты (копейки).10000
nextPeriodstringНаименование следующего периода.Доступные значения:
PROMO;
START;
STANDARD;
GRACE;
HOLD.

Пример ответа

"code":"200",
"message":"something",
"timestamp":"2023-08-02T10:11:04.655684723+03:00",
"body":
{
"code": 40401,
"success": false,
"message": "Неизвестная ошибка",
"body": {
"serviceName": "Okko",
"subscriptionId": 100500,
"addParameters": "something",
"productType": "string",
"productName": "ОККО Оптимум",
"productCode": "string",
"recurrent": true,
"countOfDay": 100,
"periodType": "DAY",
"periodDuration": 30,
"nextPaymentDate": "2021-03-23",
"price": 999,
"currency": "RUB",
"imageUrl": "https://static-eu.insales.ru/images/products/1/7435/306650379/thumb_1586524817849_15832463664565053990106868.jpg",
"state": "ACTIVATED",
"currentPeriod": "STANDARD",
"debtPaymentPeriod": "string",
"description": "Описание",
"tariffId": 100500,
"periods": [
{
"periodName": "STANDARD",
"periodType": "DAY",
"periodDuration": 10,
"periodPrice": 10000,
"nextPeriod": "STANDARD"
}
]
}
}

Пример ответа с ошибкой

{
"code": "ERROR",
"message": "Jwe token is expired",
"body": null,
"timestamp": "2024-01-21T13:51:59.654427798+03:00"
}

Валидация запроса

При получении запроса проверяется токен авторизации, полученный методом получения токена авторизации:

  • владелец и/или приложение не должны быть заблокированы;
  • токен должен быть действительным;
  • код приложения application_code соответствует владельцу, получившему токен авторизации.