- Бонусы
- Бонусы пользователя
POST
StS
/api/store/purchase/list
Список бонусов пользователяPOST
A
/api/store/purchase/my
Список бонусов текущего пользователяPOST
StS
/api/store/purchase/remove
Удалить бонус пользователяPOST
StS
/api/store/purchase/modify
Изменение данных бонуса пользователяPOST
A/StS
/api/store/purchase/setStatus
Изменение статуса бонуса пользователя
- Покупка бонуса
- Баллы
- Подписки на стримеров
POST
A
/api/store/subscription/purchase
Купить подписку на стримераPOST
StS
/api/store/subscription/list
Список подписок пользователяPOST
A
/api/store/subscription/my
Список подписок текущего пользователяPOST
StS
/api/store/subscription/modify
Добавление/изменение подписки пользователяPOST
StS
/api/store/subscription/remove
Удаление подписки пользователяPOST
A/StS
/api/store/subscription/setStatus
Изменение статуса подписки
bonus/purchase
Куплен/добавлен бонусbonus/points
Изменился баланс балловbonus/subscription
Изменилась/добавилась подписка
Все запросы недоступны внутри пакетного запроса.
Для каждого типа бонусов указан его тип type
и параметры config
из соответствующих полей данных бонуса далее.
'citizenMinLevel'
config: {
level: number; // Значение
}
'nickColor'
config: {
color: string; // Цвет в '#HEX' формате
}
'smiles'
config: {
smiles: string[]; // Коды смайлов
}
'smilesPerMessage'
config: {
amount: number; // Число смайлов в сообщении
}
запрос
{
id?: number; // Идентификатор бонуса, не нужен при создании нового
type: string; // Тип бонуса, см. типы бонусов выше
config: Object; // Параметры бонуса, см типы бонусов выше
duration: number; // Длительность купленного бонуса, в секундах
name: string; // Название
price: { // Стоимость
canBePurchased: boolean; // Возможность купить бонус
pekoins: number; // Стоимость в пекоинах
points: number; // Стоимость в баллах
};
view: { // Параметры отображения
category: number; // Идентификатор категории
position: number; // Позиция
linked: boolean; //Флаг зависимости от предыдущего бонуса
};
}
ответ
{
id: number;// Идентификатор бонуса
type: string; // Тип бонуса, см. типы бонусов выше
config: Object; // Параметры бонуса, см типы бонусов выше
duration: number; // Длительность купленного бонуса, в секундах
name: string;
price: { // Стоимость
canBePurchased: boolean; // Возможность купить бонус
pekoins: number; // Стоимость в пекоинах
points: number; // Стоимость в баллах
};
view: { // Параметры отображения
category: number; // Идентификатор категории
position: number; // Позиция
linked: boolean; //Флаг зависимости от предыдущего бонуса
};
}
запрос
{}
ответ
[
Object, // Данные бонуса, объект из ответа /api/store/bonus/modify
...
]
запрос
{
userId: number; // Идентификатор пользователя
}
ответ
[
{ // Данные бонуса пользователя
id: number; // Идетификатор бонуса пользователя
userId: number; // Идентификатор пользователя
bonusId: number; // Идентификатор бонуса
expires: unixtime; // Время окончания бонуса, 0 если без времени окончания
active: boolean; // Статус бонуса (используется например для включения-выключения цвета ника)
},
...
]
запрос
{}
ответ
[
Object, // Объект из ответа /api/store/purchase/list
...
]
запрос
{
id: number; // Идентификатор бонуса пользователя
}
ответ
{}
запрос
{
// Данные бонуса пользователя, объект из ответа /api/store/purchase/list
}
ответ
{
// Обновлённые данные бонуса пользователя, объект из ответа /api/store/purchase/list
}
запрос
{
id: number; // Идентификатор бонуса пользователя
active: boolean; // Статус
}
ответ
{
// Обновлённые данные бонуса пользователя, объект из ответа /api/store/purchase/list
}
запрос
{
bonusId: number; // Идентификатор бонуса
}
ответ
[
... // Новый список бонусов пользователя, массив из ответа /api/store/purchase/list
]
/api/store/purchase/list
Вернёт ошибку если на счету пользователей не хватает пекоинов.
запрос
{
bonusId: number; // Идентификатор бонуса
}
ответ
[
... // Новый список бонусов пользователя, массив из ответа /api/store/purchase/list
]
/api/store/purchase/list
Вернёт ошибку если на счету пользователей не хватает баллов.
запрос
{
userId: number; // Идентификатор пользователя
}
ответ
{
userId: number; // Идентификатор пользователя
amount: number; // Число баллов пользователя
}
запрос
{}
ответ
{
// Объект из ответа /api/store/points/get
}
запрос
{
userId: number; // Идентификатор пользователя
amount: number; // Число баллов пользователя
}
ответ
{
// Новые данные баллов пользователя, объект из ответа /api/store/points/get
}
запрос
{
streamerId: number; // Идентификатор стримера
}
ответ
{}
Вернёт ошибку если на счету пользователя не хватает пекоинов.
запрос
{
userId: number; // Идентификатор пользователя
}
ответ
[
Object, // Подписка пользователя, объект из ответа /api/store/subscription/modify
...
]
/api/store/subscription/modify
запрос
{}
ответ
[
Object, // Подписка пользователя, объект из ответа /api/store/subscription/modify
...
]
/api/store/subscription/modify
запрос
{
id?: number; // Не нужен при добавлении новой подписки
userId: number;
streamerId: number;
expires: unixtime;
active: boolean;
}
ответ
{
id: number; // Идентификатор подписки
userId: number; // Идентификатор пользователя
streamerId: number; // Идентификатор стримера на которого подписка
expires: unixtime; // Время окончания подписки, 0 если без времени окончания
active: boolean; // Статус подписки (используется только для включения/выключения иконки)
}
запрос
{
id: number; // Идентификатор подписки
}
ответ
{}
запрос
{
id: number; // Идентификатор подписки
active: boolean; // Статус
}
ответ
{
// Новые данные подписки, объект из ответа /api/store/subscription/modify
}
/api/store/subscription/modify
Влияет только на активную иконку пользователя
[ // Новый список бонусов
Object, // Данные бонуса, объект из ответа /api/store/bonus/modify
...
]
/api/store/bonus/modify
Приходит при покупке или добавлении бонуса пользователю.
{
// Новый баланс баллов, объект из ответа /api/store/points/get
}
/api/store/points/get
Приходит при изменении баланса баллов пользователя.
{
// Данные подписки, объект из ответа /api/store/subscription/modify
}
/api/store/subscription/modify
Приходит при изменении/добавлении подписки пользователю.