88API88API
AI-приложенияAPIПомощь и поддержка

Модуль управления кодами погашения

Описание функции

Префикс интерфейса унифицирован как 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-адрес.