Integracja programistów

7Stamp Webhooki

Dostępny

Przekaż każde zdarzenie lojalnościowe z 7Stamp do swoich własnych systemów w czasie rzeczywistym. Brak odpytywania i brak zaplanowanych połączeń API. Zdarzenia pojawiają się jako żądania HTTPS POST w ciągu kilku sekund od zdarzenia.

Użyj webhooków, aby synchronizować swój CRM, ERP lub niestandardowy backend z tym, co dzieje się po stronie lojalnościowej: kto dołączył, kto otrzymał pieczątkę, kto zrealizował kupon, kto uruchomił prezent urodzinowy i kto stał się nieaktywny. Następnie Twoje systemy decydują, co zrobić z tymi danymi.

Co można zrobić z webhookami

Webhooki to wychodząca strona stosu integracji. Odzwierciedlają one aktywność klientów i nagród w systemach, którym już ufasz w zakresie sprzedaży, obsługi, analiz i przesyłania wiadomości.

Odbij historię lojalnościową na swoim CRM

Każdy znaczek, kupon, urodziny i brak aktywności trafiają do rekordu klienta w Twoim CRM. Pełny harmonogram lojalności widzisz obok sprzedaży, połączeń i biletów bez konieczności logowania się do 7Stamp.

Uruchom własny stos wiadomości

Kiedy klient zrealizuje kupon, wyślij podziękowanie SMS z istniejącej bramy SMS. Kiedy klient osiągnie cel, opublikuj wiadomość w Slack. Gdy ktoś stanie się nieaktywny, skieruj sprawę do menedżera konta.

Analiza mocy i uzgadnianie

Przesyłaj strumieniowo zdarzenia do swojego BI narzędzia, magazynu lub potoku uzgadniania. Dopasuj wykorzystanie kuponów do POS wpływów i oblicz lojalność ROI według własnych wskaźników.

Typy zdarzeń karty

SCAN — Karta otrzymała akcję skanowania/stamp.
REWARD_EARNED — Na karcie została zdobyta nagroda.
VOUCHER_ISSUED — Wystawiono kupon.
VOUCHER_REDEEMED — Kupon został zrealizowany.
LOTTERY_WIN — Loteria zakończyła się wygraną.
DELIVERY_INSERT — Zarejestrowano przepływ dostawa-wkładka.
CARD_JOINED — Klient dołączył do karty.
CARD_CAMPAIGN — Wystąpiło wydarzenie w kampanii kart.
BIRTHDAY_GREETING — Wystąpiło wydarzenie z życzeniami urodzinowymi.
ADMIN_VOUCHER_ISSUE — Administrator wystawił kupon.
CARD_ADDED_TO_WALLET — Klient dodał kartę do swojego portfela.
CARD_REMOVED_FROM_WALLET — Klient wyjął kartę ze swojego portfela.

Zbuduj bezpieczny odbiornik webhooka

Potwierdź po trwałej obsłudze

Twój punkt końcowy powinien zaakceptować HTTPS POST, zatwierdź kształt żądania, utrwal lub umieść zdarzenie w kolejce, a następnie zwróć pomyślną odpowiedź 2xx. Nie wykonuj powolnego połączenia CRM ani wiadomości tekstowych przed potwierdzeniem, jeśli można je bezpiecznie ustawić w kolejce.

Koreluje z External ID

Każde powiązane zdarzenie może zawierać External ID i opcjonalne External Source, których użyłeś podczas tworzenia lub skanowania karty. Użyj tej pary, aby zaktualizować swój własny rekord CRM, POS lub zamówienia bez zgadywania na podstawie nazwiska lub adresu e-mail.

Make idempotent dostarczania

Przechowuj trwały klucz przetwarzania lub odcisk palca zdarzenia przed wywołaniem efektów ubocznych. Jeśli odbiorca ponownie zobaczy tę samą dostawę, nie powinien dodawać duplikatu CRM notatki, kuponu ani wiadomości. Traktuj punkt końcowy URL jako sekret.

Przykładowy kształt ładunku zdarzenia

Skopiuj to do swojego kroku automatyzacji 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
    }
  }
}

Skonfiguruj i przetestuj webhook

01

Utwórz HTTPS punkt końcowy w swoim backendzie, CRM warstwę integracji, Make webhook lub Zapier Catch Hook. Make upewnij się, że kontrolujesz miejsce docelowe przed skopiowaniem jego URL.

02

W 7Stamp Admin otwórz Stamp Cards → API & Integrations → Webhooks.

03

Dodaj adres URL endpointu. Webhook otrzymuje każde zdarzenie karty w profilu, więc filtruj po data.event_type w swoim odbiorniku.

04

Zapisz ustawienia profilu, a następnie uruchom jednorazowy skan testowy lub akcję karty, aby wygenerować zdarzenie.

05

Sprawdź otrzymany ładunek. Dopasuj External ID i External Source do oczekiwanego rekordu i potwierdź, że odbiorca zwrócił pomyślną odpowiedź.

06

Włącz efekty uboczne CRM, kuponu lub wiadomości dopiero po zapewnieniu bezpiecznej obsługi i monitorowania błędów.

Opcje bez kodu: Make i Zapier

W Make użyj Webhooks → Custom webhook, aby wygenerować odbiorczy URL i wklej go do profilu 7Stamp. W Zapier użyj Webhooks by Zapier → Catch Hook w tym samym celu. Profil 7Stamp jest właścicielem subskrypcji, ponieważ bieżący API nie udostępnia punktów końcowych automatycznej rejestracji elementu webhook.

Umowa o zabezpieczeniu i dostawie

Jako źródło aktualnego schematu payloadu traktuj sekcję Webhooks w publicznej dokumentacji OpenAPI. Treść żądania to koperta: profile_id i profile_name wskazują profil 7Stamp, event_id identyfikuje zdarzenie, a samo zdarzenie karty znajduje się w data (dla adresu URL z Make lub Zapier klucz to card_event). Każde doręczenie jest podpisane w jednym nagłówku, X-Webhook-Signature: t=…,s=…. Oblicz HMAC-SHA256 sekretem webhooka z t połączonego z surową treścią żądania, zakoduj wynik szesnastkowo i porównaj go z s; sekret znajdziesz na stronie webhooka w 7Stamp Admin. Używaj X-Webhook-Event-Id, aby odrzucać powtórzone doręczenia: ponowna próba jest podpisywana od nowa z nowym t. Endpoint możesz też zabezpieczyć za pomocą Basic Auth. Wymagaj HTTPS i nie umieszczaj adresu URL odbiornika w publicznych logach.

Często zadawane pytania

Czy mogę wybrać tylko określone zdarzenia webhooka?

Nie. Webhook 7Stamp otrzymuje każde zdarzenie karty w profilu. Filtruj po data.event_type w swoim odbiorniku; w Make i Zapier zdarzenie przychodzi w card_event, więc filtruj po card_event.event_type.

Jak podłączyć webhooki do Make lub Zapier?

Utwórz odbiorczy webhook w Make lub Catch Hook w Zapier, skopiuj wygenerowany URL, następnie wklej go do ustawień webhooka profilu 7Stamp i wyślij zdarzenie testowe.

Jak mam dopasować wydarzenie do mojego kontaktu CRM?

Używaj data.external_id oraz, jeśli jest obecne, data.external_source: wracają w każdym webhooku dla kart wydanych przez API z własnym ID. Klient, który sam pobrał kartę, nie ma External ID, więc dopasuj go po data.user.email. Adres Apple „Hide My Email” to adres przekierowujący, a nie ten, który masz w CRM.

Jak sprawdzić, czy webhook pochodzi z 7Stamp?

Rozdziel nagłówek X-Webhook-Signature na t i s, oblicz HMAC-SHA256 sekretem webhooka z 7Stamp Admin z t połączonego z surową treścią żądania, zakoduj wynik szesnastkowo i porównaj go z s. Weź t dokładnie w takiej postaci, w jakiej zostało wysłane, a treść jako surowe odebrane bajty, przed jakimkolwiek parsowaniem JSON. Odrzucaj doręczenie z X-Webhook-Event-Id, który został już przetworzony: ponowna próba jest podpisywana od nowa z nowym t.

Następny krok

Gotowy do wysłania pierwszego zdarzenia karty?

Utwórz odbiornik, wklej jego HTTPS URL do profilu, uruchom jednorazowe skanowanie i zatwierdź dopasowanie External ID przed włączeniem dalszej automatyzacji.