التسويق على Shopifyتكامل وتساب API

ربط Shopify مع Whats360 عبر HookURL وWebhooks: دليل استقبال الطلبات وإرسال إشعارات واتساب تلقائيًا

كيفية ربط متجر Shopify مع Whats360 باستخدام HookURL واستقبال Webhook وإرسال إشعارات الطلبات عبر واتساب

ربط Shopify مع Whats360 عبر Webhook: الدليل الكامل من إنشاء HookURL حتى إرسال إشعار الطلب على WhatsApp

عندما يتأكد أمر شراء جديد على متجر Shopify، تمر البيانات بمسار تقني يبدأ من إطلاق Shopify لحدث تقني (Topic)، وينتهي باستلام العميل لرسالة WhatsApp تفاعلية تتضمن تفاصيل طلبه. يمكن تنفيذ هذا التكامل بشكل مباشر ودون الحاجة إلى خوادم إضافية أو أدوات وسيطة عبر منصة Whats360 من خلال الربط بين رابط الاستقبال (HookURL) ونظام إدارة المعالجة (Webhooks).

المسار التقني الكامل للربط المباشر:

متجر Shopify ← حدث التفعيل (Topic) ← بيانات JSON Payload ← رابط الاستقبال HookURL ← معالجة Webhooks داخل Whats360 ← استخراج المتغيرات والقالب ← جهاز الواتساب المرتبط ← رسالة العميل النهائية.

هندسة نقل البيانات: ماذا يحدث فعلياً عند إتمام الطلب؟

تحويل الإشعار التقليدي إلى رسالة WhatsApp يستلزم مرور البيانات بثلاث طبقات رئيسية متكاملة بأسلوب تقني سلس وموثوق:

  • طبقة الإنتاج (Data Producer – Shopify): يكتشف متجر Shopify تغيير حالة الطلب (مثل إنشاء طلب جديد orders/create)، فيقوم بتجميع بيانات الطلب والعميل في ملف مُهيكل بفرمتة JSON يُسمى Payload، ثم يرسله عبر طلب HTTP POST إلى رابط نداء خارجي (Webhook Endpoint).
  • طبقة الاستقبال والمعالجة (Ingestion & Processing – Whats360): يستقبل HookURL — روابط الاستقبال الـ Payload الخام، ويتحقق من صلاحية الطلب والمفتاح الأمني (Secret Token). عقب ذلك، يتولى محرك Webhooks تفكيك الـ Payload واستخراج المتغيرات المحددة (مثل رقم الهاتف، اسم العميل، ورقم الطلب).
  • طبقة الإرسال (Delivery Engine – WhatsApp Device): يُدمج القالب المخصص المتغيرات المستخرجة داخل النص النهائي، ويُوجه الأمر إلى جهاز WhatsApp المرتبط بالرابط لإرسال الرسالة إلى العميل فوراً.

الفرق بين تبويب HookURL وتبويب Webhooks ولماذا تم الفصل بينهما؟

تتيح لوحة تحكم Whats360 تبويبين منفصلين لإدارة التكاملات، ويعود هذا الفصل البنيوي إلى اختلاف الوظيفة والهدف التقني لكل منهما بشكل واضح وعملي:

معيار المقارنة تبويب HookURL تبويب Webhooks
الرابط المباشر HookURL — روابط الاستقبال Webhooks
الوظيفة الأساسية نقطة استلام جغرافية (Ingestion Endpoint) موجهة لجهاز محدد. محرك إدارة المنطق (Logic Engine) لمعالجة، توجيه، وترجمة البيانات.
الاتجاه استقبال فقط (Incoming Webhooks). إرسال واستقبال وتحديد الاتجاه والقوالب وإعدادات إعادة المحاولة.
الربط بالجهاز كل HookURL يكون مخصصاً لجهاز WhatsApp محدد. يعمل كطبقة منطقية مستقلة تتعامل مع القوالب والمتغيرات والأحداث.

سبب الفصل المعماري بين التبويبين

تم تصميم هذا الفصل لتلبية حالتي استخدام تقنيتين مختلفتين لدى المستخدمين لضمان أقصى مرونة تشغيلية ممكنة:

  • الحالة الأولى (استقبال مباشر دون سيرفر وسيط): لا يمتلك المستخدم نقطة استقبال (Webhook Endpoint) خاصة به على سيرفر خارجي ويرغب في ربط Shopify مباشرة بـ Whats360. هنا يُنشئ المستخدم HookURL داخل Whats360 ليحصل على عنوان استلام جاهز يضعه داخل Shopify، ثم يُعالج البيانات عبر تبويب Webhooks.
  • الحالة الثانية (وجود سيرفر أو نظام قائم): يمتلك المستخدم بالفعل سيرفرًا خاصًا أو تطبيقًا مخصصًا (Custom App) يستقبل الإشعارات، ويريد استخدام Whats360 لإرسال البيانات إلى نظامه أو توجيهها. هنا لا يحتاج المستخدم لإنشاء HookURL جديد داخل المنصة، بل يستخدم تبويب Webhooks مباشرة للربط مع عناوينه الخارجية.

ابدأ أتمتة متجرك على الواتساب مجاناً

احصل على رابط استلام مباشر لمتجرك الإلكتروني وأرسل إشعارات الطلبات والدفع وتحديثات الشحن فوراً لعملائك دون الحاجة لسيرفرات خارجية.

  • ربط مباشر مع Shopify و WooCommerce خلال دقائق
  • دعم كامل للقوالب الديناميكية واستخراج المتغيرات
  • إعادة محاولة آلي لضمان وصول 100% من الإشعارات

تجربة منصة Whats360 الآن

الربط المباشر مقابل استخدام منصات الأتمتة الوسيطة (Middleware)

في كثير من سيناريوهات الربط، يتساءل المطورون وأصحاب المتاجر عن جدوى الربط المباشر مقارنة باستخدام أدوات وسيطة مثل n8n أو Pipedream أو Make.

متى يُفضَّل الربط المباشر (Shopify → Whats360)؟

  • إشعارات الطلبات المباشرة: عند التأكيد الفوري للطلبات، أو إشعارات الدفع وتعديل الحالة.
  • تقليل نقاط الفشل (Single Point of Failure): استبعاد أي طرف ثالث يقلل احتمالية توقف الخدمة وتأخير الرسائل.
  • خفض التكلفة التشغيلية: عدم الحاجة لدفع اشتراكات إضافية لخدمات الأتمتة أو استضافة سيرفرات مستقلة.

متى تُستخدم أداة أتمتة وسيطة أو تطوير مخصص؟

  • المنطق المعقد (Complex Business Logic): إذا كان الإشعار يعتمد على الاستعلام من قاعدة بيانات خارجية، أو الاستعلام عن مخزون متعدد الفروع، أو شرط تجميعي معقد.
  • الربط متعدد الأنظمة: عند الحاجة لتحديث نظام ERP ومخزن خارجي وطلب خدمة شحن في وقت واحد قبل إرسال رسالة WhatsApp. في هذه الحالات، يُمكن الاستعانة بخدمات التطوير والتكامل المخصص من شركة Beincode لبناء المعمارية المناسبة.

الخطوات العملية لربط Shopify مع Whats360 بالكامل

المرحلة الأولى: إنشاء رابط الاستقبال من تبويب HookURL

ابدأ بتهيئة عنوان الاستقبال المباشر داخل المنصة عبر الخطوات التقنية المحددة التالية:

  1. انتقل إلى صفحة HookURL — روابط الاستقبال.
  2. اضغط على زر رابط جديد.
  3. حدد جهاز WhatsApp الذي تريد أن تُرسل إشعارات Shopify من خلاله.
  4. أدخل اسماً توضيحياً للرابط في حقل الاسم (مثل: Shopify Orders).
  5. حقل Secret (اختياري):
    • إذا تُرك فارغاً: يتم قبول أي طلب يحتوي على رمز التوثيق (Token) مباشرة.
    • إذا تم إدخال قيمة: يتوجب على النظام المُرْسِل إرفاق مفتاح التحقق في الـ Header لكي يُقبل الطلب.
  6. اضغط إنشاء، ثم انسخ رابط HookURL الناتج بالكامل لاستخدامه في الخطوة التالية.

ملاحظة هامة: إنشاء HookURL يُوفر نقطة استلام للبيانات فقط ولا يقوم بإرسال الرسائل تلقائياً حتى يتم ربطه بقالب معالجة داخل تبويب Webhooks.

المرحلة الثانية: إضافة HookURL داخل لوحة تحكم Shopify

بعد تجهيز الرابط، يُربط المتجر بالمنصة لتوجيه التنبيهات والأحداث فور حدوثها:

  1. سجل الدخول إلى لوحة إدارة متجر Shopify (Shopify Admin).
  2. انتقل إلى Settings ثم اختر Notifications.
  3. انزل إلى قسم Webhooks واضغط على Create Webhook.
  4. اختر الحدث (Topic) المطلوب الاستجابة له:
    • Order creation (orders/create): لإرسال إشعار فور إنشاء الطلب.
    • Order payment (orders/paid): لإرسال إشعار عند إتمام الدفع.
    • Order fulfilled (orders/fulfilled): لإرسال إشعار عند شحن الطلب.
  5. حدد تنسيق البيانات (Format) على JSON.
  6. في خانة URL، الصق رابط HookURL الذي تم نسخه من منصة Whats360.
  7. اضغط Save لتأكيد حفظ الإعدادات.
حلول البرمجة والتكامل المخصص

هل تحتاج لنظام CRM مخصص أو ربط معقد لمجموعتك؟

يقدم فريق Beincode خدمات تطوير البرمجيات والتكاملات المخصصة للمتاجر الكبيرة والشركات التي تتطلب أتمتة خطوط إنتاج، ربط مخازن، وأنظمة إشعار متعددة القنوات.

طلب استشارة برمجية من Beincode

المرحلة الثالثة: استقبال واستكشاف الـ JSON Payload

عند وقوع الحدث في Shopify، يرسل المتجر طلب HTTP POST يحمل بيانات الطلب بفرمتة JSON إلى رابط Whats360. يوضح الكود التالي النموذج التقني الصادر من المتجر:

{
  "id": 5678912345,
  "order_number": 1024,
  "total_price": "250.00",
  "currency": "EGP",
  "financial_status": "paid",
  "customer": {
    "first_name": "محمد",
    "last_name": "فارس",
    "phone": "+201000000000"
  },
  "shipping_address": {
    "address1": "شارع الجيش",
    "city": "المنصورة"
  }
}

تختلف هياكل البيانات باختلاف إصدارات API والتطبيقات المثبتة على Shopify. يجب دائماً فحص الحقول الفعلية الواردة في الـ Payload وعدم افتراض وجود حقول غير مرسلة لضمان استخراج البيانات بسلاسة.

المرحلة الرابعة: ضبط المعالجة عبر قالب Shopify في تبويب Webhooks

بعد التحقق من إرسال البيانات من المتجر، تأتي مرحلة المعالجة البرمجية وتحويل البيانات إلى رسائل نصية:

  1. انتقل إلى صفحة Webhooks في لوحة التحكم.
  2. من قسم القوالب الجاهزة، ابحث عن استقبال بيانات طلب جديد – شوبيفاي (Send WhatsApp message when a new Shopify order is placed).
  3. اضغط على زر استخدام.
  4. اضبط خيارات النموذج:
    • اسم الويب هوك: اسم تعريفي للمهمة.
    • اتجاه البيانات: استقبال بيانات عند الاستقبال (Incoming).
    • خيارات إعادة المحاولة (Retry Settings): حدد عدد المحاولات (من 1 إلى 5، والافتراضي 3 محاولات) وزمن التأخير (الافتراضي 30 ثانية).

المرحلة الخامسة: تحديد المتغيرات وتحديد البيانات

يدعم نظام Whats360 المتغيرات العامة للنظام بالإضافة إلى حقول الـ Payload الخاصة بـ Shopify لتكوين رسائل تفاعلية شمولية:

المتغيرات العامة داخل النظام (System Variables):

  • {{phone}}: رقم هاتف المستقبل.
  • {{message}}: محتوى الرسالة.
  • {{sender_name}}: اسم المرسل.
  • {{instance_id}}: معرف جهاز WhatsApp.
  • {{timestamp}}: الطابع الزمني للعملية.
  • {{message_id}}: المعرف الفريد للرسالة.

حقول Payload الخاصة بـ Shopify (JSON Path Matching):

  • customer.first_name: اسم العميل الأول.
  • customer.phone: رقم هاتف العميل.
  • order_number: رقم الطلب المرجعي.
  • total_price: إجمالي قيمة الطلب.
  • currency: العملة المستخدمة.

المرحلة السادسة: صياغة قالب رسالة WhatsApp

داخل إعدادات القالب في تبويب Webhooks، يتم صياغة النص المستهدف مع إدراج المتغيرات الديناميكية كالتالي:

أهلاً {{customer.first_name}} 👋

تم استلام طلبك بنجاح من متجرنا!

📦 رقم الطلب: #{{order_number}}
💰 إجمالي المبلغ: {{total_price}} {{currency}}

سنقوم بإشعارك فور شحن الطلب. شكرًا لتسوقك معنا! ❤️

المرحلة السابعة: تنفيذ الإرسال الآلي من Whats360

بمجرد اكتمال الإعداد، يعالج محرك Whats360 الطلبات الموردة وفقاً للتسلسل الآتي:

  1. يستقبل HookURL الطلب من Shopify.
  2. يقرأ محرك Webhooks الـ Payload ويتحقق من مطابقة القالب.
  3. يتم استخراج الحقول المطلوبة ورقم هاتف العميل (customer.phone).
  4. تُستبدل المتغيرات بالقيم الفعلية الواردة في الطلب.
  5. يُرسل محرك Whats360 الرسالة عبر الحساب والجهاز المربوط.

الأمان والتحقق من موثوقية الطلبات (Security & Authentication)

لحماية رابط الاستقبال من الطلبات غير المصرح بها أو الهجمات، توفر المنصة طبقات تأمين مخصصة لضمان سلامة العمليات:

  • التحقق بواسطة Secret Token الخاص بـ Whats360: عند إضافة Secret أثناء إنشاء HookURL، يتم رفض أي طلب HTTP لا يتضمن الهيدر المطلوب المطابق للـ Secret.
  • التحقق من توقيع Shopify (HMAC Verification): يرسل Shopify هيدر مخصص يحمل اسم X-Shopify-Hmac-SHA256 يتضمن توقيعاً مشفراً للـ Payload. يمكن ضبط الإعدادات لمطابقة هذا التوقيع والتحقق من أن الطلب أتي فعلياً من Shopify ولم يتم التلاعب به.

التعامل مع إعادة المحاولات وتكرار الرسائل (Retry & Idempotency)

تضمن آليات التعامل مع الأخطاء عدم فقدان الإشعارات أو تكرار إرسالها إلى العملاء في مختلف الظروف التشغيلية:

  • إعادة المحاولة من جانب Shopify: إذا لم يستلم Shopify استجابة بمكود نجاح HTTP 200 OK خلال 5 ثوانٍ، يجدول النظام إعادة محاولة تلقائية وفق جدول زمني تصاعدي.
  • إعادة المحاولة من جانب Whats360: عند فشل معالجة الطلب أو تعثر الاتصال بجهاز WhatsApp، يعيد Whats360 المحاولة تلقائياً (الافتراضي 3 محاولات بفاصل 30 ثانية بين كل محاولة).
  • تجنب الرسائل المكررة (Deduplication): يوصى بالتأكد من استخدام order_number أو id المعرف في الـ Payload لمعالجة الإشعارات بشكل يمنع إرسال أكثر من رسالة لنفس الحدث في حال تكرار استلام الـ Webhook.

منظومة تجارة إلكترونية متكاملة لجميع احتياجاتك

هل تبحث عن حلول تحصيل، شحن، أو مراسلات متعددة المتاجر؟ اكتشف منظومة الخدمات الرقمية المترابطة لتكبير متجرك:

  • إدارة تجارة الأفلييت والتجار عبر منصة Toggaar
  • بوابة تحصيل الأموال والدفع الإلكتروني عبر EGCash
  • حملات الرسائل النصية المباشرة عبر SMS Control
  • إدارة النشرات البريدية والفواتير عبر UltraMail

استكشف الحلول التجارية

خطة الاختبار وتتبع المسار (Integration Test Protocol)

للتأكد من سلامة الربط قبل إطلاقه للعملاء، يُنصح بتنفيذ بروتوكول الاختبار عبر المراحل الخمس الآتية:

  1. إنشاء طلب تجريبي: أنشئ طلب تجريبي (Test Order) داخل Shopify باستخدام وضع الاختبار أو طلب يدوي (Draft Order).
  2. فحص سجلات Shopify: انتقل إلى Settings -> Notifications -> Webhooks وانزل إلى زر Send test notification للتأكد من وصول الاستجابة كود 200.
  3. مراقبة Payload: تأكد من وصول البيانات الحقيقية واستخراج رقم الهاتف المنسق بشكل صحيح شامل الكود الدولي.
  4. التحقق من استبدال المتغيرات: تأكد من أن الرسالة الواصلة لتطبيق WhatsApp تحتوي على البيانات الحقيقية بدلاً من أسماء المتغيرات النصية.
  5. اختبار الحالات الاستثنائية: تجربة إرسال طلب بدون رقم هاتف للتأكد من سلوك النظام ومراجعته عبر السجلات.

دليل تشخيص الأعطال (Troubleshooting Failure Tree)

عند وقوع أي خلل في وصول الرسائل، اتبع شجرة التشخيص المبسطة لتحديد السبب ومعالجته:

  • 🔴 Shopify لم يرسل الـ Webhook؟
    ← تحقق من اختيار الـ Topic الصحيح وتفعيل حالة الـ Webhook داخل Shopify.
  • 🟠 HookURL لم يستقبل الطلب؟
    ← تحقق من صحة الرابط المنسوخ ومن إعدادات الـ Secret و Header المرفق.
  • 🟡 الاستقبال تم ولكن لم تُرسل رسالة WhatsApp؟
    ← تحقق من حالة اتصال جهاز WhatsApp داخل Whats360 ومن صلاحية الاشتراك.
  • 🔵 الرسالة أُرسلت ولكن بدون استبدال المتغيرات؟
    ← تحقق من مطابقة مسار المتغير (JSON Path) للـ Payload الفعلي المرسل من Shopify.

10 أخطاء شائعة تتسبب في توقف الربط وكيفية تجنبها

  1. لصق رابط HookURL في مكان غير مخصص: إدخال الرابط في خانة غير مخصصة للـ Webhooks داخل Shopify.
  2. الخلط بين وظيفة التبويبين: توقع إرسال الرسائل فور إنشاء HookURL دون إعداد قالب المعالجة في تبويب Webhooks.
  3. استخدام حقول غير موجودة بالـ Payload: كتابة متغيرات مثل {{customer.address}} دون التأكد من إرسالها ضمن JSON Shopify.
  4. تجاهل تنسيق رقم الهاتف الدولي: عدم توحيد صيغة أرقام الهواتف المرسلة من Shopify لتشمل رمز الدولة بدون فواصل أو زائد (+).
  5. إدخال Secret غير متوافق: ضبطSecret في Whats360 دون إرساله بالشكل المناسب في الطلب الخارجي.
  6. تغيير حالة جهاز WhatsApp: فصل الجهاز أو تسجيل الخروج منه من هاتف الواتساب مما يؤدي لتوقف الإرسال.
  7. اختيار Topic غير مناسب: اختيار orders/updated بدلاً من orders/create مما يسبب إرسال رسائل متكررة مع كل تحديث للطلب.
  8. عدم مراعاة مهلة Shopify (5 ثوانٍ): تأخر السيرفر في الرد مما يجعل Shopify يفترض فشل الإرسال ويعيد إرسال الطلب.
  9. عدم فحص سجلات الأخطاء: عدم متابعة السجلات لمعرفة سبب فشل معالجة الطلبات.
  10. عدم تجربة الطلب بالكامل: الاعتماد على زر “Test Webhook” في Shopify فقط دون إجراء طلب تجريبي حقيقي.

أسئلة شائعة حول ربط Shopify مع Whats360

هل يمكن إنشاء أكثر من HookURL لنفس جهاز WhatsApp؟

نعم، يمكن إنشاء عدة روابط HookURL وتخصيص كل رابط لمتجر معين أو حدث محدد مع ربط جميع الروابط بنفس جهاز WhatsApp داخل منصة Whats360.

هل يحتاج الربط بين Shopify وWhats360 إلى وسيط مثل n8n؟

لا، يوفر الربط المباشر بين Shopify و Whats360 استقبال ومعالجة البيانات وإرسال الرسائل دون الحاجة لخدمات وسيطة إلا في حالات الشروط البرمجية المعقدة.

ما الفرق الرئيسي بين HookURL وWebhooks في Whats360؟

HookURL — روابط الاستقبال يُنشئ عنوان استقبال مباشر مخصص لجهاز محدد، بينما Webhooks يدير قواعد المعالجة والاتجاه والقوالب والمتغيرات وإعادة المحاولة.

ماذا يحدث إذا لم يتم العثور على رقم هاتف العميل في الـ Payload؟

إذا كان حقل رقم الهاتف فارغاً أو غير مكتمل في الـ Payload، فلن تمكن المنصة من تحديد الوجهة وسيفشل إرسال الرسالة مع تسجيل الحدث في السجلات الفنية.

مقالات ذات صلة

هل أنت جاهز لتفعيل أتمتة إشعارات الواتساب لمتجرك؟

ابدأ الآن وربط متجرك بـ Whats360 خلال أقل من 5 دقائق لارسال التنبيهات وزيادة مبيعاتك.

تواصل معنا الآن للبدء والتفعيل

اترك تعليقاً

زر الذهاب إلى الأعلى