Utviklerintegrasjon

7Stamp Webhooks

Tilgjengelig

Send alle lojalitetsbegivenheter fra 7Stamp til dine egne systemer i sanntid. Ingen avstemning og ingen planlagte API-anrop. Hendelser kommer som HTTPS POST forespørsler innen sekunder etter at de har skjedd.

Bruk webhooks for å holde CRM, ERP eller egendefinerte backend synkronisert med det som skjer på lojalitetssiden: hvem som ble med, hvem som fikk et stempel, hvem som løste inn en kupong, hvem som utløste en bursdagsgave og hvem som ble inaktiv. Deretter bestemmer systemene dine hva de skal gjøre med disse dataene.

Hva du kan gjøre med webhooks

Webhooks er den utgående siden av integrasjonsstakken. De speiler kunde- og belønningsaktivitet inn i systemene du allerede stoler på for salg, service, analyser og meldinger.

Speil lojalitetshistorikk inn i CRM

Hvert stempel, kupong, bursdag og inaktivitetsutløser lander på kundeposten i CRM. Du ser hele lojalitetstidslinjen ved siden av salg, anrop og billetter uten å logge på 7Stamp.

Utløs din egen meldingsstabel

Når en kunde løser inn en kupong, send en takk SMS fra din eksisterende SMS-gateway. Når en kunde når målet, legg inn en feiring i Slack. Når noen blir inaktive, sender du saken til din kontoadministrator.

Strømanalyse og avstemming

Strøm hendelser inn i BI-verktøyet, lageret eller avstemmingspipelinen. Match kuponginnløsninger mot POS-kvitteringer og beregn lojalitet ROI i dine egne beregninger.

Korthendelsestyper

SCAN — Et kort mottok en skanning/stamp-handling.
REWARD_EARNED — En belønning ble opptjent på kortet.
VOUCHER_ISSUED — En kupong ble utstedt.
VOUCHER_REDEEMED — En kupong ble innløst.
LOTTERY_WIN — Et lotteri resulterte i en gevinst.
DELIVERY_INSERT — En levering-innsatsflyt ble registrert.
CARD_JOINED — En kunde ble med på et kort.
CARD_CAMPAIGN — En kortkampanjehendelse skjedde.
BIRTHDAY_GREETING — En bursdagshilsen skjedde.
ADMIN_VOUCHER_ISSUE — En administrator utstedte en kupong.
CARD_ADDED_TO_WALLET — En kunde la til kortet i lommeboken sin.
CARD_REMOVED_FROM_WALLET — En kunde fjernet kortet fra lommeboken.

Bygg en sikker webhook-mottaker

Bekreft etter varig håndtering

Endepunktet ditt bør godta HTTPS POST, validere forespørselsformen, vedvare eller sette hendelsen i kø, og deretter returnere et vellykket 2xx-svar. Ikke foreta en sakte CRM eller meldingsanrop før bekreftelsen hvis den kan settes i kø på en sikker måte.

Korreler med External ID

Hver relatert hendelse kan ha External ID og valgfri External Source som du brukte da du opprettet eller skannet kortet. Bruk dette paret til å oppdatere din egen CRM, POS, eller bestille post uten å gjette fra navn eller e-post.

Make levering idempotent

Oppbevar en holdbar prosesseringsnøkkel eller hendelsesfingeravtrykk før du utløser bivirkninger. Hvis mottakeren ser den samme leveringen igjen, skal den ikke legge til en duplikat CRM-notat, kupong eller melding. Behandle endepunktet URL som en hemmelighet.

Eksempel på hendelsesnyttelastform

Kopier dette inn i automatiseringstrinnet 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
    }
  }
}

Konfigurer og test en webhook

01

Opprett et HTTPS endepunkt i din backend, CRM integrasjonslag, ⟦23700 eller ⟦23703 Zapier Catch Hook. Make sørg for at du kontrollerer destinasjonen før du kopierer dens URL.

02

I 7Stamp Admin, åpne Stamp Cards → API & Integrations → Webhooks.

03

Legg til endepunktets URL. Webhooken mottar alle korthendelser i profilen, så filtrer på data.event_type i mottakeren din.

04

Lagre profilinnstillingene, og utløs deretter en engangstestskanning eller korthandling for å produsere en hendelse.

05

Inspiser den mottatte nyttelasten. Match External ID og External Source til den forventede posten og bekreft at mottakeren returnerer et vellykket svar.

06

Aktiver CRM, kuponger eller meldingsbivirkninger bare etter at du har replay-sikker håndtering og overvåking for feil.

Alternativer uten kode: Make og Zapier

I Make, bruk Webhooks → Custom webhook for å generere en mottaker URL og lim den inn i 7Stamp-profilen. I Zapier, bruk Webhooks by Zapier → Catch Hook til samme formål. 7Stamp-profilen eier abonnementet fordi gjeldende API ikke viser endepunkter for automatisk webhook-registrering.

Sikkerhets- og leveringskontrakt

Bruk Webhooks-delen av den offentlige OpenAPI-referansen som kilde for gjeldende nyttelastskjema. Brødteksten er en konvolutt: profile_id og profile_name angir 7Stamp-profilen, event_id identifiserer hendelsen, og selve korthendelsen ligger i data (for en URL fra Make eller Zapier er nøkkelen card_event). Hver levering signeres i én header, X-Webhook-Signature: t=…,s=…. Beregn HMAC-SHA256 med webhookens hemmelige nøkkel over t pluss den rå forespørselsbrødteksten, hex-kod resultatet og sammenlign det med s; den hemmelige nøkkelen finnes på webhookens side i 7Stamp Admin. Bruk X-Webhook-Event-Id til å forkaste gjentatte leveranser: et nytt forsøk signeres på nytt med en ny t. Du kan også beskytte endepunktet med Basic Auth. Krev HTTPS og hold mottakerens URL unna offentlige logger.

Vanlige spørsmål

Kan jeg velge bare visse webhook-hendelser?

Nei. En 7Stamp-webhook mottar alle korthendelser i profilen. Filtrer på data.event_type i mottakeren din; i Make og Zapier kommer hendelsen under card_event, så filtrer på card_event.event_type.

Hvordan kobler jeg webhooks til Make eller Zapier?

Opprett den mottakende webhook i Make eller en Catch Hook i Zapier, kopier den genererte URL, lim den inn i Make og send en test-innstilling for ⟦23723 på nett⟧.

Hvordan skal jeg matche et arrangement med min CRM-kontakt?

Bruk data.external_id og, når den finnes, data.external_source: de kommer med i hver webhook for kort du har utstedt via API-et med din egen ID. En kunde som har hentet kortet selv, har ingen External ID, så match kunden med data.user.email. En «Hide My Email»-adresse fra Apple er en videresendingsadresse, ikke den som ligger i CRM-et ditt.

Hvordan kontrollerer jeg at en webhook kommer fra 7Stamp?

Del headeren X-Webhook-Signature i t og s, beregn HMAC-SHA256 med webhookens hemmelige nøkkel fra 7Stamp Admin over t pluss den rå forespørselsbrødteksten, hex-kod resultatet og sammenlign det med s. Bruk t nøyaktig slik den ble sendt, og brødteksten som de rå bytene som ble mottatt, før all JSON-parsing. Forkast en levering med en X-Webhook-Event-Id du allerede har behandlet: et nytt forsøk signeres på nytt med en ny t.

Neste trinn

Klar til å sende den første kortbegivenheten?

Opprett en mottaker, lim inn HTTPS URL i profilen, kjør en engangsskanning og valider samsvarende External ID før du aktiverer nedstrømsautomatisering.