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.
Integrering av utvecklare
Ö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.
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.
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.
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.
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.
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.
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.
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.
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
}
}
} 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.
I 7Stamp Admin, öppet Stamp Cards → API & Integrations → Webhooks.
Lägg till slutpunktens URL. Webhooken tar emot alla korthändelser i profilen, så filtrera på data.event_type i din mottagare.
Spara profilinställningarna och utlös sedan en engångstestskanning eller kortåtgärd för att producera en händelse.
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.
Aktivera CRM, kuponger eller meddelandebiverkningar först efter att du har återuppspelningssäker hantering och övervakning av fel.
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.
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.
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.
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⟧.
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.
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.
Relaterade sidor
Nästa steg
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.