Direkt zum Hauptinhalt

Webhooks

Webhooks — game.finished

Bei jedem Spielende sendet Rent an Arcade einen POST an deine konfigurierte Webhook-URL. Perfekt für Gewinnspiel-Auswertungen, Live-Dashboards oder Bestenlisten.

Webhook-Payload

{
  "event": "game.finished",
  "arcade_id": "arc_abc123",
  "game_key": "dishtennis",
  "player": {
    "id": "user-42",
    "name": "Max Mustermann"
  },
  "score": 4200,
  "custom_values": ["gewinnspiel-ostern", "newsletter", "gold-member", "Berlin"],
  "leaderboard": [
    { "name": "Max Mustermann", "score": 4200 },
    { "name": "Lisa Schmidt", "score": 3800 },
    { "name": "Tom Weber", "score": 2100 }
  ],
  "origin_domain": "meinshop.de",
  "timestamp": "2026-03-28T18:30:00+02:00"
}

Webhook einrichten

  1. Im Dashboard unter deinem Automaten auf Webhook klicken
  2. HTTPS-URL eingeben (z.B. https://meinshop.de/api/arcade-webhook)
  3. Mit Test senden prüfen ob dein Endpoint antwortet

Oder per API: POST /api/v1/arcades/{arcade_id}/webhook mit {"url": "https://..."}

Webhook empfangen (PHP-Beispiel)

<?php
$payload = json_decode(file_get_contents('php://input'), true);

if ($payload['event'] === 'game.finished') {
    $playerId = $payload['player']['id'];
    $score    = $payload['score'];
    $campaign = $payload['custom_values'][0] ?? '';

    // In deine DB schreiben, Gewinner ermitteln, etc.
    $db->insert('gewinnspiel_scores', [
        'user_id'  => $playerId,
        'score'    => $score,
        'campaign' => $campaign,
    ]);
}

http_response_code(200);
echo json_encode(['ok' => true]);

Hinweise

  • Webhook-URL muss HTTPS sein
  • Timeout: 10 Sekunden — antworte schnell oder verarbeite asynchron
  • Bei Fehler (non-2xx): wird geloggt, kein Retry
  • Test-Webhooks haben "test": true im Payload
  • Header: User-Agent: RentAnArcade-Webhook/1.0, X-RAA-Event: game.finished

Tipp: Gewinnspiel-Auswertung

Setze player.id beim Einbinden auf deine interne User-ID. Dann kannst du per API die besten Scores eines Spielers abrufen:

GET /api/v1/scores?player_id=user-42&arcade_id=arc_abc123&limit=1

So ermittelst du automatisch den Gewinner deines Gewinnspiels.