Pagsasama ng developer

7Stamp Mga Webhook

Available

Itulak ang bawat kaganapan ng katapatan mula 7Stamp papunta sa sarili mong mga system sa real time. Walang botohan at walang naka-iskedyul na API na tawag. Dumating ang mga kaganapan bilang HTTPS POST mga kahilingan sa loob ng ilang segundo pagkatapos mangyari.

Gumamit ng mga webhook upang panatilihing naka-sync ang iyong CRM, ERP, o custom na backend sa kung ano ang nangyayari sa panig ng katapatan: sino ang sumali, sino ang nakakuha ng selyo, sino ang nag-redeem ng isang voucher, sino ang nag-trigger ng regalo sa kaarawan, at sino ang naging hindi aktibo. Pagkatapos ay magpapasya ang iyong mga system kung ano ang gagawin sa data na iyon.

Ano ang maaari mong gawin sa mga webhook

Ang mga webhook ay ang papalabas na bahagi ng integration stack. Sinasalamin nila ang aktibidad ng customer at reward sa mga system na pinagkakatiwalaan mo na para sa mga benta, serbisyo, analytics, at pagmemensahe.

I-mirror ang kasaysayan ng katapatan sa iyong CRM

Bawat stamp, voucher, birthday, at inactivity trigger ay dumarating sa rekord ng customer sa iyong CRM. Makikita mo ang buong timeline ng katapatan sa tabi ng mga benta, tawag, at ticket nang hindi nagla-log in sa 7Stamp.

I-trigger ang iyong sariling messaging stack

Kapag nag-redeem ng voucher ang isang customer, magpadala ng thank-you SMS mula sa iyong kasalukuyang SMS gateway. Kapag naabot ng customer ang layunin, mag-post ng pagdiriwang sa Slack. Kapag naging hindi aktibo ang isang tao, iruta ang kaso sa iyong account manager.

Power analytics at pagkakasundo

I-stream ang mga kaganapan sa iyong BI tool, warehouse, o pipeline ng reconciliation. Itugma ang mga pagkuha ng voucher laban sa POS na mga resibo at kalkulahin ang katapatan ROI sa iyong sariling mga sukatan.

Mga uri ng kaganapan sa card

SCAN — Isang card ang nakatanggap ng scan/stamp aksyon.
REWARD_EARNED — Isang reward ang nakuha sa card.
VOUCHER_ISSUED — Isang voucher ang ibinigay.
VOUCHER_REDEEMED — Isang voucher ang na-redeem.
LOTTERY_WIN — Isang lottery ang nagresulta sa isang panalo.
DELIVERY_INSERT — Isang delivery-insert flow ang naitala.
CARD_JOINED — Isang customer ang sumali sa isang card.
CARD_CAMPAIGN — Isang kaganapan sa card campaign ang naganap.
BIRTHDAY_GREETING — Isang kaganapan sa pagbati sa kaarawan ang naganap.
ADMIN_VOUCHER_ISSUE — Nagbigay ng voucher ang isang administrator.
CARD_ADDED_TO_WALLET — Idinagdag ng isang customer ang card sa kanilang wallet.
CARD_REMOVED_FROM_WALLET — Inalis ng isang customer ang card sa kanilang wallet.

Bumuo ng isang ligtas na webhook receiver

Kilalanin pagkatapos ng matibay na paghawak

Dapat tanggapin ng iyong endpoint ang HTTPS POST, patunayan ang hugis ng kahilingan, ipagpatuloy o i-queue ang kaganapan, pagkatapos ay magbalik ng matagumpay na 2xx na tugon. Huwag gumawa ng mabagal na CRM o tawag sa pagmemensahe bago ang pag-acknowledgement kung maaari itong ma-queue nang ligtas.

Iugnay sa External ID

Ang bawat nauugnay na kaganapan ay maaaring magdala ng External ID at opsyonal na External Source na ginamit mo sa paggawa o pag-scan ng card. Gamitin ang pares na ito para i-update ang sarili mong CRM, POS, o record ng order nang hindi hinuhulaan ang pangalan o email.

Make idempotent ng paghahatid

Mag-imbak ng matibay na processing key o event fingerprint bago mag-trigger ng mga side effect. Kung nakita muli ng iyong receiver ang parehong paghahatid, hindi ito dapat magdagdag ng duplicate na CRM note, voucher, o mensahe. Tratuhin ang endpoint URL bilang sikreto.

Halimbawang hugis ng payload ng kaganapan

Kopyahin ito sa iyong hakbang sa automation 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
    }
  }
}

I-configure at subukan ang isang webhook

01

Gumawa ng HTTPS endpoint sa iyong backend, CRM integration layer, Make webhook, o Zapier Catch Hook. Make siguraduhing kontrolin mo ang patutunguhan bago kopyahin ang URL nito.

02

Sa 7Stamp Admin, buksan ang Stamp Cards → API & Integrations → Webhooks.

03

Idagdag ang endpoint URL. Natatanggap ng webhook ang bawat kaganapan ng card ng profile, kaya mag-filter ayon sa data.event_type sa iyong receiver.

04

I-save ang mga setting ng profile, pagkatapos ay mag-trigger ng disposable test scan o card action para makagawa ng event.

05

Suriin ang natanggap na kargamento. Itugma ang External ID at External Source sa inaasahang tala at kumpirmahin na ang receiver ay nagbabalik ng matagumpay na tugon.

06

I-enable lang ang CRM, voucher, o messaging side effect pagkatapos mong magkaroon ng replay-safe na paghawak at pagsubaybay para sa mga pagkabigo.

Mga opsyon na walang code: Make at Zapier

Sa Make, gamitin ang Webhooks → Custom webhook para bumuo ng receiving URL at i-paste ito sa 7Stamp profile. Sa Zapier, gamitin ang Webhooks by Zapier → Catch Hook para sa parehong layunin. Ang 7Stamp profile ay nagmamay-ari ng subscription dahil ang kasalukuyang API ay hindi naglalantad ng mga awtomatikong webhook registration endpoints.

Kontrata ng seguridad at paghahatid

Gamitin ang seksyong Webhooks ng pampublikong OpenAPI reference bilang pinagmulan ng kasalukuyang payload schema. Ang body ay isang envelope: tinutukoy ng profile_id at profile_name ang profile ng 7Stamp, kinikilala ng event_id ang kaganapan, at ang mismong kaganapan ng card ay nasa data (para sa URL ng Make o Zapier, ang key ay card_event). Pinipirmahan ang bawat paghahatid sa iisang header, X-Webhook-Signature: t=…,s=…. Kalkulahin ang HMAC-SHA256 gamit ang iyong webhook secret sa pinagsamang t at raw na body ng request, i-encode ito bilang hex at ihambing sa s; nasa pahina ng webhook sa 7Stamp Admin ang secret. Gamitin ang X-Webhook-Event-Id para itapon ang mga paulit-ulit na paghahatid: muling pinipirmahan ang retry gamit ang bagong t. Maaari mo ring protektahan ang endpoint gamit ang Basic Auth. Gawing kinakailangan ang HTTPS at huwag hayaang lumabas ang receiver URL sa mga pampublikong log.

Mga madalas itanong

Maaari ba akong pumili lamang ng ilang mga kaganapan sa webhook?

Hindi. Natatanggap ng isang 7Stamp webhook ang bawat kaganapan ng card ng profile. Mag-filter ayon sa data.event_type sa iyong receiver; sa Make at Zapier, nasa ilalim ng card_event ang kaganapan, kaya mag-filter ayon sa card_event.event_type.

Paano ko ikokonekta ang mga webhook sa Make o Zapier?

Gawin ang receiving webhook sa Make o isang Catch Hook sa Zapier, kopyahin ang nabuong URL, pagkatapos ay i-paste ito sa 7Stamp na mga setting ng webhook ng profile at magpadala ng test event.

Paano ko dapat itugma ang isang kaganapan sa aking CRM contact?

Gamitin ang data.external_id at, kapag mayroon, ang data.external_source: bumabalik ang mga ito sa bawat webhook para sa mga card na inisyu mo sa pamamagitan ng API gamit ang sarili mong ID. Walang External ID ang customer na kumuha mismo ng card, kaya itugma sila ayon sa data.user.email. Ang address na “Hide My Email” ng Apple ay isang relay address, hindi ang address na nasa iyong CRM.

Paano ko matitiyak na galing sa 7Stamp ang isang webhook?

Hatiin ang header na X-Webhook-Signature sa t at s, kalkulahin ang HMAC-SHA256 gamit ang webhook secret mula sa 7Stamp Admin sa pinagsamang t at raw na body ng request, i-encode ito bilang hex at ihambing sa s. Kunin ang t nang eksakto kung paano ito ipinadala at ang body bilang raw na bytes na natanggap, bago ang anumang pag-parse ng JSON. Itapon ang paghahatid na ang X-Webhook-Event-Id ay naproseso mo na: muling pinipirmahan ang retry gamit ang bagong t.

Susunod na hakbang

Handa nang ipadala ang unang card event?

Gumawa ng receiver, i-paste ang HTTPS URL nito sa profile, magpatakbo ng disposable scan, at i-validate ang pagtutugma ng External ID bago i-enable ang downstream automation.