دليل تكامل واجهة برمجة تطبيقات Odoo: قم بتوصيل Odoo بأي نظام

الدليل الفني لتكامل Odoo API — بروتوكولات XML-RPC وJSON-RPC، والمصادقة، وعمليات CRUD، ورسم الخرائط الميدانية، ومعالجة الأخطاء، وأنماط خطاف الويب، وأمثلة للتكامل الواقعي.

E

ECOSIRE Research and Development Team

فريق ECOSIRE

5 مارس 20265 دقائق قراءة970 كلمات

دليل تكامل Odoo API: قم بتوصيل Odoo بأي نظام

نادرًا ما يعمل Odoo بمعزل عن الآخرين. تحتاج الشركات إلى ربطها بمنصات التجارة الإلكترونية ومعالجات الدفع وشركات الشحن وأدوات التسويق والتطبيقات المخصصة. توفر واجهة برمجة تطبيقات Odoo الخارجية بروتوكولين — XML-RPC وJSON-RPC — يمكّنان أي نظام من قراءة السجلات وإنشاءها وتحديثها وحذفها في Odoo برمجيًا.

المصادقة

مصادقة مفتاح API

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

معلمات الاتصال

يتطلب كل استدعاء لواجهة برمجة التطبيقات: عنوان URL لخادم Odoo، واسم قاعدة البيانات، واسم المستخدم الخاص بك (البريد الإلكتروني لتسجيل الدخول)، ومفتاح واجهة برمجة التطبيقات. قم بتخزينها بشكل آمن - لا تقم مطلقًا بتشفير بيانات الاعتماد في التعليمات البرمجية المصدر.

بروتوكول XML-RPC

إعداد الاتصال

يستخدم XML-RPC نقطتي نهاية: /xmlrpc/2/common للمصادقة و/xmlrpc/2/object لعمليات البيانات. قم بالمصادقة أولاً للحصول على معرف مستخدم، ثم استخدم هذا المعرف للمكالمات اللاحقة.

العمليات الخام

البحث والقراءة: سجلات الاستعلام باستخدام عوامل تصفية المجال (على غرار عبارات SQL WHERE). تستخدم النطاقات صفوفًا: [('state', '=', 'sale'), ('amount_total', '>', 1000)] يعثر على أوامر المبيعات المؤكدة التي تزيد قيمتها عن 1000 دولار.

إنشاء: قم بتمرير قاموس قيم الحقول. تقوم واجهة برمجة التطبيقات (API) بإرجاع معرف السجل الجديد. يجب تضمين الحقول المطلوبة وإلا يفشل الاتصال مع وجود خطأ في التحقق من الصحة.

الكتابة: قم بتحديث السجلات الموجودة عن طريق تمرير معرفات السجلات وقاموس القيم المتغيرة. قم بتضمين الحقول التي تريد تعديلها فقط.

إلغاء الارتباط: حذف السجلات حسب المعرف. استخدمه بحذر - لا يمكن حذف بعض السجلات إذا كانت تحتوي على سجلات تابعة.

بروتوكول JSON-RPC

لماذا JSON-RPC

يُفضل JSON-RPC بشكل عام لعمليات التكامل الحديثة: فهو يستخدم JSON (أكثر ملاءمة للمطورين من XML)، ويعمل بشكل أفضل مع تطبيقات JavaScript/TypeScript، ويقدم أداء أفضل قليلاً للحمولات الكبيرة.

تنسيق الطلب

تنتقل مكالمات JSON-RPC إلى نقطة نهاية واحدة: /jsonrpc. يتضمن كل طلب اسم الخدمة وأسلوبها ووسيطاتها في مظروف JSON-RPC 2.0 القياسي.

أنماط التكامل الشائعة

مزامنة طلبات التجارة الإلكترونية

مزامنة الطلبات من Shopify أو WooCommerce إلى Odoo:

  1. استمع إلى خطافات الطلب عبر الويب من منصة التجارة الإلكترونية
  2. قم بتعيين بيانات العميل لسجلات شريك Odoo (إنشاء أو مطابقة القائمة)
  3. قم بإنشاء أمر بيع يتضمن عناصر معينة لمنتجات Odoo
  4. قم بتأكيد الأمر لبدء سير عمل التنفيذ
  5. مزامنة معلومات التتبع مرة أخرى مع منصة التجارة الإلكترونية

تكامل معالج الدفع

قم بتوصيل Stripe أو PayPal أو المعالجات الأخرى:

  1. تلقي رسائل الويب لتأكيد الدفع
  2. قم بمطابقة المدفوعات مع فواتير Odoo حسب الرقم المرجعي
  3. قم بتسجيل الدفع في محاسبة Odoo
  4. التسوية مع كشوفات الحساب البنكية آليا

مزامنة إدارة علاقات العملاء

حافظ على مزامنة Odoo CRM مع أدوات التسويق الخارجية:

  1. يؤدي العملاء المتوقعون الجدد من منصات التسويق إلى إنشاء عملاء محتملين في Odoo
  2. تتدفق تحديثات تسجيل النقاط في الاتجاهين
  3. تؤدي الفرص الفائزة إلى إطلاق حملات متابعة في أداة التسويق
  4. تظل معلومات الاتصال متزامنة عبر الأنظمة

معالجة الأخطاء

الأخطاء الشائعة

  • تم رفض الوصول: بيانات اعتماد غير صالحة أو أذونات غير كافية
  • خطأ في التحقق: الحقول المطلوبة مفقودة أو قيم غير صالحة
  • لم يتم العثور على السجل: الإشارة إلى معرف غير موجود
  • التحديث المتزامن: قام مستخدم آخر بتعديل السجل في نفس الوقت

أفضل الممارسات

  1. تنفيذ منطق إعادة المحاولة مع التراجع الأسي في حالات الفشل العابر
  2. التحقق من صحة البيانات قبل الإرسال لاكتشاف الأخطاء مبكرًا
  3. تسجيل جميع استدعاءات واجهة برمجة التطبيقات لأغراض تصحيح الأخطاء والتدقيق
  4. التعامل مع حدود الأسعار — العمليات المجمعة بدلاً من المكالمات الفردية
  5. استخدم العمليات غير الفعالة لإعادة محاولة المكالمات الفاشلة بأمان

تحسين الأداء

  • القراءات المجمعة: استخدم search_read بدلاً من مكالمات search + read المنفصلة
  • الحقول المحددة: اطلب الحقول التي تحتاجها فقط، وليس كل الحقول في النموذج
  • ترقيم الصفحات: استخدم limit وoffset لمجموعات النتائج الكبيرة
  • التخزين المؤقت: تقوم ذاكرة التخزين المؤقت بتغيير البيانات ببطء (كتالوجات المنتجات، وأسعار العملات) محليًا

أنماط الويب هوك

لا يحتوي Odoo على خطافات ويب صادرة أصلية في جميع الإصدارات. النهج المشتركة:

  • الإجراءات التلقائية: إجراءات الخادم التي يتم تشغيلها عند تسجيل التغييرات واستدعاء عناوين URL الخارجية
  • وحدات التحكم المخصصة: أنشئ وحدة Odoo التي تكشف عن نقاط نهاية خطاف الويب للأنظمة الخارجية
  • الاقتراع: تقوم الأنظمة الخارجية باستقصاء Odoo على فترات زمنية لإجراء التغييرات (أبسط ولكن في وقت أقل)

الاعتبارات الأمنية

  • استخدم مفاتيح واجهة برمجة التطبيقات بدلاً من كلمات المرور
  • تقييد الوصول إلى واجهة برمجة التطبيقات عن طريق عنوان IP على مستوى الشبكة
  • استخدم HTTPS لجميع اتصالات واجهة برمجة التطبيقات (API).
  • تنفيذ حقوق الوصول المناسبة — يجب أن يكون لدى مستخدمي واجهة برمجة التطبيقات الحد الأدنى من الأذونات اللازمة
  • قم بتدوير مفاتيح واجهة برمجة التطبيقات بانتظام وقم بإلغاء المفاتيح المخترقة على الفور

تعمل خدمة تكامل Odoo على إنشاء عمليات تكامل على مستوى الإنتاج من خلال معالجة الأخطاء ومراقبتها وأمانها بشكل سليم.

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

ما هو البروتوكول الذي يجب أن أستخدمه — XML-RPC أم JSON-RPC؟

JSON-RPC للمشاريع الجديدة. إنه أكثر ملاءمة للمطورين، ويعمل بشكل أفضل مع الأدوات الحديثة، وهو الاتجاه الذي يتجه إليه Odoo. XML-RPC للأنظمة القديمة أو اللغات مع دعم أفضل لمكتبة XML-RPC.

هل هناك REST API؟

يتضمن Odoo 17+ واجهة REST API إلى جانب نقاط نهاية RPC. إنه يتبع اصطلاحات REST القياسية مع حمولات JSON ويكون التعامل معه أسهل بشكل عام لتطبيقات الويب.

كيف أتعامل مع عمليات ترحيل البيانات الكبيرة؟

بالنسبة لعمليات تحميل البيانات الأولية، استخدم ميزة استيراد CSV أو اكتب برنامجًا نصيًا للترحيل يقوم بإنشاء سجلات على دفعات (100-500 سجل لكل دفعة) مع معالجة الأخطاء لكل دفعة.

هل يمكنني توسيع واجهة برمجة التطبيقات بنقاط نهاية مخصصة؟

نعم. قم بإنشاء وحدات Odoo مخصصة مع فئات وحدة التحكم التي تكشف عن نقاط نهاية HTTP إضافية للعمليات المتخصصة التي لا تغطيها واجهة برمجة التطبيقات القياسية.

E

بقلم

ECOSIRE Research and Development Team

بناء منتجات رقمية بمستوى المؤسسات في ECOSIRE. مشاركة رؤى حول تكاملات Odoo وأتمتة التجارة الإلكترونية وحلول الأعمال المدعومة بالذكاء الاصطناعي.

الدردشة على الواتساب