Модуль управления кодами погашения
Описание функции
Префикс интерфейса унифицирован как http(s)://<your-domain>
В производственных средах следует использовать HTTPS, чтобы гарантировать токены аутентификации. HTTP рекомендуется только для сред разработки.
Система кодов погашения только для администраторов. Поддерживает пакетную генерацию, управление статусами, фильтрацию поиска и другие функции. Содержит функцию обслуживания, которая автоматически удаляет недействительные коды погашения. В основном используется для рекламных мероприятий и стимулирования пользователей.
🔐 Аутентификация администратора
Получите список кодов активации
- Имя интерфейса: получите список кодов активации.
- Метод HTTP: GET
- Путь:
/api/redemption/ - Требования аутентификации: Администратор.
- Введение в функцию: получите список всех кодов погашения в системе на страницах.
💡Пример запроса:
const response = await fetch('/api/redemption/?p=1&page_size=20', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"name": "Код активации новогоднего мероприятия",
"key": "abc123def456",
"status": 1,
"quota": 100000,
"created_time": 1640908800,
"redeemed_time": 0,
"expired_time": 1640995200,
"used_user_id": 0
}
],
"total": 50,
"page": 1,
"page_size": 20
}
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Не удалось получить список кодов активации."
}🧾 Описание поля:
p(номер): номер страницы, по умолчанию — 1.p(номер): количество на странице, по умолчанию — 20.p(массив): список информации о кодах погашения.p(число): общее количество кодов активации.p(номер): номер текущей страницы.p(номер): количество на странице.
Поиск кода активации
- Имя интерфейса: поиск кода активации.
- Метод HTTP: GET
- Путь:
p - Требования аутентификации: Администратор.
- Введение в функцию: поиск кодов погашения по ключевым словам, поддержка поиска по идентификатору и имени.
💡Пример запроса:
const response = await fetch('/api/redemption/search?keyword=новый год&p=1&page_size=20', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"name": "Код активации новогоднего мероприятия",
"key": "abc123def456",
"status": 1,
"quota": 100000
}
],
"total": 1,
"page": 1,
"page_size": 20
}
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Не удалось найти код активации."
}🧾 Описание поля:
keyword(строка): ключевое слово поиска, которое может соответствовать названию или идентификатору кода погашения.keyword(номер): номер страницы, по умолчанию — 1.keyword(номер): количество на странице, по умолчанию — 20.
Получите единый код активации
- Имя интерфейса: получите единый код активации.
- Метод HTTP: GET
- Путь:
keyword - Требования аутентификации: Администратор.
- Введение в функцию: получите подробную информацию об указанном коде активации.
💡Пример запроса:
const response = await fetch('/api/redemption/123', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": {
"id": 123,
"name": "Код активации новогоднего мероприятия",
"key": "abc123def456",
"status": 1,
"quota": 100000,
"created_time": 1640908800,
"redeemed_time": 0,
"expired_time": 1640995200,
"used_user_id": 0,
"user_id": 1
}
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Код активации не существует"
}🧾 Описание поля:
id (числовой): идентификатор кода активации, передаваемый через URL-адрес.
Создать код активации
- Имя интерфейса: создать код активации.
- Метод HTTP: POST
- Путь:
id - Требования аутентификации: Администратор.
- Введение в функцию: пакетное создание кодов погашения с поддержкой одновременного создания нескольких кодов.
💡Пример запроса:
const response = await fetch('/api/redemption/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
},
body: JSON.stringify({
name: "Код активации события Весеннего фестиваля",
count: 10,
quota: 100000,
expired_time: 1640995200
})
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": [
"abc123def456",
"def456ghi789",
"ghi789jkl012"
]
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Длина имени кода погашения должна быть в пределах1-20между"
}🧾 Описание поля:
name(строка): имя кода погашения, длина должна быть от 1 до 20 символов.name(число): количество создаваемых кодов погашения должно быть больше 0 и не более 100.name(число): количество квоты для каждого кода погашения.name(число): временная метка срока действия, 0 означает, что срок действия никогда не истекает.name(массив): список успешно созданных кодов активации.
Обновить код активации
- Имя интерфейса: обновить код активации.
- Метод HTTP: PUT
- Путь:
name - Требования аутентификации: Администратор.
- Введение в функцию: обновление информации о коде активации, только обновление статуса поддержки или полное обновление.
💡 Пример запроса (полное обновление):
const response = await fetch('/api/redemption/', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
},
body: JSON.stringify({
id: 123,
name: "Обновлено название кода активации.",
quota: 200000,
expired_time: 1672531200
})
});
const data = await response.json();💡 Пример запроса (только статус обновления):
const response = await fetch('/api/redemption/?status_only=true', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
},
body: JSON.stringify({
id: 123,
status: 2
})
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": {
"id": 123,
"name": "Обновлено название кода активации.",
"status": 1,
"quota": 200000,
"expired_time": 1672531200
}
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Срок действия не может быть раньше текущего времени."
}🧾 Описание поля:
id(номер): обязательный идентификатор кода активации.id(параметр запроса): обновлять ли только статусid(строка): имя кода погашения, необязательно.id(число): количество квоты, необязательно.id(число): временная метка срока действия, необязательно.id(номер): статус кода активации, необязательно.
Удалить неверный код активации
- Имя интерфейса: удалить недействительные коды активации.
- Метод HTTP: УДАЛИТЬ
- Путь:
id - Требования аутентификации: Администратор.
- Введение в функцию: пакетное удаление использованных, отключенных или просроченных кодов активации.
💡Пример запроса:
const response = await fetch('/api/redemption/invalid', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": "",
"data": 15
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Удаление не удалось"
}🧾 Описание поля:
- Нет параметров запроса
data(число): количество удаленных кодов активации.
Удалить код активации
- Имя интерфейса: удалить код активации.
- Метод HTTP: УДАЛИТЬ
- Путь:
data - Требования аутентификации: Администратор.
- Введение в функцию: удалить указанный код активации.
💡Пример запроса:
const response = await fetch('/api/redemption/123', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Пример успешного ответа:
{
"success": true,
"message": ""
}❗ Пример реакции на ошибку:
{
"success": false,
"message": "Код активации не существует"
}🧾 Описание поля:
id (числовой): идентификатор кода активации, передаваемый через URL-адрес.