Integrering av utvecklare

7Stamp Webhooks

Tillgänglig

Överför varje lojalitetshändelse från 7Stamp till dina egna system i realtid. Ingen omröstning och inga schemalagda API samtal. Händelser anländer som HTTPS POST begär inom några sekunder efter att de hänt.

Använd webhooks för att hålla din CRM, ERP eller anpassade backend i synk med vad som händer på lojalitetssidan: vem som gick med, vem fick en stämpel, vem som löste in en kupong, vem utlöste en födelsedagspresent och vem blev inaktiv. Sedan bestämmer dina system vad de ska göra med den datan.

Vad du kan göra med webhooks

Webhooks är den utgående sidan av integrationsstacken. De speglar kund- och belöningsaktivitet i de system du redan litar på för försäljning, service, analys och meddelanden.

Spegla lojalitetshistoriken i din CRM

Varje stämpel, kupong, födelsedag och inaktivitetsutlösare hamnar på kundposten i din CRM. Du ser hela lojalitetstidslinjen bredvid försäljning, samtal och biljetter utan att logga in på 7Stamp.

Utlösa din egen meddelandestack

När en kund löser in en kupong, skicka ett tack SMS från din befintliga SMS-gateway. När en kund når målet, lägg upp ett firande Slack. När någon blir inaktiv skickar du ärendet till din kontoansvariga.

Kraftanalys och avstämning

Streama händelser till ditt BI verktyg, lager eller avstämningspipeline. Matcha inlösen av kuponger mot POS-kvitton och beräkna lojalitet ROI i dina egna mätvärden.

Korthändelsetyper

SCAN — Ett kort fick en skanning/stamp-åtgärd.
REWARD_EARNED — En belöning tjänades på kortet.
VOUCHER_ISSUED — En kupong utfärdades.
VOUCHER_REDEEMED — En kupong har lösts in.
LOTTERY_WIN ​​— Ett lotteri resulterade i en vinst.
DELIVERY_INSERT — Ett leverans-insatsflöde registrerades.
CARD_JOINED — En kund gick med i ett kort.
CARD_CAMPAIGN — En kortkampanj inträffade.
BIRTHDAY_GREETING — En födelsedagshälsning inträffade.
ADMIN_VOUCHER_ISSUE — En administratör utfärdade en verifikation.
CARD_ADDED_TO_WALLET — En kund lade till kortet i sin plånbok.
CARD_REMOVED_FROM_WALLET — En kund tog bort kortet från sin plånbok.

Bygg en säker webhook-mottagare

Bekräfta efter hållbar hantering

Din slutpunkt bör acceptera HTTPS POST, validera förfrågningsformen, bestå eller köa händelsen och sedan returnera ett lyckat 2xx-svar. Ring inte ett långsamt CRM eller meddelandesamtal före bekräftelsen om det kan köas säkert.

Korrelera med External ID

Varje relaterad händelse kan bära External ID och valfria External Source som du använde när du skapade eller skannade kortet. Använd det här paret för att uppdatera din egen CRM, POS eller beställningspost utan att gissa från ett namn eller e-post.

Make leverans idempotent

Förvara en hållbar bearbetningsnyckel eller händelsefingeravtryck innan du utlöser biverkningar. Om din mottagare ser samma leverans igen bör den inte lägga till en dubblett av CRM-anteckningen, kupongen eller meddelandet. Behandla slutpunkten URL som en hemlighet.

Exempel på händelsenyttolastform

Kopiera detta till ditt automatiseringssteg 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
    }
  }
}

Konfigurera och testa en webhook

01

Skapa en HTTPS-slutpunkt i din backend, CRM integrationslager, ⟦19888 eller ⟦19880 Zapier Catch Hook. Make se till att du kontrollerar destinationen innan du kopierar dess URL.

02

I 7Stamp Admin, öppet Stamp Cards → API & Integrations → Webhooks.

03

Lägg till slutpunktens URL. Webhooken tar emot alla korthändelser i profilen, så filtrera på data.event_type i din mottagare.

04

Spara profilinställningarna och utlös sedan en engångstestskanning eller kortåtgärd för att producera en händelse.

05

Inspektera den mottagna nyttolasten. Matcha External ID och External Source till den förväntade posten och bekräfta att mottagaren returnerar ett framgångsrikt svar.

06

Aktivera CRM, kuponger eller meddelandebiverkningar först efter att du har återuppspelningssäker hantering och övervakning av fel.

Alternativ utan kod: Make och Zapier

I Make, använd Webhooks → Custom webhook för att generera en mottagande URL och klistra in den i profilen 7Stamp. I Zapier, använd Webhooks by Zapier → Catch Hook för samma ändamål. Profilen 7Stamp äger prenumerationen eftersom den nuvarande API inte visar slutpunkter för automatisk webhook-registrering.

Säkerhets- och leveranskontrakt

Använd avsnittet Webhooks i den offentliga OpenAPI-referensen som källa för det aktuella nyttolastschemat. Brödtexten är ett kuvert: profile_id och profile_name anger 7Stamp-profilen, event_id identifierar händelsen och själva korthändelsen ligger i data (för en URL från Make eller Zapier är nyckeln card_event). Varje leverans signeras i en enda header, X-Webhook-Signature: t=…,s=…. Beräkna HMAC-SHA256 med webhookens hemliga nyckel över t plus den råa brödtexten i begäran, hexkoda resultatet och jämför det med s; den hemliga nyckeln finns på webhookens sida i 7Stamp Admin. Använd X-Webhook-Event-Id för att kasta upprepade leveranser: ett nytt försök signeras på nytt med ett nytt t. Du kan också skydda slutpunkten med Basic Auth. Kräv HTTPS och håll mottagarens URL borta från offentliga loggar.

Vanliga frågor

Kan jag bara välja vissa webhook-evenemang?

Nej. En 7Stamp-webhook tar emot alla korthändelser i profilen. Filtrera på data.event_type i din mottagare; i Make och Zapier kommer händelsen under card_event, så filtrera på card_event.event_type.

Hur ansluter jag webhooks till Make eller Zapier?

Skapa den mottagande webhook i Make eller en Catch Hook i Zapier, kopiera den genererade URL, klistra sedan in den i ⟦19899's web⟧-event och skicka inställningarna för ⟦19899 web⟧.

Hur ska jag matcha ett evenemang med min CRM-kontakt?

Använd data.external_id och, när det finns, data.external_source: de skickas med i varje webhook för kort som du har utfärdat via API:et med ditt eget ID. En kund som själv har hämtat kortet har inget External ID, så matcha kunden via data.user.email. En ”Hide My Email”-adress från Apple är en vidarebefordringsadress, inte den som finns i ditt CRM.

Hur kontrollerar jag att en webhook kommer från 7Stamp?

Dela upp headern X-Webhook-Signature i t och s, beräkna HMAC-SHA256 med webhookens hemliga nyckel från 7Stamp Admin över t plus den råa brödtexten i begäran, hexkoda resultatet och jämför det med s. Ta t exakt som det skickades och brödtexten som de råa byte som togs emot, före all JSON-tolkning. Kasta en leverans vars X-Webhook-Event-Id du redan har behandlat: ett nytt försök signeras på nytt med ett nytt t.

Nästa steg

Redo att skicka den första korthändelsen?

Skapa en mottagare, klistra in dess HTTPS URL i profilen, kör en engångsskanning och validera matchningen External ID innan du aktiverar nedströmsautomatisering.