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

GET/api/v1/contests/:contestId/leaderboard
Public or Private API Key

Renvoie 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 points dé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

limitnumber

Nombre d'entrées à retourner (1-100). Par défaut : 25

Requête

bash
curl -X GET "https://blitzrocket.com/api/v1/contests/clx1abc123/leaderboard?limit=10" \
  -H "x-api-key: your_api_key_here"

Réponse

json
{
  "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

ranknumber

Position dans le classement (indexé à 1)

idstring

Identifiant unique de la participation

emailstring

Adresse email du participant

namestring | null

Nom du participant

pointsnumber

Total des points gagnés

commissionnumber

Commission totale gagnée en dollars (campagnes d'affiliation)

metricstring

Métrique de classement pour ce concours : points ou commission

referralCodestring | null

Code de parrainage du participant

referralsCountnumber

Nombre de parrainages réussis

joinedAtstring

Horodatage ISO 8601 du moment où le participant a rejoint

Notes d'utilisation

  • Ne renvoie que les participations où emailConfirmed est true et disqualified est false
  • Les résultats sont ordonnés par points ou commission selon le mode de campagne
  • Le paramètre limit accepte 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

javascript
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

StatutErreurDescription
400contestId manquantLe paramètre de chemin contestId est requis
401Clé API invalideLa clé API est manquante ou invalide
404Concours non trouvéAucun concours n'existe avec l'ID donné