API Reference
Classement
Récupérer les classements des participants classés
Classement
Récupérez un classement classé pour n'importe quel concours. Les campagnes virales et de parrainage sont classées par points ; les campagnes d'affiliation sont classées par commission gagnée.
Obtenir le Classement
/api/v1/contests/:contestId/leaderboardRenvoie une liste classée des participations au concours. Seules les participations confirmées et non disqualifiées sont incluses.
- Campagnes virales / de parrainage : ordonnées par
pointsdécroissants - Campagnes d'affiliation : ordonnées par
commission(totalCommissionEarned) décroissants
La réponse inclut un champ de niveau supérieur metric ("points" ou "commission") indiquant quelle valeur détermine le classement.
Paramètres de chemin
contestIdstring required L'identifiant unique du concours
Paramètres de requête
limitnumberNombre d'entrées à retourner (1-100). Par défaut : 25
Requête
curl -X GET "https://blitzrocket.com/api/v1/contests/clx1abc123/leaderboard?limit=10" \
-H "x-api-key: your_api_key_here"
Réponse
{
"success": true,
"metric": "points",
"data": [
{
"rank": 1,
"id": "entry_abc123",
"email": "jane@example.com",
"name": "Jane Doe",
"points": 350,
"commission": 0,
"referralCode": "REF-XYZ789",
"referralsCount": 12,
"joinedAt": "2025-06-01T10:00:00.000Z"
},
{
"rank": 2,
"id": "entry_def456",
"email": "john@example.com",
"name": "John Smith",
"points": 280,
"referralCode": "REF-ABC456",
"referralsCount": 8,
"joinedAt": "2025-06-02T14:30:00.000Z"
},
{
"rank": 3,
"id": "entry_ghi789",
"email": "alex@example.com",
"name": null,
"points": 195,
"referralCode": "REF-DEF123",
"referralsCount": 3,
"joinedAt": "2025-06-03T09:15:00.000Z"
}
]
}
Champs de réponse
ranknumberPosition dans le classement (indexé à 1)
idstringIdentifiant unique de la participation
emailstringAdresse email du participant
namestring | nullNom du participant
pointsnumberTotal des points gagnés
commissionnumberCommission totale gagnée en dollars (campagnes d'affiliation)
metricstringMétrique de classement pour ce concours : points ou commission
referralCodestring | nullCode de parrainage du participant
referralsCountnumberNombre de parrainages réussis
joinedAtstringHorodatage ISO 8601 du moment où le participant a rejoint
Notes d'utilisation
- Ne renvoie que les participations où
emailConfirmedesttrueetdisqualifiedestfalse - Les résultats sont ordonnés par
pointsoucommissionselon le mode de campagne - Le paramètre
limitaccepte des valeurs entre 1 et 100 - Utilisez ce point de terminaison avec une clé publique pour construire des widgets de classement côté client
Exemple : Widget de Classement
async function renderLeaderboard(contestId, container) {
const response = await fetch(
`https://blitzrocket.com/api/v1/contests/${contestId}/leaderboard?limit=10`,
{
headers: { "x-api-key": "your_public_key_here" },
}
);
const { data } = await response.json();
container.innerHTML = data
.map(
(entry) => `
<div class="leaderboard-entry">
<span class="rank">#${entry.rank}</span>
<span class="name">${entry.name || "Anonyme"}</span>
<span class="points">${entry.points} pts</span>
<span class="referrals">${entry.referralsCount} parrainages</span>
</div>
`
)
.join("");
}
Réponses d'erreur
| Statut | Erreur | Description |
|---|---|---|
400 | contestId manquant | Le paramètre de chemin contestId est requis |
401 | Clé API invalide | La clé API est manquante ou invalide |
404 | Concours non trouvé | Aucun concours n'existe avec l'ID donné |