API Reference

Ranglijst

Ophalen van gerangschikte deelnemersranglijsten

Ranglijst

Haal een gerangschikte ranglijst op voor elke wedstrijd. Virale en referralcampagnes worden gerangschikt op punten; affiliatecampagnes worden gerangschikt op verdiende commissie.


Ranglijst ophalen

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

Geeft een gerangschikte lijst van wedstrijdinzendingen terug. Alleen bevestigde, niet-gediskwalificeerde inzendingen worden opgenomen.

  • Virale / referralcampagnes: gesorteerd op points aflopend
  • Affiliatecampagnes: gesorteerd op commission (totalCommissionEarned) aflopend

De respons bevat een topniveau metric veld ("points" of "commission") dat aangeeft welke waarde de rangschikking bepaalt.

Padparameters

contestIdstring required

De unieke wedstrijdidentificatie

Queryparameters

limitnumber

Aantal inzendingen om terug te geven (1-100). Standaard: 25

Verzoek

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

Respons

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"
    }
  ]
}

Responsvelden

ranknumber

Positie in de ranglijst (1-gebaseerd)

idstring

Unieke inzending-ID

emailstring

E-mailadres van deelnemer

namestring | null

Naam van deelnemer

pointsnumber

Totaal verdiende punten

commissionnumber

Totale verdiende commissie in dollars (affiliatecampagnes)

metricstring

Rangschikkingscriterium voor deze wedstrijd: punten of commissie

referralCodestring | null

Referralcode van deelnemer

referralsCountnumber

Aantal succesvolle referrals

joinedAtstring

ISO 8601-tijdstempel waarop de deelnemer zich heeft aangemeld

Gebruiksnotities

  • Geeft alleen inzendingen terug waarbij emailConfirmed true is en disqualified false
  • Resultaten worden gesorteerd op points of commission afhankelijk van de campagnemodus
  • De parameter limit accepteert waarden tussen 1 en 100
  • Gebruik deze endpoint met een publieke sleutel om client-side ranglijstwidgets te bouwen

Voorbeeld: Ranglijstwidget

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 || "Anoniem"}</span>
        <span class="points">${entry.points} pts</span>
        <span class="referrals">${entry.referralsCount} referrals</span>
      </div>
    `
    )
    .join("");
}

Foutreacties

StatusFoutBeschrijving
400Ontbrekende contestIdDe contestId padparameter is verplicht
401Ongeldige API-sleutelAPI-sleutel ontbreekt of is ongeldig
404Wedstrijd niet gevondenEr bestaat geen wedstrijd met de opgegeven ID