Referral Tracking

API-eindpunten

Server-side verwijzingsvolg-eindpunten

Verwijzings-API-eindpunten

Als je de voorkeur geeft aan server-side verwijzingsvolging (of dit nodig hebt voor backend-only integraties), kun je deze eindpunten rechtstreeks aanroepen in plaats van het JavaScript-volgscrip te gebruiken.

Alle verwijzings-eindpunten ondersteunen CORS en vereisen geen API-sleutel authenticatie.

Verwijzings- versus affiliatecampagnes: Verwijzingscampagnes belonen punten bij aanmeldingen en aankopen. Affiliatecampagnes belonen dollarcommissie op verwezen aankopen met een exclusieve uitbetalingsstructuur — ofwel een percentage van de verkoop of een vast bedrag per verkoop (niet beide). Aanmeldingsvolging betaalt geen commissie bij affiliatecampagnes (alleen bij aankopen). Antwoorden op aankopen bevatten pointsAwarded voor verwijzingsmodus en commissionAwarded voor affiliate modus.


Verifieer Verwijzingscode

GET/api/referral/validate-code
No authentication required

Controleer of een verwijzingscode geldig is en haal informatie op over de verwijzer.

Queryparameters

codestring required

De te verifiëren verwijzingscode

contestIdstring required

De wedstrijdidentificatie

Verzoek

bash
curl -X GET "https://blitzrocket.com/api/referral/validate-code?code=REF-XYZ789&contestId=clx1abc123"

Antwoord

json
{
  "valid": true,
  "referrerEmail": "jane@example.com",
  "referrerName": "Jane Doe",
  "contestId": "clx1abc123"
}

Volg Bezoek

POST/api/referral/track-visit
No authentication required

Registreer dat iemand je site bezocht via een verwijzingslink.

Verzoek Body

referralCodestring required

De verwijzingscode uit de URL

contestIdstring required

De wedstrijdidentificatie

urlstring

De bezochte pagina-URL (optioneel)

Verzoek

bash
curl -X POST https://blitzrocket.com/api/referral/track-visit \
  -H "Content-Type: application/json" \
  -d '{
    "referralCode": "REF-XYZ789",
    "contestId": "clx1abc123",
    "url": "https://yoursite.com/landing-page"
  }'

Antwoord

json
{
  "success": true
}

Volg Aanmelding

POST/api/referral/track-signup
No authentication required

Registreer dat een verwezen bezoeker zich heeft aangemeld.

Verzoek Body

emailstring required

E-mailadres van de nieuwe aanmelding

contestIdstring required

De wedstrijdidentificatie

referralCodestring

De verwijzingscode van de persoon die hen verwees (optioneel voor directe aanmeldingen)

externalSiteUrlstring required

URL van de pagina waar de aanmelding plaatsvond

namestring

Naam van de nieuwe aanmelding (optioneel)

Verzoek

bash
curl -X POST https://blitzrocket.com/api/referral/track-signup \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "campaignId": "clx1abc123",
    "referralCode": "REF-XYZ789",
    "externalSiteUrl": "https://yoursite.com/signup"
  }'

Antwoord

json
{
  "success": true,
  "data": {
    "entryId": "entry_new789",
    "isReferred": true,
    "pointsAwarded": {
      "advocate": 10,
      "friend": 5
    }
  }
}

Volg Aankoop

POST/api/referral/track-purchase
No authentication required

Registreer dat een verwezen gebruiker een aankoop heeft gedaan. Wordt gebruikt door RocketTracker.trackPurchase() in blitzrocket.js.

Verzoek Body

campaignIdstring required

De wedstrijdidentificatie (zelfde als contestId)

referralCodestring required

De verwijzingscode van de pleitbezorger

orderIdstring required

Unieke orderidentificatie

amountnumber required

Aankoopbedrag

externalSiteUrlstring required

URL van de pagina waar de aankoop plaatsvond

emailstring

E-mailadres van de koper (optioneel)

phonestring

Telefoonnummer van de koper (optioneel)

currencystring

Valutacode (standaard: 'USD')

Verzoek

bash
curl -X POST https://blitzrocket.com/api/referral/track-purchase \
  -H "Content-Type: application/json" \
  -d '{
    "campaignId": "clx1abc123",
    "referralCode": "REF-XYZ789",
    "orderId": "order-12345",
    "amount": 99.99,
    "currency": "USD",
    "externalSiteUrl": "https://yoursite.com/checkout/success",
    "email": "buyer@example.com"
  }'

Antwoord

Verwijzingscampagne (punten):

json
{
  "success": true,
  "message": "Aankoop succesvol geregistreerd",
  "referrerEntryId": "entry_abc123",
  "pointsAwarded": { "advocate": 50, "friend": 10 },
  "commissionAwarded": { "advocate": 0 }
}

Affiliate campagne (dollar commissie):

json
{
  "success": true,
  "message": "Aankoop succesvol geregistreerd",
  "referrerEntryId": "entry_abc123",
  "pointsAwarded": { "advocate": 0, "friend": 0 },
  "commissionAwarded": { "advocate": 24.99 }
}

Voor alleen e-mail aankoopregistratie (geen verwijzingscode in het verzoek), gebruik in plaats daarvan POST /api/contest/track-purchase.


Volledig Server-Side Voorbeeld

Hier is een volledig voorbeeld van het implementeren van referral tracking op je server:

javascript
const express = require("express");
const app = express();

const BLITZROCKET_BASE = "https://blitzrocket.com/api/referral";
const CONTEST_ID = process.env.CONTEST_ID;

app.post("/api/signup", async (req, res) => {
  const { email, name, referralCode } = req.body;

  // 1. Maak gebruiker aan in je systeem
  const user = await createUser({ email, name });

  // 2. Volg de verwezen aanmelding in Blitz Rocket
  if (referralCode) {
    await fetch(`${BLITZROCKET_BASE}/track-signup`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        email,
        name,
        contestId: CONTEST_ID,
        referralCode,
      }),
    });
  }

  res.json({ success: true, user });
});

app.post("/api/purchase", async (req, res) => {
  const { email, orderId, amount, currency } = req.body;

  // 1. Verwerk de aankoop in je systeem
  const order = await processOrder({ email, orderId, amount });

  // 2. Volg de aankoop in Blitz Rocket
  await fetch(`${BLITZROCKET_BASE}/track-purchase`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      email,
      contestId: CONTEST_ID,
      orderId,
      amount,
      currency,
    }),
  });

  res.json({ success: true, order });
});