Skip to content

Latest commit

 

History

History
469 lines (401 loc) · 16.7 KB

store.md

File metadata and controls

469 lines (401 loc) · 16.7 KB

API Магазина


Все запросы недоступны внутри пакетного запроса.


Бонусы

Типы бонусов и их параметры

Для каждого типа бонусов указан его тип 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
    ...
]

/api/store/bonus/modify

Бонусы пользователя

Список бонусов пользователя

запрос

{
    userId: number; // Идентификатор пользователя
}

ответ

[
    { // Данные бонуса пользователя
        id: number; // Идетификатор бонуса пользователя
        userId: number; // Идентификатор пользователя
        bonusId: number; // Идентификатор бонуса
        expires: unixtime; // Время окончания бонуса, 0 если без времени окончания
        active: boolean; // Статус бонуса (используется например для включения-выключения цвета ника)
    },
    ...
]

Список бонусов текущего пользователя

запрос

{}

ответ

[
    Object, // Объект из ответа /api/store/purchase/list
    ...
]

/api/store/purchase/list

Удалить бонус пользователя

запрос

{
    id: number; // Идентификатор бонуса пользователя
}

ответ

{}

Изменение данных бонуса пользователя

запрос

{
    // Данные бонуса пользователя, объект из ответа /api/store/purchase/list
}

ответ

{
    // Обновлённые данные бонуса пользователя, объект из ответа /api/store/purchase/list
}

/api/store/purchase/list

Изменение статуса бонуса пользователя

запрос

{
    id: number; // Идентификатор бонуса пользователя
    active: boolean; // Статус
}

ответ

{
    // Обновлённые данные бонуса пользователя, объект из ответа /api/store/purchase/list
}

/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
}

/api/store/points/get

Изменить баллы пользователя

запрос

{
    userId: number; // Идентификатор пользователя
    amount: number; // Число баллов пользователя
}

ответ

{
    // Новые данные баллов пользователя, объект из ответа  /api/store/points/get
}

/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
Влияет только на активную иконку пользователя

Куплен/добавлен бонус

bonus/purchase
[ // Новый список бонусов
    Object, // Данные бонуса, объект из ответа /api/store/bonus/modify
    ...
]

/api/store/bonus/modify
Приходит при покупке или добавлении бонуса пользователю.

Изменился баланс баллов

bonus/points
{
    // Новый баланс баллов, объект из ответа /api/store/points/get
}

/api/store/points/get
Приходит при изменении баланса баллов пользователя.

Изменилась/добавилась подписка

bonus/subscription
{
    // Данные подписки, объект из ответа /api/store/subscription/modify
}

/api/store/subscription/modify
Приходит при изменении/добавлении подписки пользователю.