دبي · تطوير المواقع
خدمات تكامل API في دبي: مصدر واحد للحقيقة، ويبقى صحيحًا.
أنظمة CRM وERP والمحاسبة والدفع وشركات التوصيل موصولة بموقعك، لتتوقف إعادة إدخال السجلات يدويًا. وفي النهاية تحمل بيدك خريطة الحقول التي اتفق عليها الطرفان، وكل مفتاح لواجهة برمجة التطبيقات (API) مسجّلًا باسم شركتك أنت، وسجلًا يمكنك البحث فيه حين يسأل أحدهم هل مرّ الطلب فعلًا.
- المفاتيح والتطبيقات باسمك
- خريطة حقول متفق عليها قبل الكود
- مراقبة مدمجة من البداية، ثم تُسلَّم إليك
ما تشمله الخدمة
ستة أجزاء، والوصلة نفسها أصغرها.
معظم العمل في تكامل API ليس في وصل الطرفين نفسه، بل في هذه الأجزاء الستة، وهي ما يحدد إن كان الربط لا يزال يعمل في الشهر السادس.
خريطة حقول تُكتب قبل الكود
أي حقل في نظام يصبح أي حقل في النظام الآخر، وماذا يحدث حين لا يوجد مقابل له، وأي طرف يغلب عند الاختلاف. إنها جدول توقّع عليه، لا حديث يتذكره أحدهم. حين يقصد قسمان شيئين مختلفين بكلمة 'عميل'، فاكتشاف ذلك الآن رخيص، واكتشافه بعد نقل البيانات السابقة مكلف.
أحداث حيث أمكن، وجداول زمنية حيث تعذّر
حين يستطيع النظام أن يدفع البيانات بنفسه، عبر webhook يُطلق لحظة تغيّر الطلب، تنتقل البيانات في ثوانٍ ولا يُستعلم عن شيء بلا داعٍ. وحين لا يستطيع، تعمل مهمة مجدولة على فترات تُختار وفق حدود الطلبات عند المورّد، لا وفق التفاؤل.
بيانات اعتماد مملوكة لك
مفاتيح API وتطبيقات OAuth وحسابات الخدمة مسجّلة باسم شركتك لا بحساب شخصي لمطوّر، ومفصولة بين البيئة التجريبية وبيئة الإنتاج. المفتاح الذي لا يستطيع تجديده إلا شخص واحد عطلٌ ينتظر أن يغيّر ذلك الشخص وظيفته.
المسار الذي يسلكه الفشل
أنظمة المورّدين تتعطل، وتتأخر حتى تنتهي المهلة، وتقيّد عدد الطلبات. الرسائل الفاشلة يُعاد إرسالها بفواصل متزايدة، وتُحفظ في قائمة انتظار بدل إسقاطها، وتُوسم بحيث لا تُنشئ الرسالة التي تصل مرتين طلبًا ثانيًا. وحين تنفد المحاولات، يُبلَّغ شخص محدد بالاسم.
تقرير مطابقة تشغّله بنفسك
تقرير يقارن الطرفين ويسرد ما يختلفان عليه، على جدول زمني لا عند الطلب. كل تكامل طويل العمر ينحرف في النهاية؛ والفرق بين الجيد والسيئ هو هل يكتشف الانحراف تقريرٌ أم عميل.
سجل رسائل وتنبيه
كل تبادل مسجَّل بما أُرسل وما عاد ومتى، ويمكن البحث فيه برقم الطلب أو المرجع، فيصبح سؤال 'هل مرّ؟' عملية بحث لا تخمينًا. الأخطاء تُبلَّغ إلى Sentry، وفحص السلامة يطلق تنبيهًا حين تتوقف المزامنة عن العمل كليًا.
لمن هذه الخدمة
ثلاث حالات تكون فيها الأنظمة موجودة أصلًا.
ربط CRM وأعمال ERP يبدآن من النقطة نفسها: عملية مستقرة ومتكررة، لكنها لا تزال تُنجز يدويًا. وإن كانت العملية نفسها غير مستقرة، فربطها لا يفعل سوى تسريع الخلاف.
استفسارات تصل مرتين ولا تستقر في مكان
النموذج يرسل بريدًا إلى المكتب، ويلصقه أحدهم في نظام CRM حين يجد وقتًا، والتسويق يُعدّ تقاريره من مكان ثالث. لا شيء يضيع بشكل لافت؛ بل يضيع بصمت، بضعة استفسارات كل شهر، في الفجوة بين صندوق البريد ومسار المبيعات.
لا أحد يستطيع أن يخبرك كم استفسارًا وصل الشهر الماضي دون أن يعدّ رسائل البريد.
نظامان يختلفان على الشيء نفسه
الموقع يعرض سعرًا غيّره نظام ERP الأسبوع الماضي، أو مخزونًا خصصه المستودع هذا الصباح. كل نظام صحيح من داخله، ولهذا لا يلاحظ أحد حتى يلاحظ عميل، والحل قاعدة تحدد أي طرف يملك أي حقل، لا فحص يدوي آخر.
فريقك يعرف أي نظام يصدّق، وهذه المعرفة غير مكتوبة في أي مكان.
المستند نفسه يُعاد إدخاله في ثلاثة أماكن
طلب يُكتب في المحاسبة، وفاتورة تُكتب في نظام ERP، وتوصيل يُكتب في بوابة شركة التوصيل: رقم المرجع نفسه، ثلاث مرات، بيد شخص وظيفته الفعلية شيء آخر. هذا هو العمل الذي يسترد تكلفته بنفسه، لأنه ممل ويومي ومتطابق في كل مرة.
تستطيع أن تسمّي الشخص الذي يفعل ذلك والساعة التي يفعله فيها.
كيف ننفّذ العمل
خمس مراحل، وأولها ليس كودًا.
الحصول على صلاحية الوصول إلى نظام طرف ثالث هو النصف الأصعب من العمل، أصعب من البرمجة عليه بعد الحصول عليها. لذلك نؤمّن الوصول قبل تثبيت السعر، بدل أن نكتشفه في منتصف البناء.
01
تأمين الوصول
بيانات دخول لبيئة الاختبار (sandbox)، والتوثيق، وحدود الطلبات، وشخص محدد بالاسم عند كل مورّد يستطيع الإجابة عن سؤال خلال أسبوع. وحين يتبيّن أن نظامًا يكشف أقل مما يوحي به كتيّبه، يُكتشف ذلك هنا، حيث لا يزال بوسعه أن يغيّر النطاق لا الموعد.
02
خريطة الحقول وقواعد الاختلاف
كل حقل، في الاتجاهين، مع تسمية مصدر الحقيقة لكل حقل، وقرار مسجَّل للسجلات الموجودة في طرف واحد فقط. ويُوقَّع على الخريطة كجدول قبل كتابة أي كود. وهذه هي الوثيقة التي يُقاس عليها التكامل كله لاحقًا.
03
سجل واحد، من البداية إلى النهاية
استفسار أو طلب حقيقي واحد يُنقل في البيئة التجريبية، ويظهر في النظامين، ويفحصه من يستخدم كلًا منهما. ولا ننتقل إلى الحجم الكامل إلا بعد أن يقرّ من يؤدي هذا العمل يوميًا بأن السجل يبدو صحيحًا.
04
مسارات الفشل
انتهاء المهلة، وحدود الطلبات، والاستجابات المشوّهة، والتكرارات، وتعطّل نظام المورّد طوال فترة ما بعد الظهر. نبني إعادة المحاولة وقائمة الانتظار والتنبيه، ثم نفتعل الأعطال عمدًا لتشغيلها، لأن مسار فشل لم يره أحد يعمل قط مجرد افتراض.
05
نقل البيانات السابقة، والتشغيل المتوازي، والتسليم الكامل
يُنفَّذ نقل البيانات السابقة أولًا، وتقرير مطابقته هو الدليل: أعداد وسجلات يمكنك أن تتحقق منها مقابل المصدر بنفسك. ثم تعمل العملية اليدوية والتكامل جنبًا إلى جنب حتى يخلو ذلك التقرير من أي اختلاف. وبعد ذلك فقط تُلغى الخطوة اليدوية، ويُشرح دليل التشغيل لمن سيتلقى الاتصال حين تقع مشكلة.
التقنيات
تقنيات مألوفة، اختيرت ليعرفها المطوّر التالي.
لا شيء هنا غريب. وهذا هو المقصود: التقنيات غير المألوفة وسيلة لتقييد العميل بمن بناها، متنكّرة في زيّ الابتكار.
- الواجهة الخلفية والبيانات
- Node.jsPostgreSQLLaravelRedisPrisma
- البنية التحتية
- VercelAWSCloudflareGitHub ActionsSentry
المخرجات
ما تستلمه، وما يتيح لك تشخيصه.
التكامل هو المخرج الوحيد الذي يجب أن يظل صحيحًا بعد التسليم الكامل. لذلك فمعظم ما في هذه القائمة موجود للإجابة عن سؤال سيطرحه أحدهم في يوم عمل عادي: أين ذهب ذلك السجل؟
- خريطة الحقول، كل حقل في الاتجاهين ومصدر الحقيقة لكل حقل، كجدول وقّع عليه فريقك
- التكامل يعمل في حسابك السحابي أنت، مع فصل بيانات اعتماد البيئة التجريبية عن بيئة الإنتاج
- كل مفتاح API وتطبيق OAuth وحساب خدمة مسجّل باسم شركتك لا بحساب شخصي لمطوّر
- سجل رسائل يمكن البحث فيه برقم الطلب أو المرجع، يعرض ما أُرسل وما عاد ومتى
- تقرير مطابقة يسرد ما يختلف عليه النظامان، مجدول لا يُشغَّل عند الطلب
- دليل تشغيل يغطي كيفية إعادة إرسال رسالة فاشلة، وتجديد مفتاح، وإيقاف المزامنة مؤقتًا دون إيقاف الموقع
- المستودع، مع توثيق كل متغير بيئة وما يُستخدم له
- جولة شرح مسجَّلة لمن يُتصل به حين لا يصل سجل
تُلغى العملية اليدوية بعد التشغيل المتوازي، لا عند الإطلاق. فإيقاف الخطوة البشرية في اليوم نفسه الذي تبدأ فيه الخطوة الآلية لا يترك أحدًا قادرًا على معرفة ما إذا كان المسار الجديد يعمل فعلًا أم أنه صامت فحسب.
الأسعار
كم يكلف فعلًا عمل التكامل.
48,000 درهم
من
هذه باقة النمو، حيث يكون ربط CRM أو الدفع جزءًا من البناء. أما ربط API وERP الأعمق فيقع في باقة المنصة من 95,000 درهم. والعمل على موقع قائم أصلًا يُسعَّر على حدة، لأن السعر يتبع عدد الأنظمة المعنية ومدى جودة توثيق كل منها، لا عدد الصفحات. الأسعار لا تشمل ضريبة القيمة المضافة 5%، والدفع على دفعات مرحلية.
ما الذي يغيّر السعرما يشمله ذلك
- فحص للوصول قبل تثبيت السعر
- خريطة حقول متفق عليها كتابةً، بمصدر حقيقة لكل حقل
- إعادة المحاولة، وقائمة انتظار، وإيصال للرسائل يمنع التكرار
- تقرير مطابقة تشغّله بنفسك
- مراقبة للأخطاء وسجل رسائل يمكن البحث فيه
- بيانات اعتماد مسجّلة باسم شركتك
العيادات والرعاية الصحية
جدول المواعيد محفوظ في نظام إدارة العيادة، ويحاول المرضى الوصول إليه عبر الموقع؛ فالحجز الذي لا يصل ليس إزعاجًا، بل كرسي فارغ وشخص يحضر على أي حال. والربط يحمل بيانات شخصية لحظة يحمل اسمًا وسبب الموعد، مما يجعل قرار ما يُرسل، وأين تستقر كل نسخة، ومدة الاحتفاظ بها، جزءًا من البناء لا سياسة تُكتب بعده.
التوزيع والبيع بالجملة
التسعير لكل عميل لا لكل منتج، ويُحجز المخزون لحظة قبول الطلب، والطلب نفسه يصل عبر بوابة وبريد إلكتروني ومكالمة هاتفية في الصباح نفسه. نظام ERP هو مصدر الحقيقة لكل ذلك أصلًا، فنادرًا ما يكون العمل بناء شيء جديد؛ بل جعل كل شيء آخر يقرأ من ذلك السجل الواحد بدل نسخة كانت صحيحة في الساعة الثامنة.
التكامل واحد من الخدمات ضمن جانب التطوير من عملنا وهو الخدمة التي تفترض أن الأنظمة موجودة أصلًا. فإن كان ما تحتاج إليه نظامًا جديدًا بحسابات دخول وسجلات داخله، فصفحة تطبيقات الويب أقرب؛ وإن كان الموقع نفسه يحتاج إلى إعادة بناء قبل أن يحمل الربط، فذلك من اختصاص تطوير مواقع مخصصة.
أسئلة
تُطرح قبل التعاقد على تكامل.
اتفاق في المقام الأول، ثم معالجة للأخطاء. ربط نظامين عادةً أقصر أجزاء العمل؛ وما يستغرق الوقت هو تحديد ما يعنيه كل حقل في الطرفين، وأي نظام يغلب عند الاختلاف، وما ينبغي أن يحدث حين يكون أحد الطرفين بطيئًا أو متعطلًا. والتكامل الذي لا يعالج إلا الحالة التي يعمل فيها كل شيء عرضٌ توضيحي لا نظام.
ربط CRM أو الدفع مشمول في باقة النمو من 48,000 درهم، حيث يكون جزءًا من البناء. أما ربط API وERP الأعمق فيقع في باقة المنصة من 95,000 درهم. والتكامل على موقع قائم أصلًا يُسعَّر على حدة، لأن السعر يتبع عدد الأنظمة المعنية ومدى جودة توثيق كل منها، لا عدد الصفحات. الأسعار لا تشمل ضريبة القيمة المضافة 5%، والدفع على دفعات مرحلية.
الوصول يحدد الجدول الزمني أكثر مما يحدده الكود. كتابة الربط عادةً الجزء القصير؛ وما يستغرق أسابيع هو بيانات دخول بيئة الاختبار، وجهة اتصال محددة بالاسم عند كل مورّد تستطيع الإجابة عن سؤال، وبيانات اختبار تشبه السجلات الحقيقية. وحين يكون التكامل جزءًا من بناء، يسير وفق مراحل المشروع نفسها بدل أن يُلحق في النهاية؛ وحين يقف وحده، يُرسل طلب الوصول في اليوم الأول لا بعد توقيع النطاق.
في حالات كثيرة نعم، وحيث تناسب سنقول ذلك بدل أن نقدّم عرض سعر يتجاهلها. أدوات بلا كود هي الجواب الصحيح لحجم منخفض وسجلات عادية وسير عمل لن يفتقده أحد ليوم. ولا تعود مناسبة حين يتجاوز التسعير لكل مهمة تكلفة بناء تكامل مخصص، وحين تصبح القواعد خاصة إلى حد لا يقرؤها إلا كاتبها، وحين تستقر بيانات شخصية في حساب شركة ثالثة، أو حين يكون الفشل صامتًا لأنه لا أحد يملك حساب الدخول الذي تعمل تحته.
توجد عادةً ثلاثة أبواب أخرى: تبادل ملفات مجدول عبر SFTP، أو اتصال للقراءة فقط بقاعدة البيانات، أو تصدير ينتجه المورّد أصلًا لجهة أخرى. وأي منها يمكن ربطه بشكل موثوق ما دام التنسيق مستقرًا. أما ما لن نفعله فهو التحكم آليًا في واجهة الويب لدى المورّد بسكربت وتسمية ذلك تكاملًا؛ فهذا يعمل حتى ينقلوا زرًا. وحيث لا يوجد باب، فمن المفيد أن تعرف ذلك قبل أن تدفع ثمن نطاق عمل.
فقط حيث يكون الاتجاهان مطلوبين فعلًا، لأن الاتجاهين يكلفان أكثر بكثير من ضعف الاتجاه الواحد. فبمجرد أن يستطيع أي طرف تغيير الحقل نفسه، يجب أن يقرر أحدهم ما يحدث حين يغيّره الطرفان معًا، وتلك القاعدة مكانها الكتابة لكل حقل، لا أن تحسمها أي مهمة عملت أخيرًا. ويستحق الأمر أن يُحدد مبكرًا هل ما تحتاج إليه اتجاهان فعلًا، أم اتجاه واحد مع حفنة حقول تعود؛ وهذا يُرسم في الخريطة قبل أن يُسعَّر.
يتعطل التكامل، والسؤال الحقيقي الوحيد هو هل تسمع بذلك من المراقبة أم من عميل. المورّدون يوقفون نقاط نهاية، ويشدّدون حدود الطلبات، ويغيّرون شكل الاستجابات على جدولهم هم، لذلك يثبّت البناء إصدارًا حيث يُتاح، وينبّه على معدل الأخطاء حيث لا يُتاح. ومواكبة تلك التغييرات صيانة: إما مطوّر لديك أو خطة عناية، تبدأ من 1,500 درهم شهريًا.
القرار الأهم هو ما يُرسل أصلًا. التكاملات تنقل عادةً أكثر بكثير مما تحتاج إليه، لذلك تحدد خريطة الحقول الحد الأدنى، ثم أين تستقر كل نسخة ومدة الاحتفاظ بها، وفق قانون حماية البيانات الشخصية الإماراتي لا سياسة أوروبية منسوخة. وبيانات الاعتماد مفصولة لكل بيئة، وسجل الرسائل مكتوب بحيث يمكن الإجابة عن سؤال دعم دون كشف سجل كامل.
مستعد لبناء شيء يدوم؟
أخبرنا بما تحتاج إليه. ستحصل على رد محدد النطاق مع سعر تقديري، من مهندس لا من مندوب مبيعات.