Entwicklerintegration

7Stamp Webhooks

Verfügbar

Übertragen Sie jedes Treueereignis von 7Stamp in Echtzeit auf Ihre eigenen Systeme. Keine Umfragen und keine geplanten API-Anrufe. Ereignisse kommen als HTTPS POST-Anfragen innerhalb von Sekunden nach ihrem Eintreten an.

Verwenden Sie Webhooks, um Ihr CRM, ERP oder Ihr benutzerdefiniertes Backend mit den Ereignissen auf der Treueseite synchron zu halten: Wer ist beigetreten, wer hat einen Stempel erhalten, wer hat einen Gutschein eingelöst, wer hat ein Geburtstagsgeschenk ausgelöst und wer ist inaktiv geworden. Dann entscheiden Ihre Systeme, was mit diesen Daten geschehen soll.

Was Sie mit Webhooks tun können

Webhooks sind die ausgehende Seite des Integrationsstapels. Sie spiegeln die Kunden- und Prämienaktivitäten in den Systemen wider, denen Sie bereits für Vertrieb, Service, Analyse und Messaging vertrauen.

Spiegeln Sie den Treueverlauf in Ihr CRM

Jeder Stempel-, Gutschein-, Geburtstags- und Inaktivitätsauslöser landet im Kundendatensatz in Ihrem CRM. Sie sehen die vollständige Treuezeitleiste neben Verkäufen, Anrufen und Tickets, ohne sich bei 7Stamp anzumelden.

Lösen Sie Ihren eigenen Nachrichtenstapel aus

Wenn ein Kunde einen Gutschein einlöst, senden Sie ein Dankeschön SMS von Ihrem vorhandenen SMS-Gateway. Wenn ein Kunde das Ziel erreicht, posten Sie eine Feier in Slack. Wenn jemand inaktiv wird, leiten Sie den Fall an Ihren Account Manager weiter.

Leistungsfähige Analyse und Abstimmung

Streamen Sie Ereignisse in Ihr BI Tool, Lager oder Ihre Abstimmungspipeline. Vergleichen Sie Gutscheineinlösungen mit POS-Belegen und berechnen Sie die Treue ROI in Ihren eigenen Kennzahlen.

Kartenereignistypen

SCAN – Eine Karte hat eine Scan/stamp-Aktion erhalten.
REWARD_EARNED – Auf der Karte wurde eine Belohnung verdient.
VOUCHER_ISSUED – Ein Gutschein wurde ausgestellt.
VOUCHER_REDEEMED — Ein Gutschein wurde eingelöst.
LOTTERY_WIN – Eine Lotterie führte zu einem Gewinn.
DELIVERY_INSERT – Es wurde ein Liefer-Einfügungsfluss aufgezeichnet.
CARD_JOINED – Ein Kunde ist einer Karte beigetreten.
CARD_CAMPAIGN – Ein Kartenkampagnenereignis ist aufgetreten.
BIRTHDAY_GREETING – Es ist ein Geburtstagsgrußereignis aufgetreten.
ADMIN_VOUCHER_ISSUE – Ein Administrator hat einen Gutschein ausgestellt.
CARD_ADDED_TO_WALLET – Ein Kunde hat die Karte zu seinem Portemonnaie hinzugefügt.
CARD_REMOVED_FROM_WALLET – Ein Kunde hat die Karte aus seiner Brieftasche genommen.

Erstellen Sie einen sicheren Webhook-Empfänger

Bestätigen Sie nach dauerhafter Handhabung

Ihr Endpunkt sollte HTTPS akzeptieren POST, validieren Sie die Anforderungsform, behalten Sie das Ereignis bei oder stellen Sie es in die Warteschlange und geben Sie dann eine erfolgreiche 2xx-Antwort zurück. Führen Sie vor der Bestätigung keinen langsamen CRM- oder Messaging-Anruf durch, wenn dieser sicher in die Warteschlange gestellt werden kann.

Korreliert mit External ID

Jedes zugehörige Ereignis kann das External ID und optional External Source tragen, das Sie beim Erstellen oder Scannen der Karte verwendet haben. Verwenden Sie dieses Paar, um Ihren eigenen CRM, POS oder Bestelldatensatz zu aktualisieren, ohne anhand eines Namens oder einer E-Mail-Adresse zu raten.

Make Lieferung idempotent

Speichern Sie einen dauerhaften Verarbeitungsschlüssel oder Ereignis-Fingerabdruck, bevor Nebenwirkungen ausgelöst werden. Wenn Ihr Empfänger dieselbe Lieferung noch einmal sieht, sollte er keine doppelte CRM Notiz, einen Gutschein oder eine Nachricht hinzufügen. Behandeln Sie den Endpunkt URL als Geheimnis.

Beispiel für eine Ereignis-Nutzlastform

Kopieren Sie dies in Ihren Automatisierungsschritt json
{
  "entity": "card_event",
  "action": "created",
  "entity_id": 707,
  "event_id": "8f05e58decec48e09d328f0edebbacf6",
  "profile_id": 2,
  "profile_name": "Your Business",
  "profile_lang": "en",
  "data": {
    "event_type": "SCAN",
    "scanned_at": "2026-10-01T09:19:24.179424",
    "user_card_id": 10,
    "card_template_id": 14,
    "card_template_name": "Collect your stamps!",
    "stamps_added": 3,
    "stamps_before": 1,
    "stamps_after": 4,
    "amount": null,
    "external_order_id": "ORDER-1001",
    "workplace": { "id": 4, "name": "Bar Counter" },
    "device_type": null,
    "external_id": "odoo_contact_8821",
    "external_source": "odoo",
    "issued_vouchers": [
      {
        "id": 174,
        "unique_code": "100425813507",
        "stamp_number": 4,
        "issued_at": "2026-10-01T09:19:24.191836",
        "expires_at": "2027-01-01T23:59:59",
        "status": "ACTIVE",
        "voucher_template_id": 58,
        "voucher_description": "Free coffee",
        "voucher_image_url": "https://..."
      }
    ],
    "achieved_goals": [],
    "user": {
      "id": 2,
      "name": "Anna",
      "full_name": "Anna Smith",
      "email": "anna@example.com",
      "telegram_chat_id": null,
      "telegram_username": null,
      "whatsapp_phone": null,
      "birth_date": null
    }
  }
}

Konfigurieren und testen Sie einen Webhook

01

Erstellen Sie einen HTTPS-Endpunkt in Ihrem Backend, CRM-Integrationsschicht, Make-Webhook oder Zapier Catch Hook. Make Stellen Sie sicher, dass Sie das Ziel kontrollieren, bevor Sie dessen URL kopieren.

02

Öffnen Sie in 7Stamp Admin Stamp Cards → API & Integrations → Webhooks.

03

Fügen Sie die Endpunkt-URL hinzu. Der Webhook empfängt alle Kartenereignisse des Profils, filtern Sie daher in Ihrem Empfänger nach data.event_type.

04

Speichern Sie die Profileinstellungen und lösen Sie dann einen einmaligen Testscan oder eine Kartenaktion aus, um ein Ereignis zu erzeugen.

05

Überprüfen Sie die empfangene Nutzlast. Ordnen Sie External ID und External Source dem erwarteten Datensatz zu und bestätigen Sie, dass der Empfänger eine erfolgreiche Antwort zurückgibt.

06

Aktivieren Sie CRM, Gutschein- oder Nachrichten-Nebeneffekte erst, nachdem Sie über eine abspielsichere Handhabung und Überwachung auf Fehler verfügen.

Optionen ohne Code: Make und Zapier

Verwenden Sie in Make Webhooks → Custom webhook, um einen Empfangs-URL zu generieren und ihn in das Profil 7Stamp einzufügen. Verwenden Sie in Zapier Webhooks by Zapier → Catch Hook für denselben Zweck. Das 7Stamp-Profil besitzt das Abonnement, da das aktuelle API keine automatischen Webhook-Registrierungsendpunkte verfügbar macht.

Sicherheits- und Liefervertrag

Verwenden Sie den Abschnitt Webhooks der öffentlichen OpenAPI-Referenz als Quelle für das aktuelle Payload-Schema. Der Body ist ein Umschlag: profile_id und profile_name benennen das 7Stamp-Profil, event_id identifiziert das Ereignis, und das Kartenereignis selbst steht in data (bei einer URL von Make oder Zapier lautet der Schlüssel card_event). Jede Zustellung wird in einem einzigen Header signiert, X-Webhook-Signature: t=…,s=…. Berechnen Sie mit Ihrem Webhook-Secret einen HMAC-SHA256 über t plus den rohen Request-Body, kodieren Sie ihn hexadezimal und vergleichen Sie ihn mit s; das Secret finden Sie auf der Seite des Webhooks in 7Stamp Admin. Verwerfen Sie wiederholte Zustellungen anhand von X-Webhook-Event-Id: Ein Wiederholungsversuch wird mit einem neuen t erneut signiert. Zusätzlich können Sie den Endpunkt mit Basic Auth schützen. Verlangen Sie HTTPS und halten Sie die Empfänger-URL aus öffentlichen Logs heraus.

Häufig gestellte Fragen

Kann ich nur bestimmte Webhook-Ereignisse auswählen?

Nein. Ein 7Stamp-Webhook empfängt alle Kartenereignisse des Profils. Filtern Sie in Ihrem Empfänger nach data.event_type; in Make und Zapier kommt das Ereignis unter card_event an, filtern Sie daher nach card_event.event_type.

Wie verbinde ich Webhooks mit Make oder Zapier?

Erstellen Sie den empfangenden Webhook in Make oder einen Catch Hook in Zapier, kopieren Sie den generierten URL, fügen Sie ihn dann in die Webhook-Einstellungen des 7Stamp-Profils ein und senden Sie ein Testereignis.

Wie soll ich ein Ereignis meinem CRM-Kontakt zuordnen?

Verwenden Sie data.external_id und, falls vorhanden, data.external_source: Beide kommen in jedem Webhook für Karten zurück, die Sie über die API mit Ihrer eigenen ID ausgestellt haben. Ein Kunde, der sich die Karte selbst geholt hat, hat keine External ID; ordnen Sie ihn daher über data.user.email zu. Eine „Hide My Email“-Adresse von Apple ist eine Weiterleitungsadresse, nicht die Adresse aus Ihrem CRM.

Wie prüfe ich, ob ein Webhook von 7Stamp stammt?

Zerlegen Sie den Header X-Webhook-Signature in t und s, berechnen Sie mit dem Webhook-Secret aus 7Stamp Admin einen HMAC-SHA256 über t plus den rohen Request-Body, kodieren Sie ihn hexadezimal und vergleichen Sie ihn mit s. Übernehmen Sie t genau so, wie es gesendet wurde, und den Body als die empfangenen Rohbytes, vor jedem JSON-Parsing. Verwerfen Sie eine Zustellung, deren X-Webhook-Event-Id Sie bereits verarbeitet haben: Ein Wiederholungsversuch wird mit einem neuen t erneut signiert.

Nächster Schritt

Bereit, das erste Kartenereignis zu senden?

Erstellen Sie einen Empfänger, fügen Sie dessen HTTPS URL in das Profil ein, führen Sie einen Einwegscan durch und validieren Sie den passenden External ID, bevor Sie die nachgelagerte Automatisierung aktivieren.