Module de gestion des codes de remboursement
Description des fonctionnalités
Le préfixe de l'API est uniformément http(s)://<your-domain>
HTTPS doit être utilisé dans les environnements de production pour sécuriser les jetons d'authentification. HTTP n'est recommandé que pour les environnements de développement.
Un système de code de remboursement exclusif à l'administrateur. Prend en charge des fonctionnalités telles que la génération par lots, la gestion des statuts et le filtrage de recherche. Inclut une fonctionnalité de maintenance pour nettoyer automatiquement les codes de remboursement invalides. Principalement utilisé pour les activités promotionnelles et les incitations des utilisateurs.
🔐 Authentification de l'administrateur
Obtenez la liste des codes de remboursement
- Nom de l'interface: Obtenez la liste des codes de remboursement
- Méthode HTTP: GET
- Chemin:
/api/redemption/ - Exigence d'authentification: Administrateur
- Description de la fonction: Récupération paginée des informations de liste pour tous les codes de remboursement du système
💡 Exemple de demande:
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();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"name": "New Year event redemption code",
"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
}
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Failed to retrieve redemption code list"
}🧾 Description du champ:
p(Numéro): Numéro de page, par défaut 1page_size(Nombre) : éléments par page, par défaut 20items(Array): Liste des informations sur le code de remboursementtotal(Nombre): Nombre total de codes de remboursementpage(Numéro): Numéro de la page actuellepage_size(Nombre) : Articles par page
Rechercher des codes de remboursement
- Nom de l'interface: Rechercher des codes de remboursement
- Méthode HTTP: GET
- Chemin:
/api/redemption/search - Exigence d'authentification: Administrateur
- Description de la fonction: recherche de codes de remboursement en fonction de mots-clés, prend en charge la recherche par identifiant et par nom
💡 Exemple de demande:
const response = await fetch('/api/redemption/search?keyword=new year&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();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"name": "New Year event redemption code",
"key": "abc123def456",
"status": 1,
"quota": 100000
}
],
"total": 1,
"page": 1,
"page_size": 20
}
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Failed to search for redemption codes"
}🧾 Description du champ:
keyword(Chaîne): mot-clé de recherche, peut correspondre au nom du code de remboursement ou à l'IDp(Numéro): Numéro de page, par défaut 1page_size(Nombre) : éléments par page, par défaut 20
Obtenez un code de remboursement unique
- Nom de l'interface: Obtenez un code de remboursement unique
- Méthode HTTP: GET
- Chemin:
/api/redemption/:id - Exigence d'authentification: Administrateur
- Description de la fonction: récupère des informations détaillées pour un code de remboursement spécifié
💡 Exemple de demande:
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();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": {
"id": 123,
"name": "New Year event redemption code",
"key": "abc123def456",
"status": 1,
"quota": 100000,
"created_time": 1640908800,
"redeemed_time": 0,
"expired_time": 1640995200,
"used_user_id": 0,
"user_id": 1
}
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Redemption code does not exist"
}🧾 Description du champ:
id (Numéro): ID du code de remboursement, transmis via le chemin URL
Créer un code de remboursement
- Nom de l'interface: Créer un code de remboursement
- Méthode HTTP: POST
- Chemin:
/api/redemption/ - Exigence d'authentification: Administrateur
- Description de la fonction: création par lots de codes de remboursement, prend en charge la création de plusieurs codes à la fois
💡 Exemple de demande:
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: "Spring Festival event redemption code",
count: 10,
quota: 100000,
expired_time: 1640995200
})
});
const data = await response.json();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": [
"abc123def456",
"def456ghi789",
"ghi789jkl012"
]
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Redemption code name length must be between 1 and 20"
}🧾 Description du champ:
name(String) : Nom du code de remboursement, la longueur doit être comprise entre 1 et 20 caractèrescount(Nombre): Nombre de codes de réduction à créer, doit être supérieur à 0 et ne pas dépasser 100quota(Nombre): Montant du quota pour chaque code de remboursementexpired_time(Nombre): horodatage d'expiration, 0 signifie n'expire jamaisdata(Array): Liste des codes de remboursement créés avec succès
Mettre à jour le code de remboursement
- Nom de l'interface: mettre à jour le code de remboursement
- Méthode HTTP: PUT
- Chemin:
/api/redemption/ - Exigence d'authentification: Administrateur
- Description de la fonction: met à jour les informations du code d'échange, prend en charge la mise à jour du statut uniquement ou une mise à jour complète
💡 Exemple de demande (mise à jour complète):
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: "Updated redemption code name",
quota: 200000,
expired_time: 1672531200
})
});
const data = await response.json();💡 Exemple de demande (mise à jour du statut uniquement):
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();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": {
"id": 123,
"name": "Updated redemption code name",
"status": 1,
"quota": 200000,
"expired_time": 1672531200
}
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Expiration time cannot be earlier than the current time"
}🧾 Description du champ:
id(Numéro): ID du code de remboursement, obligatoirestatus_only(Paramètre de requête) : s'il faut mettre à jour uniquement l'étatname(String): nom du code de remboursement, facultatifquota(Nombre) : Montant du quota, optionnelexpired_time(Numéro): Horodatage d'expiration, en optionstatus(Numéro): Statut du code de remboursement, facultatif
Supprimer les codes de remboursement invalides
- Nom de l'interface: Supprimer les codes de remboursement invalides
- Méthode HTTP: SUPPRIMER
- Chemin:
/api/redemption/invalid - Exigence d'authentification: Administrateur
- Description de la fonction: suppression par lots des codes de remboursement utilisés, désactivés ou expirés
💡 Exemple de demande:
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();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": 15
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Deletion failed"
}🧾 Description du champ:
- Aucun paramètre de requête
data(Numéro): Nombre de codes de remboursement supprimés
Supprimer le code de remboursement
- Nom de l'interface: Supprimer le code de remboursement
- Méthode HTTP: SUPPRIMER
- Chemin:
/api/redemption/:id - Exigence d'authentification: Administrateur
- Description de la fonction: Supprime le code de remboursement spécifié
💡 Exemple de demande:
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();✅ Exemple de réponse réussie:
{
"success": true,
"message": ""
}❗ Exemple de réponse échouée:
{
"success": false,
"message": "Redemption code does not exist"
}🧾 Description du champ:
id (Numéro): ID du code de remboursement, transmis via le chemin URL