العودة إلى المدونة واجهات برمجية وويبهوك

ربط نظام المطعم بالأدوات الأخرى: متى تحتاج إلى API وكيف تستخدمه؟

رسم توضيحي لبطاقة نظام مطعم مركزية متصلة بخطوط رفيعة بدفتر حسابات ودراجة توصيل وفقاعة محادثة ورسم بياني

المطعم لا يعمل على نظام واحد مهما كان شاملًا: هناك برنامج محاسبة، وشركة توصيل، وأداة تحليلات، وأحيانًا تطبيق خاص. حين لا تتحدث هذه الأنظمة إلى بعضها يصبح أحد الموظفين هو الرابط، ينقل الأرقام يدويًا كل ليلة ويُخطئ أحيانًا. الواجهة البرمجية والويب هوك هما الطريقة التي تجعل الأنظمة تتبادل البيانات بنفسها. هذا الدليل يشرح الفرق بينهما، وحالات الربط التي تستحق الجهد، وقواعد الأمان التي يجب أن تتوافر قبل أن تفتح نظامك لأي طرف.

واجهة برمجية أم ويب هوك؟

الواجهة البرمجية باب يطرقه النظام الآخر ليسأل: أعطني طلبات اليوم، أو أضف هذا الطلب. الويب هوك عكسها: نظامك هو الذي يرسل رسالة إلى عنوان تحدده لحظة وقوع حدث، كطلب جديد أو دفعة مؤكدة أو تغيّر حالة. الأولى مناسبة للمزامنة والتقارير والاستعلام، والثانية للتنبيه الفوري دون أن يسأل أحد كل دقيقة.

أغلب التكاملات المفيدة تجمع الاثنين: الويب هوك يخبر برنامج التوصيل بطلب جديد، والواجهة البرمجية تتيح له أن يسأل عن تفاصيله أو يحدّث حالته.

حالات الربط التي تستحق الجهد

ابدأ بما يُدخَل مرتين. المحاسبة أولًا: مبيعات اليوم ومرتجعاته ومصروفات الدرج تصل إلى دفتر الأستاذ دون إعادة كتابة، إما عبر محاسبة داخل النظام أو عبر مزامنة مع برنامجك المحاسبي. التوصيل ثانيًا: الطلب يذهب إلى شركة التوصيل لحظة قبوله وتعود حالته إلى شاشتك. التحليلات ثالثًا: الطلبات والعملاء تُقرأ من مكانها بدل تصديرها كل أسبوع. ثم تطبيقك الخاص إن وُجد: يقرأ القائمة ويرسل الطلبات بالقواعد نفسها التي يعمل بها موقعك.

  • المحاسبة والفوترة الإلكترونية.
  • شركات التوصيل والمناديب.
  • أدوات التحليلات ولوحات المتابعة.
  • التطبيق الخاص بالمطعم أو شاشات العرض.
  • أدوات التسويق التي تحتاج إلى حدث «طلب جديد» أو «عميل جديد».

ما الذي يجب أن تحميه قبل الربط؟

المفتاح أولًا: لكل تكامل مفتاحه الخاص، يُمنح أقل صلاحيات تكفيه (قراءة فقط لأداة التحليلات مثلًا)، ويُلغى وحده عند انتهاء التعاقد دون أن يتأثر غيره. المفتاح لا يُرسل في بريد ولا يُحفظ في ملف مشترك، ويُظهر النظام آخر استخدام له حتى تكتشف مفتاحًا منسيًا.

الحدود ثانيًا: كل طلب عبر الواجهة البرمجية مقيد بمحل واحد، فلا يرى تطبيق بيانات محل آخر ولو حاول. وعدد الطلبات في الدقيقة محدود حتى لا يُغرق تكامل معطوب نظامك.

التوقيع ثالثًا: كل رسالة ويب هوك تحمل توقيعًا بمفتاح سري تتحقق منه جهتك قبل أن تصدق محتواها. رسالة بلا توقيع صحيح تُرفض، مهما بدت صحيحة.

التكرار والترتيب: ما يجب أن يتحمله الطرفان

الشبكات تفشل. الحدث قد يصل مرتين أو متأخرًا أو بترتيب مختلف. لذلك يحمل كل حدث معرّفًا فريدًا ورقم إصدار للطلب، فتستطيع جهتك أن تتجاهل ما استقبلته من قبل وأن تعرف أن «الحالة: جاهز» أحدث من «الحالة: قيد التحضير» ولو وصلت قبلها. ونظامك يعيد إرسال ما لم يُسلَّم بفواصل متزايدة، ويُظهر لك سجلًا بكل محاولة حتى تعرف أين توقف الربط.

ما الذي يصلح للربط وما الذي لا يصلح؟

يصلح للربط ما يُقرأ أو يُسجَّل بقواعد النظام نفسه: الطلبات بأسعارها المحسوبة في النظام، والعملاء، والمنتجات، والحجوزات، والتقارير. لا يصلح للربط تجاوز القواعد: إرسال طلب بسعر من خارج النظام، أو تأكيد دفع دون التحقق من بوابة الدفع، أو حذف بيانات مالية. التكامل الجيد يفعل ما يفعله الموظف من لوحة التحكم، بالصلاحيات نفسها، لا أكثر.

قبل أن توقّع مع شركة تكامل

اطلب وثائق الواجهة البرمجية واقرأ قسم المصادقة وحدود الاستخدام والأحداث المتاحة. جرّب على محل تجريبي لا على بيانات الإنتاج. تأكد أن المفتاح يمكن إلغاؤه من لوحتك أنت، وأن سجل الاستخدام يُظهر لك ما يفعله الطرف الآخر. وحدد من البداية من يملك البيانات عند انتهاء التعاقد: الطلبات والعملاء تبقى لك، ويُلغى المفتاح، وينتهي الأمر.

أسئلة شائعة

هل أحتاج إلى مبرمج لاستخدام الواجهة البرمجية؟

للربط المباشر نعم، أو تستعين بشركة تكامل. أما التكاملات الجاهزة كالمحاسبة أو الفوترة الإلكترونية فتُفعَّل من لوحة التحكم دون كود.

ما الذي يحدث إذا تعطل النظام الآخر مؤقتًا؟

ينبغي أن يحتفظ النظام بالأحداث التي لم تُسلَّم ويعيد إرسالها بفواصل زمنية متزايدة، وأن تستطيع جهتك استقبال الحدث نفسه مرتين دون أن تسجّله مرتين.

هل يمكن لتطبيق خارجي أن يرى بيانات مطعم آخر؟

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

تعرّف على الخدمة

جاهز لتطبيق ذلك في مطعمك؟

ابدأ تجربتك المجانية أو تحدّث مع فريقنا لنساعدك في الإعداد خطوة بخطوة.