تكامل المطورين

7Stamp خطافات الويب

متاح

ادفع كل حدث ولاء من 7Stamp إلى أنظمتك الخاصة في الوقت الفعلي. لا يوجد اقتراع ولا توجد مكالمات مجدولة API. تصل الأحداث كطلبات HTTPS POST خلال ثوانٍ من حدوثها.

استخدم خطافات الويب للاحتفاظ بـ CRM أو ERP أو الواجهة الخلفية المخصصة متزامنة مع ما يحدث في جانب الولاء: من انضم، ومن حصل على ختم، ومن قام باسترداد قسيمة، ومن قام بتنشيط هدية عيد ميلاد، ومن أصبح غير نشط. ثم تقرر أنظمتك ما يجب فعله بهذه البيانات.

ما يمكنك فعله باستخدام خطافات الويب

خطافات الويب هي الجانب الخارجي من حزمة التكامل. إنها تعكس نشاط العملاء والمكافآت في الأنظمة التي تثق بها بالفعل فيما يتعلق بالمبيعات والخدمة والتحليلات والمراسلة.

اعكس سجل الولاء في 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 — قام أحد العملاء بإزالة البطاقة من محفظته.

أنشئ جهاز استقبال آمن للخطاف على الويب

الإقرار بعد التعامل المتين

يجب أن تقبل نقطة النهاية الخاصة بك HTTPS POST، تحقق من صحة شكل الطلب، واستمر في الحدث أو ضعه في قائمة الانتظار، ثم قم بإرجاع استجابة 2xx ناجحة. لا تقم بإجراء مكالمة بطيئة CRM أو مراسلة قبل الإقرار إذا كان من الممكن وضعها في قائمة الانتظار بأمان.

ارتبط بـ External ID

كل حدث ذي صلة يمكن أن يحمل External ID والاختياري External Source الذي استخدمته عند إنشاء البطاقة أو مسحها ضوئيًا. استخدم هذا الزوج لتحديث سجل CRM أو POS أو الطلب دون التخمين من الاسم أو البريد الإلكتروني.

Make التسليم غير فعال

قم بتخزين مفتاح معالجة متين أو بصمة الحدث قبل التسبب في آثار جانبية. إذا رأى المستلم نفس التسليم مرة أخرى، فلا ينبغي له إضافة ملاحظة أو قسيمة أو رسالة مكررة 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 الحالي لا يكشف عن نقاط نهاية تسجيل خطاف الويب التلقائي.

عقد الأمان والتسليم

استخدم قسم 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 الخاص بجهة الاستقبال خارج السجلات العامة.

الأسئلة المتداولة

هل يمكنني تحديد أحداث webhook معينة فقط؟

لا. يستقبل خطاف الويب في 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 بمعرّفك الخاص. أما العميل الذي حصل على البطاقة بنفسه فليس لديه 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 قبل تمكين أتمتة المصب.