تكامل ساب بزنس ون (SAP Business One) عبر API.
ما الذي نبنيه.
تكاملات Service Layer
تكاملات REST/OData تقرأ وتُنشئ شركاء الأعمال والأصناف والأوامر والتسليمات والفواتير والدفعات في SAP Business One عبر HTTP، مع معالجة صحيحة للجلسات والترقيم (paging) والطلبات المجمّعة (batch).
تكاملات DI API
حيث لا يغطي Service Layer كائنًا أو وظيفة، تتولى خدمة .NET على جهاز Windows مثبّت عليه عميل SAP و DI API ترحيل المستند، مع التحقق الخاص بـ SAP.
البنوك
استيراد ملفات كشوف الحسابات البنكية ومطابقتها مع الفواتير المفتوحة، وتصدير ملفات الدفع من SAP Business One بالصيغة التي يقبلها بنكك، مع تسجيل نتيجة كل ملف.
الخدمات اللوجستية و 3PL وشركات الشحن
إرسال مذكرات التسليم وطلبات الشحن إلى مزوّد الخدمات اللوجستية أو شركة الشحن، وإعادة كتابة أرقام التتبع والحالة، ومطابقة حركات المخزون من مستودع 3PL مع SAP.
الأسواق الإلكترونية والتجارة الإلكترونية
تبادل الأوامر والمخزون والأسعار وحالة الشحن بين SAP Business One والمتاجر الإلكترونية أو الأسواق الإلكترونية، مع الاحتفاظ برقم الطلب الخارجي على مستند SAP.
أنظمة CRM والأنظمة الأخرى
مزامنة العملاء وعروض الأسعار والأوامر والأرصدة مع نظام CRM، أو أداة للخدمة الميدانية، أو منصة BI أو تقارير، أو أي نظام يوفر API أو تصدير ملفات أو عرض قاعدة بيانات (database view).
بوابات الدفع
تسجيل الدفعات التي تؤكدها بوابة الدفع في SAP Business One كدفعات واردة مقابل الفاتورة؛ وتبقى بيانات البطاقات لدى البوابة.
المراقبة ومعالجة الأخطاء
سجل لكل استدعاء، وقائمة انتظار أخطاء للرسائل الفاشلة مع إعادة محاولة مضبوطة، وتنبيه عندما يحتاج أمر ما إلى تدخل شخص.
انظر أيضًا: تكامل الفوترة الإلكترونية مع SAP Business One · وكلاء ذكاء اصطناعي على WhatsApp متصلون بنظام ERP لديك · تطوير خوادم MCP لـ SAP Business One · How to connect ChatGPT to SAP Business One safely
Service Layer أم DI API: أيّهما يناسبك؟
Service Layer هو واجهة REST (OData) من SAP لنظام SAP Business One. إنه HTTP عادي، فيمكن لأي نظام قادر على استدعاء واجهة ويب أن يستخدمه، ويعمل على خادم SAP، فلا حاجة لتثبيت أي شيء على الجهاز الذي يستدعيه. وهو خيارنا الأول للتكاملات الجديدة.
أما DI API فهو مكتبة COM يجب تثبيتها مع عميل SAP Business One على جهاز Windows، وتُستخدم من شيفرة .NET. نختارها حيث لا يغطي Service Layer كائنًا أو وظيفة، أو حيث تستخدمها إضافة قائمة أصلًا. كلاهما يكتب المستندات مع التحقق الخاص بـ SAP، وكلاهما يعمل على SQL Server و SAP HANA.
دليل SAP B1 Service Layer (تسجيل الدخول، $filter، الترقيم) ←
مصممة لفرق مثل فريقك.
الشركات التي تعيد إدخال الأوامر أو الشحنات أو البنود البنكية يدويًا بين SAP Business One ونظام آخر
الشركات التي تضيف قناة بيع جديدة أو مزوّد خدمات لوجستية أو بوابة دفع إلى SAP Business One
شركاء SAP Business One الذين يحتاجون إلى فريق لبناء تكامل ودعمه لأحد عملائهم
كيف يسير المشروع.
- تحديد النطاق: مكالمة استكشافية مجانية، ثم مواصفات مكتوبة: أي الأنظمة تتواصل فيما بينها، وأي المستندات والحقول تنتقل وفي أي اتجاه، وكم مرة، وماذا يحدث عند فشل رسالة، مع سعر ثابت لكل مرحلة.
- تصميم الواجهة: مطابقة الحقول بين SAP Business One والنظام الآخر، والمعرّف الخارجي الفريد المحفوظ في حقل معرّف من قِبل المستخدم (UDF)، وقواعد التعامل مع التكرار والفشل الجزئي والتغييرات التي تُجرى على الطرفين.
- التنفيذ مع عرض أسبوعي: يعمل التكامل على بيانات اختبار ونسخة من قاعدة بيانات شركتك، فتصحّح المسار مبكرًا.
- الاختبار: الحالات العادية وحالات الفشل: النظام الآخر متوقف، أو رسالة تصل مرتين، أو صنف أو شريك أعمال غير موجود، أو فترة مُقفلة.
- التوثيق: مواصفات الواجهة، والإعدادات، والتعامل مع السجل وقائمة انتظار الأخطاء، وطريقة نشر التحديثات.
- التشغيل الفعلي: النشر على خادمك أو السحابة، وتشغيل أول مضبوط على البيانات الحقيقية، ثم التعميم.
- الدعم: 3 أشهر من الدعم المجاني بعد التشغيل الفعلي: إصلاحات وتعديلات صغيرة، ثم دعم شهري اختياري.
كيف تمنعون تكرار المستندات في ساب بزنس ون (SAP Business One)؟
يحمل كل مستند يأتي من نظام آخر المعرّف الفريد لذلك النظام، مثل رقم الطلب، محفوظًا في حقل معرّف من قِبل المستخدم (UDF) على مستند SAP. وقبل أن يُنشئ التكامل أي شيء، يتحقق مما إذا كان مستند بهذا المعرّف موجودًا بالفعل، فلا تُنشئ رسالةٌ وصلت مرتين، أو مهمةٌ أُعيد تشغيلها بعد فشل، فاتورةً أو أمرًا ثانيًا أبدًا.
ماذا يحدث عندما يفشل استدعاء؟
تذهب الرسالة إلى قائمة انتظار الأخطاء مع السبب، وتُعاد محاولتها بطريقة مضبوطة. المشكلات المؤقتة، مثل توقف النظام الآخر أو انتهاء جلسة Service Layer، تُعاد محاولتها؛ أما أخطاء الأعمال، مثل صنف غير موجود أو فترة مُقفلة، فتنتظر في القائمة حتى يصحّح شخص البيانات. ويُسجَّل كل استدعاء، فترى ما أُرسل، وبماذا أجابت SAP، ولماذا فشل شيء ما.
كيف يقرأ التكامل البيانات من SAP Business One؟
عبر Service Layer، باستخدام طلبات الكيانات مع $select و $filter للقراءات البسيطة، واستعلامات SQL محفوظة تُستدعى عبر خدمة SQLQueries للعروض التي تربط عدة جداول. يمكن أن تستخدم القراءات استعلامات SQL Server أو SAP HANA. أما الكتابة فلا تتم أبدًا مباشرة في جداول SAP باستخدام SQL، لأن ذلك يتجاوز التحقق الخاص بـ SAP وقد يُفسد البيانات.
كيف تعمل عمليات تسجيل الدخول والجلسات في Service Layer؟
يسجّل التكامل الدخول بإرسال قاعدة بيانات الشركة واسم المستخدم وكلمة المرور إلى نقطة Login في Service Layer. يعيد SAP Business One ملف تعريف الارتباط B1SESSION (إضافة إلى ملف ROUTEID لموازنة الأحمال)، ويُرسل مع كل استدعاء لاحق. تنتهي مهلة الجلسة بعد فترة دون استدعاءات (30 دقيقة افتراضيًا، وتظهر في استجابة Login باسم SessionTimeout)، لذلك يعيد التكامل استخدام جلسته ويسجّل الدخول مجددًا عند انتهائها. وتُعامَل الجلسة المنتهية كخطأ مؤقت تُعاد محاولته بعد تسجيل الدخول الجديد، لا كمستند فاشل أبدًا.
استعلامات OData والترقيم والطلبات المجمّعة
تستخدم القراءات خيارات OData مثل $select و $filter و $orderby، فلا ينتقل عبر الشبكة إلا الحقول والسجلات المطلوبة. يقسّم Service Layer النتائج إلى صفحات (20 سجلًا لكل صفحة افتراضيًا) ويعيد رابطًا إلى الصفحة التالية؛ فيتبعه التكامل، أو يطلب صفحات أكبر باستخدام الترويسة Prefer: odata.maxpagesize.
يمكن إرسال عدة استدعاءات معًا كطلب $batch واحد. والاستدعاءات المجمّعة في مجموعة تغييرات (change set) تُنفَّذ كمعاملة واحدة، فإما أن تُرحَّل جميعها أو لا يُرحَّل أيٌّ منها. وتظهر الحقول المعرّفة من قِبل المستخدم على كل كيان بأسمائها التي تبدأ بـ U_، وتتوفر الكائنات المعرّفة من قِبل المستخدم (UDO) المسجّلة ككيانات مستقلة.
من يملك شيفرة التكامل؟
أنت. يملك العميل الشيفرة المصدرية وقاعدة البيانات والتوثيق بعد كل مرحلة مدفوعة. يمكنك استضافة التكامل وصيانته بنفسك، أو تسليمه لمطور آخر، أو أن تطلب منا الاستمرار في دعمه.
ما الدعم الذي تحصل عليه بعد التشغيل الفعلي؟
يشمل كل تكامل 3 أشهر من الدعم المجاني بعد التشغيل الفعلي للإصلاحات والتعديلات الصغيرة، ثم دعمًا شهريًا اختياريًا. إذا كنت تحتاج إلى زمن استجابة محدد، فاطلبه في العرض ليُكتب في شروط الدعم.
أين نفّذنا ذلك.
وكيل ذكاء اصطناعي للمبيعات والمشتريات على واتساب مرتبط بنظام ERP
وكيل ذكاء اصطناعي على واتساب يرد على العملاء، ويرسل الفواتير وكشوف الحساب من نظام ERP، ويستلم الطلبات، ويتفاوض على المشتريات ضمن حدود محددة مسبقًا.
اقرأ دراسة الحالة ←السعوديةجسر المرحلة الثانية من ZATCA لنظام SAP Business One
جسر جاهز للتثبيت يرسل فواتير SAP Business One إلى ZATCA للاعتماد والإبلاغ، مع واجهة ويب سهلة الاستخدام فوق خدمة مزامنة تعمل في الخلفية.
اقرأ دراسة الحالة ←أدلة ذات صلة: دليل SAP B1 Service Layer (تسجيل الدخول، $filter، الترقيم) · أخطاء Service Layer SQLQueries وحلولها · رموز أخطاء DI API (-5002، -1029، -2035) · أمثلة SBO_SP_TransactionNotification (SQL Server و HANA)
أدوات مجانية: منشئ طلبات Service Layer · جدول OCRD (شركاء الأعمال) · جدول ORDR (أوامر البيع) · جدول ODLN (التسليمات) · جدول ORCT (الدفعات الواردة) · جدول OVPM (الدفعات الصادرة)
تكامل ساب بزنس ون (SAP Business One) عبر API: أسئلة شائعة
هل نستخدم Service Layer أم DI API لتكامل ساب بزنس ون (SAP Business One) لدينا؟
عادةً Service Layer: فهو REST عبر HTTP، ولا يحتاج إلى تثبيت أي شيء على الجهاز المستدعي، ويناسب أنظمة الويب والسحابة. أما DI API فهي مكتبة COM تحتاج إلى عميل SAP على جهاز Windows؛ ونستخدمها حيث لا يغطي Service Layer كائنًا أو وظيفة. كلاهما يتحقق من المستندات كما يفعل SAP Business One، ونساعدك على الاختيار في مرحلة المواصفات.
هل يعمل التكامل على SQL Server و SAP HANA معًا؟
نعم. يعمل Service Layer و DI API بالطريقة نفسها على كليهما. وحيث يقرأ التكامل البيانات عبر استعلامات SQL محفوظة، نكتبها لقاعدة بياناتك، SQL Server أو HANA، ونختبرها على نسخة من شركتك.
كيف تمنعون تكرار الفواتير والأوامر؟
يحمل كل مستند المعرّف الفريد للنظام الآخر، محفوظًا في حقل معرّف من قِبل المستخدم (UDF)، ويتحقق التكامل منه قبل إنشاء أي شيء. فالرسالة التي تصل مرتين، أو المهمة التي تتكرر بعد فشل، تجد المستند الموجود ولا تُنشئ مستندًا آخر.
هل تكتبون مباشرة في قاعدة بيانات SAP Business One؟
لا. تُنشأ المستندات والبيانات الرئيسية وتُحدَّث فقط عبر Service Layer أو DI API، فيُطبَّق دائمًا التحقق والترقيم ومنطق الترحيل الخاص بـ SAP. يُستخدم SQL المباشر للقراءة، ولا يُستخدم أبدًا للكتابة في جداول SAP.
ماذا يحدث إذا كان النظام الآخر أو SAP غير متاح؟
تذهب الرسائل الفاشلة إلى قائمة انتظار الأخطاء مع السبب وتُعاد محاولتها بطريقة مضبوطة؛ فلا يضيع شيء ولا يُرحَّل شيء مرتين. أما أخطاء الأعمال، مثل صنف غير موجود، فتنتظر حتى يصحّح شخص البيانات، ويُظهر السجل ما أُرسل وبماذا أجابت SAP.
هل كودينوفا من شركاء SAP؟
لا. كودينوفا ليست من شركاء SAP المعتمدين؛ هي مستقلة، وتعمل جنبًا إلى جنب مع شريك SAP لديك. يحتفظ شريكك بالتراخيص وبنظام SAP Business One؛ ونحن نحدد مواصفات التكامل ونبنيه ونختبره وندعمه. وتعتمد علاقة الوصول عبر API بتراخيص SAP لديك على اتفاقيتك مع SAP، لذا تحقّق من ذلك مع شريكك.
تطوير SAP Business One
أي إضافة: صيانة المصانع، الرواتب، الموافقات، المستودعات، التقارير.
أتمتة واتسابوكلاء ذكاء اصطناعي على واتساب
وكلاء مبيعات ودعم على واتساب مرتبطون بنظام ERP.
الفوترة الإلكترونيةتكامل الفوترة الإلكترونية
ZATCA و SRI و FEL و DTE والفوترة الإلكترونية في بنما داخل SAP Business One.
Model Context Protocolتطوير خوادم MCP
اربط ChatGPT و Claude وأدوات الذكاء الاصطناعي ببيانات ERP.
جاهز للبدء؟
أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.
