Интеграция за разработчици

7Stamp Webhooks

Налично

Изпратете всяко събитие за лоялност от 7Stamp към вашите собствени системи в реално време. Без гласуване и планирани повиквания API. Събитията пристигат като HTTPS POST заявки в рамките на секунди след като се случат.

Използвайте уеб кукички, за да поддържате своя CRM, ERP или персонализиран бекенд в синхрон с това, което се случва от страна на лоялността: кой се е присъединил, кой е получил печат, кой е осребрил ваучер, кой е задействал подарък за рожден ден и кой е станал неактивен. След това вашите системи решават какво да правят с тези данни.

Какво можете да правите с webhooks

Webhooks са изходящата страна на интеграционния стек. Те отразяват активността на клиента и възнаграждението в системите, на които вече имате доверие за продажби, обслужване, анализи и съобщения.

Отразете историята на лоялността във вашия CRM

Всеки печат, ваучер, рожден ден и тригер за неактивност попада в клиентския запис във вашия CRM. Виждате пълната хронология на лоялността до разпродажби, обаждания и билети, без да влизате в 7Stamp.

Задействайте свой собствен стек за съобщения

Когато клиент осребри ваучер, изпратете благодарствено съобщение SMS от вашия съществуващ шлюз SMS. Когато клиент достигне целта, публикувайте празненство в Slack. Когато някой стане неактивен, насочете случая към вашия акаунт мениджър.

Анализ на мощността и съгласуване

Предавайте събития във вашия инструмент BI, склад или тръбопровод за съгласуване. Съпоставете осребряването на ваучер с POS разписки и изчислете лоялността ROI във вашите собствени показатели.

Типове събития за карти

SCAN — Карта получи сканиране/stamp действие.
REWARD_EARNED — На картата е спечелена награда.
VOUCHER_ISSUED — Издаден е ваучер.
VOUCHER_REDEEMED — Изкупен е ваучер.
LOTTERY_WIN — Лотария доведе до печалба.
DELIVERY_INSERT — Беше записан поток доставка-вмъкване.
CARD_JOINED — Клиент се присъедини към карта.
CARD_CAMPAIGN — Възникна събитие за кампания с карти.
BIRTHDAY_GREETING — Възникна събитие за поздрав за рожден ден.
ADMIN_VOUCHER_ISSUE — Администратор издаде ваучер.
CARD_ADDED_TO_WALLET — Клиент добави картата към портфейла си.
CARD_REMOVED_FROM_WALLET — Клиент извади картата от портфейла си.

Изградете безопасен приемник на webhook

Потвърдете след трайна обработка

Вашата крайна точка трябва да приеме HTTPS POST, потвърдете формата на заявката, запазете или поставете събитието на опашка, след което върнете успешен отговор 2xx. Не правете бавно CRM или повикване за съобщения преди потвърждението, ако то може безопасно да бъде поставено на опашка.

Корелирайте с External ID

Всяко свързано събитие може да носи External ID и незадължително External Source, които сте използвали при създаването или сканирането на картата. Използвайте тази двойка, за да актуализирате свой собствен CRM, POS или запис на поръчка, без да гадаете по име или имейл.

Make доставка idempotent

Съхранявайте траен ключ за обработка или пръстов отпечатък на събитие, преди да задействате странични ефекти. Ако вашият получател отново види същата доставка, той не трябва да добавя дубликат CRM бележка, ваучер или съобщение. Третирайте крайната точка URL като тайна.

Примерна форма на полезно натоварване за събитие

Копирайте това във вашата стъпка за автоматизация 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
    }
  }
}

Конфигуриране и тестване на уебкукичка

01

Създаване на HTTPS крайна точка във вашия бекенд, CRM интеграционен слой, Make уебкукичка или Zapier Catch Hook. Make уверете се, че контролирате дестинацията, преди да копирате нейния URL.

02

В 7Stamp Admin отворете Stamp Cards → API & Integrations → Webhooks.

03

Добавете URL адреса на крайната точка. Уебхукът получава всички събития на картите в профила, затова филтрирайте по data.event_type в своя приемник.

04

Запазете настройките на профила, след което задействайте тестово сканиране за еднократна употреба или действие с карта, за да създадете събитие.

05

Проверете получения полезен товар. Съпоставете External ID и External Source с очаквания запис и потвърдете, че приемникът връща успешен отговор.

06

Активирайте странични ефекти CRM, ваучер или съобщения само след като имате безопасно за повторно възпроизвеждане боравене и наблюдение за неуспехи.

Опции без код: Make и Zapier

В Make използвайте Webhooks → Custom webhook, за да генерирате получаващ URL и го поставете в 7Stamp профил. В Zapier използвайте Webhooks by Zapier → Catch Hook за същата цел. Профилът 7Stamp притежава абонамента, тъй като текущият API не излага автоматичните крайни точки за регистриране на webhook.

Договор за сигурност и доставка

Използвайте раздела Webhooks в публичния справочник OpenAPI като източник за текущата схема на данните. Тялото е плик: profile_id и profile_name посочват профила на 7Stamp, event_id идентифицира събитието, а самото събитие на картата е в data (за URL адрес от Make или Zapier ключът е card_event). Всяка доставка се подписва в една заглавка, X-Webhook-Signature: t=…,s=…. Изчислете HMAC-SHA256 с тайния ключ на уебхука върху t плюс суровото тяло на заявката, кодирайте резултата в hex и го сравнете със s; тайният ключ е на страницата на уебхука в 7Stamp Admin. Използвайте X-Webhook-Event-Id, за да отхвърляте повторни доставки: повторният опит се подписва наново с нов t. Можете също да защитите крайната точка с Basic Auth. Изисквайте HTTPS и не допускайте URL адреса на приемника в публични логове.

Често задавани въпроси

Мога ли да избера само определени уебкукички?

Не. Уебхукът на 7Stamp получава всички събития на картите в профила. Филтрирайте по data.event_type в своя приемник; в Make и Zapier събитието идва в card_event, затова филтрирайте по card_event.event_type.

Как да свържа уебкукички към Make или Zapier?

Създайте получаващата уебкукичка в Make или Catch Hook в Zapier, копирайте генерирания URL, след това го поставете в настройките на уебкукичката на профила 7Stamp и изпратете тестово събитие.

Как да свържа събитие с моя контакт CRM?

Използвайте data.external_id и, когато е налице, data.external_source: те се връщат във всеки уебхук за карти, които сте издали чрез API със собствен ID. Клиент, който сам е взел картата, няма External ID, затова го съпоставяйте по data.user.email. Адрес от Apple „Hide My Email“ е адрес за препращане, а не този във вашата CRM.

Как да проверя, че уебхукът е изпратен от 7Stamp?

Разделете заглавката X-Webhook-Signature на t и s, изчислете HMAC-SHA256 с тайния ключ на уебхука от 7Stamp Admin върху t плюс суровото тяло на заявката, кодирайте резултата в hex и го сравнете със s. Вземете t точно както е изпратен, а тялото — като получените сурови байтове, преди всякакво парсване на JSON. Отхвърлете доставка, чийто X-Webhook-Event-Id вече сте обработили: повторният опит се подписва наново с нов t.

Следваща стъпка

Готови ли сте да изпратите първото събитие с карта?

Създайте приемник, поставете неговия HTTPS URL в профила, стартирайте сканиране за еднократна употреба и потвърдете съвпадението External ID, преди да активирате автоматизацията надолу по веригата.