Integrarea dezvoltatorilor

7Stamp Webhooks

Disponibil

Impinge fiecare eveniment de loialitate de la 7Stamp către propriile sisteme în timp real. Fără sondaj și fără apeluri programate API. Evenimentele ajung ca solicitări HTTPS POST în câteva secunde de la producere.

Folosiți webhook-uri pentru a vă menține CRM, ERP sau backend-ul personalizat sincronizat cu ceea ce se întâmplă pe partea de loialitate: cine s-a alăturat, cine a primit o ștampilă, cine a răscumpărat un voucher, cine a declanșat un cadou de ziua de naștere și cine a devenit inactiv. Apoi sistemele dumneavoastră decid ce să facă cu acele date.

Ce puteți face cu webhook-urile

Webhook-urile sunt partea de ieșire a stivei de integrare. Ele reflectă activitatea clienților și recompensează în sistemele în care aveți deja încredere pentru vânzări, servicii, analize și mesagerie.

Oglindiți istoricul de loialitate în CRM

Fiecare ștampilă, voucher, zi de naștere și declanșator de inactivitate aterizează în evidența clientului din CRM. Veți vedea cronologia completă a fidelității lângă vânzări, apeluri și bilete fără să vă conectați la 7Stamp.

Declanșați-vă propria stivă de mesagerie

Când un client valorifică un voucher, trimiteți un mesaj de mulțumire SMS de la gateway-ul dvs. existent SMS. Când un client atinge obiectivul, postați o sărbătoare în Slack. Când cineva devine inactiv, trimiteți cazul către managerul de cont.

Analiza puterii și reconciliere

Transmiteți evenimente în fluxul dvs. de instrumente BI, depozit sau conductă de reconciliere. Potriviți răscumpărările de voucher cu chitanțele POS și calculați loialitatea ROI în propriile valori.

Tipuri de evenimente card

SCAN — Un card a primit o acțiune de scanare/stamp.
REWARD_EARNED — O recompensă a fost câștigată pe card.
VOUCHER_ISSUED — A fost emis un voucher.
VOUCHER_REDEEMED — A fost valorificat un voucher.
LOTTERY_WIN — O loterie a dus la un câștig.
DELIVERY_INSERT — A fost înregistrat un flux de livrare-inserție.
CARD_JOINED — Un client s-a alăturat unui card.
CARD_CAMPAIGN — A avut loc un eveniment de campanie de carduri.
BIRTHDAY_GREETING — A avut loc un eveniment de felicitare pentru ziua de naștere.
ADMIN_VOUCHER_ISSUE — Un administrator a emis un voucher.
CARD_ADDED_TO_WALLET — Un client a adăugat cardul în portofel.
CARD_REMOVED_FROM_WALLET — Un client a scos cardul din portofel.

Construiți un receptor webhook sigur

Confirmați după o manipulare durabilă

Your endpoint should accept HTTPS POST, validate the request shape, persist or queue the event, then return a successful 2xx response. Do not make a slow CRM or messaging call before the acknowledgement if it can be queued safely.

Corelați cu External ID

Fiecare eveniment asociat poate conține External ID și External Source opțional pe care le-ați folosit la crearea sau scanarea cardului. Folosiți această pereche pentru a vă actualiza propria înregistrare CRM, POS sau pentru a comanda fără a ghici dintr-un nume sau e-mail.

Make livrare idempotent

Stocați o cheie de procesare durabilă sau o amprentă digitală pentru eveniment înainte de a declanșa efecte secundare. Dacă destinatarul vede din nou aceeași livrare, nu ar trebui să adauge o notă, un voucher sau un mesaj duplicat CRM. Tratați punctul final URL ca pe un secret.

Exemplu de formă de sarcină utilă a evenimentului

Copiați acest lucru în pasul dvs. de automatizare 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
    }
  }
}

Configurați și testați un webhook

01

Create an HTTPS endpoint in your backend, CRM integration layer, Make webhook, or Zapier Catch Hook. Make sure you control the destination before copying its URL.

02

În 7Stamp Admin, deschideți Stamp Cards → API & Integrations → Webhooks.

03

Adăugați URL-ul punctului final. Webhookul primește toate evenimentele de card ale profilului, așa că filtrați după data.event_type în receptorul dvs.

04

Salvați setările profilului, apoi declanșați o scanare de testare de unică folosință sau o acțiune de card pentru a produce un eveniment.

05

Inspectați sarcina utilă primită. Potriviți External ID și External Source cu înregistrarea așteptată și confirmați că receptorul returnează un răspuns de succes.

06

Activați CRM, voucherul sau efectele secundare ale mesajelor numai după ce aveți o manipulare și monitorizare sigură pentru reluare pentru erori.

Opțiuni fără cod: Make și Zapier

In Make, use Webhooks → Custom webhook to generate a receiving URL and paste it into the 7Stamp profile. In Zapier, use Webhooks by Zapier → Catch Hook for the same purpose. The 7Stamp profile owns the subscription because the current API does not expose automatic webhook registration endpoints.

Contract de securitate și livrare

Folosiți secțiunea Webhooks din referința publică OpenAPI ca sursă pentru schema actuală a încărcăturii utile. Corpul este un plic: profile_id și profile_name denumesc profilul 7Stamp, event_id identifică evenimentul, iar evenimentul de card propriu-zis se află în data (pentru un URL Make sau Zapier, cheia este card_event). Fiecare livrare este semnată într-un singur antet, X-Webhook-Signature: t=…,s=…. Calculați HMAC-SHA256 cu secretul webhookului dvs. peste t plus corpul brut al cererii, codificați-l în hex și comparați-l cu s; secretul se află pe pagina webhookului din 7Stamp Admin. Folosiți X-Webhook-Event-Id pentru a elimina livrările repetate: o reîncercare este semnată din nou cu un t nou. Puteți proteja suplimentar punctul final cu Basic Auth. Impuneți HTTPS și nu lăsați URL-ul receptorului să apară în jurnale publice.

Întrebări frecvente

Pot selecta doar anumite evenimente webhook?

Nu. Un webhook 7Stamp primește toate evenimentele de card ale profilului. Filtrați după data.event_type în receptorul dvs.; în Make și Zapier evenimentul vine sub card_event, așa că filtrați după card_event.event_type.

Cum conectez webhook-urile la Make sau Zapier?

Creați webhook-ul de primire în Make sau un Catch Hook în Zapier, copiați URL generat, apoi inserați-l în setările webhook-ului profilului 7Stamp și trimiteți un eveniment de testare.

Cum ar trebui să potrivesc un eveniment cu persoana mea de contact CRM?

Folosiți data.external_id și, dacă este prezent, data.external_source: acestea revin în fiecare webhook pentru cardurile pe care le-ați emis prin API cu propriul ID. Un client care a luat singur cardul nu are External ID, așa că potriviți-l după data.user.email. O adresă Apple „Hide My Email” este o adresă de redirecționare, nu cea din CRM-ul dvs.

Cum verific că un webhook provine de la 7Stamp?

Împărțiți antetul X-Webhook-Signature în t și s, calculați HMAC-SHA256 cu secretul webhookului din 7Stamp Admin peste t plus corpul brut al cererii, codificați-l în hex și comparați-l cu s. Luați t exact așa cum a fost trimis, iar corpul ca octeții bruți primiți, înainte de orice parsare JSON. Eliminați o livrare al cărei X-Webhook-Event-Id l-ați procesat deja: o reîncercare este semnată din nou cu un t nou.

Următorul pas

Sunteți gata să trimiteți primul eveniment de card?

Creați un receptor, inserați-i HTTPS URL în profil, executați o scanare de unică folosință și validați External ID potrivit înainte de a activa automatizarea în aval.