لابد أن أي مطور ويب بالعموم وأي مطور ووردبريس بشكل خاص أن يكون على دراية بمفهوم API الذي هو اختصار لـApplication Programming Interface أي واجهة برمجة التطبيقات والذي يوفر للمطور آلية سهلة للاتصال ببيانات التطبيقات على اختلاف أنواعها.
في مشاركة اليوم سأحاول أن أوضح لكم أهم المفاهيم التقنية المتعلقة بهذا المصطلح الذي يمكنك من خلاله جلب البيانات من مصادر مختلفة، وأوضح طريقة التعامل معه، وكيف يمكنك الاستفادة منه في مواقع ووردبريس على وجه الخصوص.
ما معنى API
بداية دعونا نتفق على الفكرة الأساسية من إيجاد واجهة برمجة التطبيقات وهو بشكل أساسي إيجاد وسيلة لتبادل البيانات المطلوبة ومعالجتها بطريقة سهلة وسلسلة عبر أكثر من نظام أساسي من خلال توفير واجهة يمكنها تبادل البيانات بين تطبيقين بموجب مجموعة القواعد تسمى هذه الواجهة API.
مع العلم أنه يمكن لمالكي واجهة برمجة التطبيقات توفير واجهاتهم هذه بشكل مجاني أو مدفوع للتطبيقات الأخرى للاستفادة منها. على سبيل المثال يوفر موقع يوتيوب واجهة برمجة تطبيقات مجانية خاصة به لمنشئي المحتوى بحيث يمكن لمنشئي المحتوى مشاهدة المشتركين في البث المباشر على موقع الويب الخاص بهم..
ما هي فوائد استخدام API
يوفر استخدام واجهة برمجة التطبيقات عدة فوائد للمطورين وأهمها:
- تقليل حجم البيانات فلا يتعين علينا إعادة كتابة أي معلومات في الموقع الإلكتروني أو التطبيق أكثر من مرة بل نوفرها لنظام API وهو يعمل تلقائيًا على توفيرها لبقية المواقع وبهذا لا نحتاج لأن نكرر البيانات لكل تطبيق على حدا.
- توفير الوقت فمن خلال الاعتماد على واجهة API يمكننا تطوير التطبيقات البرمجية بسرعة وتوفير الوقت على المستخدمين وتمكينهم من استخدام أي تطبيق أو موقع ويب بسهولة.
- تحقيق المزيد من الأرباح من خلال إمكانية الحصول على أي منتج أو خدمة من أي موقع ويب متعلق به مثل تذاكر الطيران أو أي خدمة الدفع الالكتروني وما إلى ذلك وتوفير ميزة الاستفادة منها من قبل عدة جهات فهذا من شأنه أن يساهم في زيادة مبيعات وأرباح مقدم هذه المنتج أو الخدمة من جهة وأرباح موقع الويب الذي يستخدمها عبر واجهة برمجة التطبيقات كذلك.
ما هي واجهة REST API في ووردبريس
REST API هي واجهة برمجة تطبيقات مخصصة للتواصل مع مواقع ووردبريس وهي ميزة موجهة للمطورين تم تقديمها في إصدار WordPress 4.4 فهي تسمح للمواقع والتطبيقات الخارجية بأن تتفاعل مع نواة نظام ووردبريس أو بعبارة أخرى مع كافة البيانات التي يوفرها موقع ووردبريس دون الحاجة إلى الوصول للواجهة الأمامية أو الخلفية لهذا الموقع.
حيث توفر REST API طريقة جديدة لتطبيقاتك الخارجية للتخاطب مع ووردبريس. على سبيل المثال، يمكنك إنشاء مقال جديد في موقع ووردبريس الخاص بك ونشره على عدة مواقع وتطبيقات دون الوصول إلى لوحة التحكم الخاصة بموقعك أصلاً!
هذه الميزة تجعل ووردبريس قابل للتوسع وتتيح له كذلك إمكانية التعامل أو التخاطب مع العديد من لغات البرمجة الأخرى مثل JavaScript أو أحد مكتباتها أو لغة C # أو جافا أو غيرها من التقنيات المختلفة.
وباالتالي تعتبر REST API ميزة قوية وتضيف بعد إضافي للووردبريس يمكن للمطورين والمستخدمين على حد سواء الاستفادة منها كوسيلة هامة لتوفير مزايا وإضافات جديدة إلى نظام ووردبريس..
مثال عملي على استخدام REST API في ووردبريس.
لنفترض على سبيل المثال أنك تريد الاستفادة من واجهة REST API في ووردبريس كي تجلب المقالات من أحد المواقع الخارجية إلى موقعك أو تطبيقك الخاص (الذي يمكن أن يعمل بأي تقنية كانت سواء كان جوملا أو دروبال أو أندرويد أو جافاسكريبت أو حتى ووردبريس نفسه..)
كي تنفذ هذه المهمة عليك أن تكون على دراية بالدوال البرمجية (مثل طلبات GET وPOST وPUT وDELETE ) وبالمسارات اللازمة التي تمكنك من الاستعلام من هذه الواجهة البرمجية للموقع الهدف لكنا هنا سنشرح الفكرة بشكل مبسط.
يكون المسار الأساسي لواجهة برمجة تطبيقات REST لموقع إلكتروني معين كما يلي:
http://your-domaine.com/wp-json/wp/v2/
على سبيل المثال الكود التالي يجلب كافة واجهة برمجة التطبيقات للمدونة التقنية الشهيرة تك كرانش techcrunch
https://techcrunch.com/wp-json/wp/v2/
ولاسترجاع المقالات المنشورة فقط من هذا الموقع يمكنك استدعاء الرابط التالي:
https://techcrunch.com/wp-json/wp/v2/posts
كما تلاحظ كل ما عليك هو كتابة عنوان url للموقع والوصول لكل بياناته من داخل المتصفح، إذا انتقلت إلى الرابط السابق فسوف تتمكن من رؤية كافة المنشورات التي يتم إرجاعها الك بصيغة json كما يلي
فهذه الطلاسم التي تراها هنا هي جميع مقالات موقع الويب الخاصة بموقع techcrunch والذي وفر لك الوصول لهذه المقالات بشكل استجابة json هو واجهة api المجانية التي يوفرها الموقع والتي عليك أن تعرف كيف تستفيد منها في تطبيقك.
يقوم REST API v2 في الرابط السابق بإرجاع مجموعة معينة من الحقول الافتراضية للمقالة وإذا كنت تريد حقولًا مختلفة على سبيل المثال إذا أردت الحصول على عنوان المقالات المنشورة فقط يمكنك تمريره كوسيط للرابط بالشكل التالي:
https://techcrunch.com/wp-json/wp/v2/posts?_**fields[]=title**&per_page=100&offset=100
وفي حال أردت الحصول على عنوان المقال وتاريخ نشرها يمكنك تمرير الحقول المطلوبة للرابط كما يلي:
https://techcrunch.com/wp-json/wp/v2/posts?_**fields[]=title&_fields[]=date**&per_page=100&offset=100
وبنفس الطريقة يمكنك الاستعلام عن أي بيانات تريدها من خلال رابط تضعه في المتصفح.. هذه البيانات هي كنزك الذي يمكنك تطويعه وعرضه والتحكم به كما تشاء من خلال أي تطبيق برمجي تريده..
على سبيل المثال البرنامج التالي هو عبارة عن تطبيق ويب بسيط مكتوب بتقنية أجاكس وبوتستراب مهمته جلب كافة مقالات أي موقع ووردبريس تريده من خلال التواصل مع واجهة REST API لهذا الموقع
في المثال الموضح هنا استخدمت واجهة برمجة التطبيقات الخاصة بموقع ووردبريس بالعربية لجلب آخر عشر مقالات منشورة لديهم وعرضها على صفحة تطبيقي دون الحاجة لأن أنسخها من واجهة الموقع بنفسي.
ملاحظات حول استخدام Rest API في ووردبريس:
عندما تحصل على معلومات من موقع ووردبريس سواء المقالات أو غيرها فمن الأفضل أن تقوم بإجراء عملية نسخها في ذاكرة تخزين مؤقتة (كاش) في مكان ما على الجهاز المتصل بالواجهة مما يجعل عملية استعادة هذه البيانات أسرع وأكثر كفاءة.
عند العمل مع موارد خارجية في موقع ووردبريس ما، فمن الأفضل أن تحدد هويتك.وتقوم بطلب عملية مصادقة لتعريف نفسك (من خلال إرسال اسم المستخدم وكلمة المرور الخاصين بك مع كل طلب وهذا حل غير آمن 100%، أو تقوم باستخدام مصادقة OAuth من خلال تثبيت إضافة OAuth authentication API)
هذه فكرة عامة عن تقنية API وأهمية استخدامها في ووردبريس، بالنسبة لك هل سبق واستخدمت REST API في أحد التطبيقات أو المواقع التي تقوم بتطويرها أو العمل عليها؟ وكيف استفدت منها بالشكل الأمثل؟ شاركنا تجربتك في التعليقات أسفل المشاركة