الشروع في استخدام Magento Web APIs (REST & SOAP)

نشرت: 2020-10-06

يوفر إطار عمل Magento 2 Web API للمستخدمين فرصة لإنشاء خدمات جديدة يمكنها التواصل مع وحدات الطرف الثالث. يدعم Magento 2 خدمات الويب REST و SOAP استنادًا إلى عمليات CRUD (إنشاء وقراءة وتحديث وحذف).

في هذه المقالة ، سنشرح الخطوات الأولية لاستخدام Magento 2 API. تعمل واجهات برمجة التطبيقات (API) هذه على تسريع قوة المعالجة وتسهيل نقل البيانات ، مثل المنتجات أو العملاء أو الطلبات ، بالإضافة إلى نقلها إلى نظام تابع لجهة خارجية. كما أنه يساعدك على إدارة المخزون.

من خلال أتمتة العملية ، يساعدك استخدام واجهة برمجة التطبيقات على كتابة رمز أقل.

جدول المحتويات

  • ما هي Magento Web APIs؟
  • ماذا يمكنك أن تفعل مع واجهات برمجة تطبيقات الويب Magento؟
  • الشروع في العمل: مع Magento 2 Rest API
  • إنشاء مستخدم خدمة الويب في Magento 2
  • مصادقة Magento 2 REST API
  • احصل على وحدات باستخدام REST API في Magento 2
  • استخدم خدمات SOAP
  • خدمات SOAP ― المصادقة باستخدام Magento 2
  • الكلمات الأخيرة

ما هي Magento Web APIs؟

من السهل جدًا فهم واجهة برمجة تطبيقات الويب Magento للمطورين الذين يتطلعون إلى استخدام خدمات الويب التي تساعد في التواصل مع نظام Magento. هذه الميزات هي مفتاح واجهة برمجة التطبيقات:

  • يدعم Magento 2 كلاً من REST (نقل الحالة التمثيلية) و SOAP (بروتوكول الوصول إلى الكائنات البسيط).
  • يوفر ثلاثة أنواع من المصادقة: 1) OAuth 1.0a لمصادقة تطبيقات الطرف الثالث ، 2) طريقة الترميز لمصادقة تطبيقات الهاتف المحمول ، و 3) بيانات اعتماد تسجيل الدخول للإدارة والتحقق من العميل.
  • يمكنك تكوين أي Magento أو واجهة برمجة تطبيقات ويب تابعة لجهة خارجية عن طريق كتابة بضعة أسطر من XML.
  • وهو يدعم التصفية الميدانية لواجهة برمجة تطبيقات الويب التي تحافظ على استجابة الهاتف المحمول.
  • يعتمد الإطار الحالي على CRUD (إنشاء ، قراءة ، تحديث ، حذف) ونموذج البحث.

ماذا يمكنك أن تفعل مع واجهات برمجة تطبيقات الويب Magento؟

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

  • يمكنك إنشاء متاجر عبر الإنترنت باستخدام Magento ، وربطها بنظام مادي مثل POS (نقطة البيع) للتحكم في المخزون عالميًا
  • التكامل بسهولة مع CRM (إدارة علاقات العملاء) أو أنظمة الواجهة الخلفية ERP (تخطيط موارد المؤسسات) مثل Salesforce أو Microsoft Dynamics أو برامج الصوت الأخرى
  • يساعد على الاتصال بـ CMS (نظام إدارة المحتوى)
  • يمكنك أيضًا إنشاء أدوات JavaScript على الواجهة الخلفية لـ Magento (لوحة المسؤول) أو واجهة متجر Magento

الشروع في العمل: مع Magento 2 Rest API

لإنشاء دور خدمة ويب في Magento 2 ، اتبع هذه الخطوات السهلة:

1. قم بتسجيل الدخول إلى لوحة إدارة Magento 2.

2. اذهب إلى النظام >> أدوار المستخدم وانقر على زر إضافة دور جديد .

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

3. أدخل اسم الدور .

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

4. في حقل كلمة المرور الخاصة بك ، أدخل كلمة المرور الحالية لمدير Magento 2 الخاص بك.

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

5. على الجانب الأيمن ، انقر فوق موارد الدور. ضمن الوصول إلى الموارد ، حدد فقط ما هو مطلوب لخدمة الويب الخاصة بك.

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

6. بمجرد الانتهاء ، اضغط على حفظ الدور.

إنشاء مستخدم خدمة الويب في Magento 2

أنشئ مستخدمًا جديدًا للدور الذي تم إنشاؤه حديثًا باتباع الخطوات التالية:

1.انتقل إلى النظام >> كل المستخدمين ، ثم انقر فوق إضافة مستخدم جديد .

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

2- أدخل المعلومات المطلوبة ، بما في ذلك اسم المستخدم والاسم الأول واسم العائلة والبريد الإلكتروني وكلمة المرور .

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

3. على الجانب الأيمن ، انقر فوق " دور المستخدم " ، ثم حدد الدور الذي تم إنشاؤه حديثًا. بمجرد الانتهاء ، انقر فوق الزر حفظ المستخدم .

الشروع في العمل مع Magento Web APIs | مدونة Mageworx Magento

مصادقة Magento 2 REST API

هنا ، سأقوم بمصادقة REST API من خلال طريقة مصادقة الرمز المميز. يتضمن ذلك تمرير اسم مستخدم وكلمة مرور في الاتصال الأولي وتلقي رمز مميز سيتم حفظه في متغير لمزيد من المكالمات.

 <?php //API URL for authentication $apiURL="http://magento-91647-257956.cloudwaysapps.com/index.php/rest/V1/integration/admin/token"; //parameters passing with URL $data = array("username" => "username", "password" => "********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); ?>

يرجى ملاحظة: يتم استخدام اسم المستخدم وكلمة المرور كمثال.

احصل على وحدات باستخدام REST API في Magento 2

يمكنك جلب البيانات باستخدام Magento 2 REST API. فيما يلي قائمة كاملة بواجهات برمجة تطبيقات REST لـ Magento EE و CE.

 <?php //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourgeneratedUrl'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

في الكود أعلاه ، قمت بالفعل بتمرير الرمز المميز (الذي تم جلبه مسبقًا) باستخدام عنوان URL الخاص بواجهة برمجة التطبيقات للحصول على جميع الوحدات المثبتة في متجر Magento 2.

ها هو الرمز الكامل.

 <?php //API URL for authentication $apiURL="URL"; //parameters passing with URL $data = array("username" => "username", "password" => "*********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); //******************************************// //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourURL'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

استخدم خدمات SOAP

قبل الدخول في خدمات SOAP ، من المهم التعرف على اصطلاحات تسمية Magento:

  • يجب عليك استخدام CamelCase لخدمات التسمية. على سبيل المثال ، MyFirstModule
  • تم حذف السلسلة "Service" ، مما يعني أنه لا يمكنك استخدامها.
  • يتم أيضًا تصعيد بادئة "Magento" ولاحقة "Interface".
  • إذا كان اسم "الخدمة" الخاص بك هو نفسه اسم "الوحدة النمطية" ، فسيتم حذف اسم الوحدة.

تقرير عن تحديثات MageWorx | مدونة MageWorx

لذا ، تأكد من وضع هذه النقاط في الاعتبار.

خدمات SOAP ― المصادقة باستخدام Magento 2

يمكن الوصول إلى موارد SOAP باستخدام رموز وصول OAuth عبر HTTP. تشبه مصادقة OAuth طريقة الرمز المميز ولكنها توفر ترتيبًا أكثر تعقيدًا. رموز الوصول هي سلاسل تمثل ترخيص وصول تم إصداره للعميل.

إليك نص PHP الذي يشرح كيفية الحصول على رمز وصول:

 <?php $opts = [ 'http'=> [ 'header' => 'Authorization: Bearer 36849300bca4fbff758d93a3379f1b8e' ] ]; $wsdlUrl = 'http://magento.ll/soap/default?wsdl=1&services=testModule1AllSoapAndRestV1'; $serviceArgs = ["id" => 1]; $context = stream_context_create($opts); $soapClient = new SoapClient($wsdlUrl, ['version' => SOAP_1_2, 'stream_context' => $context]); $soapResponse = $soapClient->testModule1AllSoapAndRestV1Item($serviceArgs); ?>

الكلمات الأخيرة

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

هذا كل شيء!

لتجربة استضافة Magento أسرع مع راحة البال ، تحقق من هذه النسخة التجريبية المجانية لمدة 3 أيام على DigitalOcean و Vultr و Linode.