ما المقصود بواجهة برمجة التطبيقات (API)؟

مايكل تشن، كاتب أول | 24 فبراير 2025

يشير مصطلح "API" إلى واجهة برمجة التطبيقات. تعمل واجهات API باعتبارها جسور بين التطبيقات، مما يتيح لها الاتصال ومشاركة البيانات. على سبيل المثال، تعتمد لوحة المعلومات التي يستخدمها فريق التسويق لإدارة حسابات وسائط اجتماعية متعددة على واجهات API متعددة، التي تربط منصات الوسائط الاجتماعية للشركة بشاشة لوحة المعلومات وتسحب البيانات ذات الصلة.

يستفيد مستخدم الإنترنت النموذجي باستمرار من واجهات برمجة التطبيقات، ويكون غالبًا دون إدراك منه. تربط واجهات API مصادر البيانات العامة، مثل مواقع التنبؤ بالطقس بالتطبيقات التجارية لتحذيرنا من العواصف القادمة. يمكن للمطورين الوصول بانتظام إلى واجهة برمجة التطبيقات لخرائط Google لتضمين خدمات الموقع والخرائط في مواقعهم الإلكترونية. يستخدم بائعو التجزئة بوابات الدفع المدعومة بواجهات API مثل PayPal وStripe للتعامل بأمان مع المعاملات المالية مع العملاء.

ما المقصود بـ API؟

تمثل واجهة برمجة التطبيقات (API) مجموعة من القواعد والبروتوكولات التي تسمح للتطبيقات بتبادل البيانات وتنفيذ الإجراءات والتفاعل بطريقة موثَّقة جيدًا. عند تقديم طلب—لتحديث الطقس، على سبيل المثال—تعالج واجهة برمجة التطبيقات الطلب وتنفِّذ الإجراءات اللازمة وتُرجع استجابة، ويكون ذلك عادةً بتنسيق قياسي مثل تلك المحددة بواسطة تنسيقي JSON أو XML.

النقاط الرئيسة

  • إن API وسيط يسمح لبرنامجين بالتواصل مع بعضهما بعضًا ويحدد طريقة طلبهما للبيانات أو الوظائف واستلامهما.
  • تعد واجهات API ضرورية لإنشاء تطبيقات برمجية حديثة تربط المعلومات وتشاركها.
  • تلعب واجهات API دورًا بالغ الأهمية في تمكين استخدام الخدمات السحابية من خلال السماح لها بدمج البيانات ومشاركتها مع البرامج المحلية.

شرح واجهات API

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

بعبارات أبسط، توجد ثلاثة أطراف تشارك في عملية التبادل، وهم على النحو التالي:

  • العميل: الطرف الذي يقدم الطلب
  • الخادم: الطرف الذي يلبي الطلب
  • API: الوسيط الذي يربط الاثنين بطريقة موثَّقة بشكل جيد ويمكن التنبؤ بها

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

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

طريقة عمل واجهات API

تعمل واجهات API من خلال تحديد طريقة تفاعل مكونات البرامج، مما يتيح للمطورين دمج أنظمة مختلفة ومشاركة البيانات والوظائف دون الحاجة إلى إنشاء كل شيء من البداية، مما يوفر الوقت والموارد. تُحدد واجهات برمجة التطبيقات عادةً الأساليب والبروتوكولات التي يجب استخدامها للاتصال، بالإضافة إلى تنسيقات البيانات التي يمكن تبادلها.

تحدد واجهة API طريقة تفاعل التطبيقات من خلال توفير التفاصيل بما في ذلك ما يلي:

  • نقاط النهاية. إن عناوين URL المحددة تُحدد موقع إرسال البيانات والطلبات.
  • الطُرق. تعليمات مثل "حصول على" لاسترداد البيانات و"نشر" لإرسال البيانات و"وضع" لتحديث البيانات و"حذف" لإزالة البيانات.
  • المعلمات. التفاصيل المحددة المطلوبة للطلب، مثل موقع بيانات الطقس أو بيانات اعتماد تسجيل الدخول للوسائط الاجتماعية.
  • الاستجابات. تنسيق البيانات التي تم إرسالها مرة أخرى بواسطة التطبيق، مثل تنسيق JSON أو XML.

يكتب مطور تطبيق العميل الذي يطلب كتابة البيانات التعليمات البرمجية لإجراء استدعاء API. تحدد هذه التعليمة البرمجية ما يلي:

  • عنوان URL لنقطة انتهاء API
  • طريقة HTTP
  • أية معلمات ضرورية

يرسل التطبيق الطلبات إلى بوابة API الخاصة بتطبيق الخادم، والتي تدير الطلبات الواردة. توجَّه بوابة API الطلب إلى الخدمة المناسبة داخل التطبيق الهدف. تعالج الخدمة الطلب وتسترد البيانات أو تنفِّذ إجراء آخر مطلوب.

تُعد الخدمة الهدف بعد ذلك بيانات الاستجابة وفقًا إلى تعريف API وترسلها مرة أخرى من خلال بوابة واجهة برمجة التطبيقات إلى التطبيق الطالب، الذي يتلقى البيانات ويحللها ويسلِّم النتيجة المتوقعة إلى المستخدم النهائي.

لماذا تُعد واجهات API هامة؟

نظرًا إلى أنها توفر طريقة موحدة للمطورين للوصول إلى بيانات ووظائف التطبيقات والخدمات الأخرى، تتيح واجهات API للشركات تجنب إعادة إنشاء العجلة المشهورة. يوفر هذا الوقت والمال. كما يعزز التوحيد القياسي الابتكار وقابلية التوسع من خلال تمكين الإضافة النمطية للميزات والخدمات الجديدة دون تعطيل تشغيل الأنظمة الحالية.

على مستوى الأعمال، تُعد واجهات API أمرًا بالغ الأهمية لأنها تسمح للشركات بأتمتة المهام والعمليات المُتكررة من خلال تمكين البرامج من التفاعل مباشرةً مع البرامج الأخرى. نظرًا إلى أن معظم الشركات تعمل على إضافة الأتمتة لتفريغ أوقات الموظفين للمهام ذات المستوى الأعلى، فإن قدرة واجهات API على تقليل أحمال العمل اليدوية وزيادة الكفاءة التشغيلية تعد ميزة رئيسة. تعتمد المؤسسات التي تتطلع إلى زيادة استخدام الخدمات السحابية أيضًا بشكل كبير على واجهات API.

مكونات API

تعمل مكونات API معًا للسماح لأنظمة البرامج المُختلفة بالاتصال بالبيانات والوظائف وتبادلها. يعد فهم هذه المكونات أمرًا ضروريًا لدمج واجهات API بنجاح في برامجك. تتضمن مكونات API ما يلي:

  • توفر مواصفات API وصفًا مُنظمًا لما تقدمه API وكيفية التفاعل معها بالضبط.
  • إن مُصمم API هي أداة مساعدة تساعد المطورين في إنشاء واجهات API. يمكن أن يكون مُصمم واجهة برمجة التطبيقات بسيطًا مثل البرنامج الإضافي لبيئة التطوير أو أداة عالية التخصيص. يتمثل الهدف من إنشاء قواعد مُضمنة للتحقق من API وتنسيقها في توفير الوقت والتحكم في التزايد.
  • تُعد بوابات API الموضع الذي يجد فيه المطورون واجهات API المنشورة ويشاركونها ومواصفات الاطلاع لفهم إذا كانت API يمكن أن تساعدهم وكيف يمكن استخدامها. يتم غالبًا تضمين بوابات واجهات API العامة داخل موقع ويب للمواد الداعمة، مثل الشروط والأحكام القانونية.
  • تمثل الواجهة الخلفية لـ API البرنامج الذي يترجم استدعاء API إلى إجراء للعميل.
  • توفر بوابات API عنوان URL لـ API، وتطبيق القواعد التي تحكم استخدام API هذه، وتوجيه استدعاء API إلى الواجهة الخلفية ذات الصلة. تعرف عادةً البوابة مواصفات واجهة برمجة التطبيقات وتفاصيل القواعد التي يجب تطبيقها. قد تعالج القواعد المُصادقة والاعتماد وإدارة الشهادات وتحديد المعدل والتقييد وفحص الحمولة والتحقق منها والتوجيه الذكي بناءً على محتوى العنوان أو الحمولة والمزيد.

قد تتضمن واجهات API أيضًا تحديد المعدل ومعالجة الأخطاء والوثائق للمطورين. تتضمن كتابة API قوية سلسلة من القرارات، بدءًا من النمط البنيوي وحتى أدوات التصميم، وهي مهارة لا تُقدر بثمن للمؤسسات التي تتطلع إلى مستقبل أصلي للسحابة.

مزايا واجهات API

باستخدام واجهات API، يمكن للمطورين ربط التطبيقات الموزَّعة—على سبيل المثال، تطبيق الهاتف الذكي بموقع ويب على وسائل التواصل الاجتماعي، أو نظام الرواتب بحساب بنك تجاري. نظرًا إلى أن واجهات API تتيح إنشاء تطبيقات مُفيدة من الخدمات الصغيرة والفردية والمتصلة، فإنها تدفع مقابل مزايا في المتانة وقابلية التوسع.

في حالة انقطاع خدمة واحدة، يمكن لمعظم مزايا التطبيق الاستمرار في العمل. تشمل المزايا الإضافية ما يلي:

  • السرعة. تتيح واجهات API للمطورين تحديد أفضل تقنية لكل مشكلة تحتاج إلى حلها.
  • تطوير أسرع. تسمح واجهات API للمطورين بإضافة الوظائف الحالية بدلاً من إنشاء كل شيء من البداية.
  • الابتكار. تعزز واجهات API التعاون والتجارب من خلال السماح للمطورين باكتشاف خدمات جديدة وتجربتها دون كم كبير من الاستثمار.
  • مزيد من التحكُّم. يمكن تزويد واجهات API بعناصر تحكم صارمة في الاعتماد للحد بشكل دقيق من البيانات أو الإجراءات التي يمكن للتطبيق الوصول إليها.
  • قابلية التوسع. تمكِّن واجهات API التطبيقات من التعامل مع الطلب المُتزايد من خلال الاستعانة بمصادر خارجية لتنفيذ مهام إلى خدمات أخرى. على سبيل المثال، بدلاً من صيانة نظام معالجة الدفع الخاص بها، يمكن لشركة بيع بالتجزئة صغيرة اختيار واجهة API للدفع مثل Stripe أو PayPal. يؤدي هذا إلى إلغاء تحميل مهمة مُعقدة. يمكن الآن للبائع التركيز على تطوير أعماله الرئيسة مع ترك معالجة الدفع للخبراء مما يزيد من ثقة العملاء.

تحديات واجهات API

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

تشمل التحديات المحددة التي يتعين التصدي لها ما يلي:

  • اختيار API. مع توفُّر عدد كبير من واجهات API، يمكن أن يكون اختيار الأفضل ملاءمة مهمة شاقة. في الواقع، قد لا توجد API واحدة مثالية—قد تحتاج إلى تجميع البيانات والوظائف معًا من مصادر متعددة.
  • التكلفة. على الرغم من أن العديد من واجهات API مجانية الاستخدام، ينبغي مراقبة القيود المفروضة على الاستدعاءات والميزات. على حسب طلبك وجمهورك، قد تحتاج إلى اشتراكات مدفوعة مقابل وظائف أو سعة معينة. هل تدفع رسومًا ثابتة أم على أساس الاستخدام؟ يجب أيضًا مراعاة التكلفة المستمرة للحفاظ على اتصالات API في القرارات البنيوية.

    إذا استخدمت عددًا كبيرًا من واجهات API، أو لديك وحدة تخزين كبيرة على عدد قليل، فابحث عن خطة استخدام API للحفاظ على التحكم في التكاليف.
  • تعقيد التكامل. حتى بعد الوصول إلى API مُناسبة، يمكن أن يكون دمجها مع تطبيقك مهمة مُعقدة. قد تمتلك واجهات API من مقدمي خدمات مُختلفين بروتوكولات وتنسيقات بيانات وآليات مصادقة مُختلفة. يمكن أن يتطلب سد الثغرات بذل جهود تطوير كبيرة.
  • الأداء. يمكن أن يُحبط أداء API—أو لا—الأشخاص الذين يستخدمون تطبيقك. يمكن أن تُدخل واجهات API زمن انتقال يتسبب في أوقات الاستجابة بطيئة ويعطِّل معالجة البيانات. تذكَّر أن الموظف أو العميل لن يلوم مقدم خدمة API. إنه اسم شركتك الذي على التطبيق.
  • الأمان. يزيد تسهيل اكتشاف واجهات API من خطر إساءة الاستخدام، لذلك؛ يجب على الشركات أن تضع الأمان في اعتبارها. لحُسن الحظ، باستخدام الأدوات المناسبة، يُعد إنشاء واجهات برمجة تطبيقات آمنة أمرًا بسيطًا إلى حد معقول. يمكن لآليات التصديق، مثل مفاتيح API أو الرموز المُميزة أو بيانات الاعتماد الأخرى، التأكد من وصول التطبيقات المعتمدة إلى الأنظمة فحسب. تأكد من مراجعة معايير تشفير بيانات API. بالإضافة إلى ذلك، تخفي API المُصممة جيدًا طريقة تنفيذ الواجهة الخلفية لها، مما يسمح للفِرق بإجراء تغييرات دون التأثير سلبًا على العميل.
  • التقيد بمورد واحد. يمكن أن يؤدي الاعتماد بشكل كبير على مقدم خدمات API معين للوظائف المهمة لتطبيقك إلى تقييد تلك المنظومة. إذا كنت ترغب في تبديل مقدمي خدمات API في المستقبل، فقد يكون ذلك عملية باهظة الثمن ومزعجة.
  • مشكلات التحكم في الإصدارات. مثل معظم البرامج، لا تكون واجهات API ثابتة. إنها تتطور لإضافة وظائف جديدة ومعالجة التغييرات الأمنية والتقنية. قد تقدم الإصدارات الجديدة تغييرات في التعليمات البرمجية تعطِّل عمل التطبيق. حتى إذا لم توجد أعطال، فقد يكون الاحتفاظ بسجل لإصدارات وتكاملات API المُختلفة قيد الاستخدام عبئًا كبيرًا.

فيما يتعلق بذلك، ليس كل مطوري API يصدرون الوثائق الواضحة والشاملة التي تُعد ضرورية لمطوريك لاستخدام واجهة برمجة التطبيقات وتكاملها، لذلك؛ اختر الشركاء مقدمي الخدمات بعناية.

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

بالنسبة إلى أولئك الذين يتطلعون إلى تطوير واجهات API، توجد بعض المشكلات، خاصةً حول اختيار المواصفات وتقليل الطلب. يكمن مبدأ تصميم API جيد في تجريد المستهلك وحمايته من التغييرات التي تطرأ على طريقة تنفيذ الواجهة الخلفية. يعكس تصميم API لديك بشكل مباشر تخزين البيانات الأساس، على سبيل المثال، إذا تغيرت بُنى البيانات الداخلية، تتأثر واجهة برمجة التطبيقات، مما قد يعطِّل عميل API.

تشمل الأخطاء الأخرى التي يجب تجنبها ما يلي:

التوثيق السيئ. تُعد الوثائق الواضحة والمُفصَّلة ضرورية لنجاح API. على سبيل المثال، عند وصف تاريخ، يجب أن تكون واضحًا في التنسيق. في أوروبا، يتم عادة تمثيل التاريخ بتنسيق؛ يوم، شهر، ثم سنة، بينما في أمريكا الشمالية، يكون الترتيب شهر، يوم، سنة. قد يؤدي عدم الوضوح في هذه التفاصيل إلى حدوث مشكلات في جودة البيانات، وفي أسوأ الأحوال، تعطيل API التطبيق.

عدم مراعاة أحجام بيانات الإنتاج. أثناء تطوير واجهات API، تستخدم الاختبارات مجموعات بيانات صغيرة نسبيًا. خلال الإنتاج، تكون غالبًا أحجام البيانات أكبر بكثير، مما يؤدي إلى استدعاءات API التي تحاول توصيل كميات هائلة من البيانات في طلب واحد. قد يؤدي هذا إلى مجموعة من المشكلات، وذلك اعتمادًا على الشبكة التي بين العميل والواجهة الخلفية. في أسوأ حالة، قد يضع الطلب طلبات زائدة على الواجهة الخلفية لـ API، مما قد يؤدي إلى فشل استدعاء API.

قد تحدث أخطاء أيضًا عند تعيين سياسات لبوابة API. تتضمن هذه الأخطاء عادةً عدم توفير الأمان الكافي، والذي يمكن أن يسمح للجهات الفاعلة الخبيثة بتغيير البيانات أو الوصول إليها على نحو غير سليم أو حتى استخدام API باعتبارها طريقة لمهاجمة الشبكة. يتم تحليل هذه الأنواع من المشكلات وتجميعها بواسطة مشروع أمان تطبيقات الويب المفتوح (OWASP)، مع الإبلاغ عن الأخطاء الأكثر شيوعًا في قائمة أعلى 10 مخاطر أمان لـ API معروفة.

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

تذكَّر أن العلاقة بين استدعاءات API والواجهة الخلفية لـ API ليست علاقة فردية.

أنواع واجهات API

توجد أربعة أنواع رئيسة من واجهات API. يعتمد ما تختاره على حالة استخدامك. ضع في اعتبارك الخُطط قصيرة وطويلة الأجل للتطبيق قبل الاستقرار على نموذج—فالتبديل من API مختلفة أمر قابل للتنفيذ، لكنه يزيد من التكاليف والتعقيد.

  • يمكن لأي شخص استخدام واجهات API العامة للوصول إلى بيانات الخادم أو الخدمات الأخرى من تطبيق العميل. تتضمن الاستخدامات الشائعة لواجهات API العامة استرداد بيانات حركة المرور والطقس وإدارة عمليات تسجيل دخول الجهات الخارجية. تهدف واجهات API العامة بشكل عام إلى السماح لأي تطبيق باستخدام الخدمة. قد يكون هذا الوصول إجراءً بسيطًا، مثل استرداد الوقت الحالي، أو شيء أكثر تعقيدًا، مثل استرداد صورة رادار الطقس أو قائمة مُفصَّلة بالاتجاهات من النقطة أ إلى النقطة ب. نظرًا إلى أن واجهات API العامة تميل إلى الاستخدام على نطاق واسع، يتم توخي الحذر الشديد لعدم تغييرها ما لم يكن ذلك ضروريًا تمامًا حتى لا تُعطّل وظائف التطبيقات.
  • يتم تطوير واجهات API الخاصة للاستخدام الداخلي فحسب ولا يتم نشرها على نطاق واسع. تسمح عادةً واجهات API الخاصة لتطبيقات البائع بالاتصال بخوادم ذلك البائع. على سبيل المثال، يستخدم التطبيق المصرفي على هاتفك واجهات API الخاصة للوصول إلى الخدمات الفريدة لمصرفك المحدد.
  • تم تطوير واجهات API الشريكة للاستخدام بين مؤسسات محددة. يتم الكشف عن تفاصيل واجهة API لمجموعة محدودة من الشركاء. على سبيل المثال، قد توافق منصة قاعدة البيانات السحابية على الشراكة مع عدد محدد من موفري التحليلات. يؤدي ذلك إلى وجود واجهات API شريكة تربط قاعدة البيانات بمنصات التحليلات بكفاءة.
  • يتم ربط واجهات API المركبة معًا لأجل وظيفة معينة وقد تكون مزيجًا من واجهات API العامة والخاصة والشريكة. يأتي مثال على API المتسلسلة باستخدام واجهات برمجة التطبيقات العامة والخاصة في التكامل بين تطبيق الطقس وتطبيق متتبع اللياقة البدنية. توفر API العامة لتطبيق الطقس بيانات مثل درجة الحرارة والرطوبة لتطبيق متتبع اللياقة البدنية. تقدم API الخاصة به بيانات حول سرعة المالك والمسافة المُغطاة وتجمعها مع العوامل البيئية لحساب السعرات الحرارية المحروقة.

أمثلة على واجهات API

إن معظم الناس على دراية بواجهات API المستهلكة، مثل الطقس أو الموقع. لكن يوجد عالم من واجهات API المُتطورة التي تمكِّن المؤسسات من الاستفادة من الوظائف من الخدمات السحابية إلى قواعد البيانات ثم إلى تطبيقات الأعمال القوية.

على سبيل المثال، تقدم Oracle مجموعة واسعة من واجهات API عبر خدماتها. يمكن للشركات التي تستخدم البنية التحتية من Oracle Cloud (OCI) الاستفادة من واجهات API للإدارة البرمجية للشبكات الافتراضية، بما في ذلك إنشاء الشبكات الفرعية وقوائم الأمان وجداول المسارات وتكوينها وإدارتها. تتيح API للحوسبة تمكِّن المسؤولين من بدء مثيلات الحوسبة وإيقافها وإعادة تشغيلها وتكوينها في OCI. تربط واجهات API الأخرى فِرق تكنولوجيا المعلومات بوظائف تخزين الكائنات وإدارة الهوية والوصول.

تستخدم الشركات الناشئة المُبتكرة واجهات API أيضًا. على سبيل المثال، توفر Inworld.ai شخصيات افتراضية قائمة على الذكاء الاصطناعي للألعاب عبر الإنترنت في تمثيل الأدوار. باستخدام واجهات API، يمكن للمطورين إنشاء شخصيات غير قابلة للتشغيل (NPC) تتفاعل مع اللاعبين بطريقة واقعية وجذَّابة. تتيح واجهات API لمصممي الألعاب تحديد سمات الشخصية والشخصية والسلوكيات، مما يسمح لهم بتخصيص شخصيات NPC لإضافة عُمق وتنوع على ألعابهم. يمكن للشخصيات الافتراضية فهم مدخلات النص أو الصوت والاستجابة إليها، كل ذلك عبر واجهات API.

بدءًا من استخدام قطع الدومينو لواجهات API للتكامل مع المساعدين الصوتيين، وصولاً إلى تمكُّن العملاء من طلب البيتزا دون لمس جهاز إلى استخدام شركة Uber لواجهات API لربط البيانات على الفور وتعديل أسعار الركوب ديناميكيًا على أساس الطلب وظروف حركة المرور، تعمل هذه التكنولوجيا في تعزيز الابتكار الحقيقي الآن.

حالات استخدام API

بالنسبة إلى الشخص العادي، تظهر واجهات API التي تتيح تكامل الوسائط الاجتماعية ومعالجة الدفع مألوفة. تستخدم العديد من مواقع الويب والتطبيقات واجهات API لتمكين وظائف الوسائط الاجتماعية الشائعة، مثل مشاركة المحتوى، بينما تستخدم منصات التجارة الإلكترونية واجهات API للاتصال ببوابات الدفع مثل Stripe أو PayPal.

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

من ناحية الأعمال، تتضمن حالات استخدام API السماح للفِرق بالتفاعل مع الموارد السحابية، مثل التطبيقات التي تستخدمها للوظائف المالية أو وظائف خدمة العملاء. إن واجهات API أيضًا هي التي تدعم الاتصال وتبادل البيانات بين أجهزة إنترنت الأشياء وأنظمة التحكم الخاصة بها.

إذا كنت تعمل في مكتب ذكي ويتم ضبط الأضواء ودرجة الحرارة فيها تلقائيًا، فهذه حالة استخدام API.

بروتوكولات API

توجد العديد من البروتوكولات، أو الأنماط البنيوية، للكشف عن واجهات API للمطورين. تتيح هذه الأساليب للمطور معرفة كيف يتوقع أن تعمل مجموعة من واجهات API وما الآلية التي تستخدمها عمومًا للوصول إلى API من برامجها الخاصة.

تشمل الأنماط البنيوية الشائعة ما يلي:

  • نقل الحالة التمثيلية (REST)
    ربما تُعد هذه البنية الأكثر شيوعًا للوصول إلى الموارد والخدمات عبر الويب. في العديد من البيئات، يمر العميل بعمليات تغير حالته بالنسبة إلى الخادم. على سبيل المثال، إذا كنت ترغب في معرفة رصيدك المصرفي، فتحتاج إلى الانتقال من حالة غير مُصدق عليها إلى حالة مُصدق عليها. ثم يحتفظ الخادم والعميل بهذه الحالة المُصدق عليها بمجرد إنشائها. على النقيض من ذلك، تكون واجهات REST API عديمة الحالة. إذا أراد مطور استخدام REST API للتحقق من رصيد البنك، فيحتاج الطلب إلى تضمين معلومات كافية للتصديق على المستخدم الذي يقدم الطلب. بمجرد معالجة الطلب، لا يتم الاحتفاظ بمعلومات الحالة. إذا أراد المستخدم تقديم طلب مماثل آخر، فيجب عليه مرة أخرى توفير معلومات التصديق مع الطلب. تتمثل إحدى مزايا واجهات REST API في عدم حاجة الخوادم إلى تتبع حالة العملاء، مما يمكن أن يبسط إلى حد كبير من بنية الخادم.
  • استدعاءات الإجراء عن بُعد (RPC)
    في التطبيقات التقليدية، تُستخدم استدعاءات الإجراء، التي تسمى أحيانًا استدعاءات الدالة للوصول إلى الأجهزة والخدمات الخاصة بالكمبيوتر الذي يعمل عليه التطبيق. يمثل فتح الملفات وقراءتها أو الكتابة على شاشة الكمبيوتر أو الأجهزة الأخرى وظائف يتم التعامل معها من خلال استدعاءات الإجراء. بهذه الطريقة، يوفر نظام التشغيل طبقة من التجريد بين التطبيق والأجهزة الفعلية للكمبيوتر. لا يحتاج مبرمجو التطبيقات إلى معرفة أي شيء عن شاشة الكمبيوتر؛ إذ يستخدمون استدعاء إجراء فحسب. بنفس الطريقة، يمكن لاستدعاءات الإجراء السماح لتطبيق باستخدام مورِد على الشبكة. ربما تكون ملفات المستخدم غير موجودة على الكمبيوتر المحلي، لكن بدلاً من ذلك، تكون موجودة على خادم الشبكة. يؤدي استدعاء الإجراء عن بُعد إلى إنجاز المهمة. في كثير من الأحيان، لن يعرف التطبيق إذا كان المورِد الذي يريد استخدامه محليًا أم عن بُعد. يحدده نظام التشغيل ويتخذ الخطوات المناسبة لاستيفاء الطلب. بشكل عام، يمكن لاستدعاءات RPC استخدام أي تنسيق للوصول إلى الوظيفة—وتكون عادةً أساليب عمل الاستدعاءات في نطاق نظام التشغيل.

    تمثل استدعاءات نظام التشغيل نوع واحد فقط من RPC. يمكن تطوير أنواع أخرى لتنفيذ أي شيء تقريبًا. على سبيل المثال، قد تختار الشركة إنشاء تطبيق خاص بها لتتبع ساعات العمل. يمكن للمطورين استخدام وظائف الشبكات الرئيسة لإنشاء إجراءات تتيح لتطبيقات الأجهزة المحمولة الإبلاغ عن عمليات تسجيل الوصول أو تسجيل الخروج إلى الخوادم المركزية. تسهِّل العديد من المكتبات هذا التطوير، في حين أن استخدام بنية قياسية مثل REST يمكن أن يكون مُفيدًا لأن المطورين الآخرين يكونون أكثر احتمالاً لفهم طريقة عمل RPC.
  • بروتوكول الوصول البسيط إلى الكائنات (SOAP)
    مثل REST، يوفر SOAP طريقة للوصول إلى الخدمات عبر الإنترنت. يستخدم XML لتحديد طريقة تنسيق الطلبات ويمكن تشغيله على مجموعة واسعة من بروتوكولات النقل، مما يُعني أنه يمكن أن يكون محايد تجاه البائع. يُستخدم SOAP بشكل شائع للوصول إلى خدمات الويب، إذ يعمل HTTP باعتباره طبقة نقل. إذا رغب أحد التطبيقات في استرداد وصف منتج، فيتم إنشاء مستند XML مُناسب وإرساله إلى خادم ويب يعرف المنتج. يُرجع خادم الويب مستند XML الخاص به، بما في ذلك معلومات المنتج المطلوبة. نظرًا إلى أن الهدف من SOAP يتمثل في استرداد الكائنات، فإن الإجراءات تقتصر على "حصول على" و"نشر" و"وضع" و"حذف"، مما يجعل بنية الفعل للبروتوكول بسيطة للغاية.

عمليات تكامل API

تربط عمليات تكامل API التطبيقات وتسمح لها بتبادل البيانات والوظائف. تخيِّل عمليات التكامل باعتبارها خطوط هاتف تتيح الاتصالات المفتوحة ذهابًا وإيابًا.

توجد ثلاثة مكونات مُتضمنة.

توفر واجهات API نفسها القواعد والمواصفات التي تحدد طريقة اتصال التطبيقات. تحدد واجهات API البيانات التي يمكن تبادلها، وطريقة تنسيقها، والإجراءات التي يمكن تشغيلها.

يعرض تطبيق الخادم وظائفه أو بياناته عبر API. على سبيل المثال، قد توفر الخدمة السحابية واجهة برمجة تطبيقات تساعد فِرق تكنولوجيا المعلومات في تشغيل مثيلات جديدة بسرعة أو إضافة مقاعد.

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

تتضمن العملية الفعلية بضع خطوات، بدءًا من مطور تطبيق العميل الذي يختار API مُناسبة. يستخدم العميل مفاتيح API أو الرموز المُميزة أو بيانات الاعتماد الأخرى للتصديق بواجهة API المطلوبة والحصول على تصريح للوصول إلى بيانات أو إجراءات محددة. ثم يقدم طلبات، أو استدعاءات إلى API الخادم التي تطلب البيانات أو الإجراء المطلوب بالضبط.

يعالج تطبيق الخدمةالطلب، وفي حال اعتماده، ينفِّذ الإجراء أو يسترد البيانات ويرجعها مرة أخرى إلى العميل عبر API، بتنسيق مُنظم، مثل JSON أو XML.

واجهات API والتحول الرقمي

يدور التحول الرقمي حول السحابة، وتعد واجهات API حجر الزاوية في البنى الأصلية للسحابة. تسمح واجهات API بتكامل الخدمات والأنظمة داخل السحابة، وتسمح للمؤسسات بربط التطبيقات القديمة بخدماتها السحابية الجديدة، مما يتيح الانتقال التدريجي إلى مستقبل رقمي دون تعطيل العمليات. باستخدام واجهات API، يمكن للمؤسسات الاستجابة بسرعة إلى تغيرات السوق وفرصه. فكِّر في إنشاء خدمات حديثة، مثل بوابات الدفع ومنصات الوسائط الاجتماعية وأدوات التحليلات في تطبيقاتك مباشرةً.

من التقنيات التحويلية الأخرى، والقائمة على API الخدمات الصغيرة، وهو نهج بنيوي لتطوير التطبيقات الحديثة التي تفضِّل الخدمات والوظائف المستقلة. في بنية الخدمات الصغيرة، يتم تقسيم التطبيق إلى اللبنات الأساسية المُضمنة التي تؤدي مهمة واحدة بكفاءة. تتواصل الخدمات الصغيرة مع التطبيقات أو الخدمات الأخرى باستخدام واجهات API. يمكن أن يحتوي التطبيق على عدد قليل من الخدمات الصغيرة، أو يمكن أن يتركب من مئات أو حتى آلاف الأجزاء المتحركة. تتوسع التطبيقات المستندة إلى الخدمات الصغيرة أسرع من خلال الحفاظ على استقلالية العناصر الفردية. يوفر هذا سهولة الاستخدام والمرونة اللازمتين لمبادرات التحول الرقمي التي قد تعوقها البنى الأحادية المستخدمة في تطوير البرامج القديمة.

يمكن للشركات السحابية الأصلية التي تتبنى الخدمات الصغيرة الانتقال بسرعة لاغتنام الفُرص الجديدة واعتماد الأتمتة. تدعم واجهات API تلك الاستراتيجية.

الطريقة التي تقدم بها Oracle المساعدة

توفر البنية التحتية من Oracle Cloud (OCI) مجموعة شاملة من الخدمات لإدارة دورة حياة واجهات API. تجعل الأدوات المُضمنة من السهل على فِرق المطورين التعاون في إنشاء النماذج الأولية واختبار واجهات API والتحقق منها. توفر بوابة API للبنية التحتية من Oracle Cloud التكامل والتسريع والحوكمة والأمان للأنظمة المستندة إلى API وSOA، مما يتيح للفِرق إدارة وتقديم واجهات API الويب بشكل آمن. بالإضافة إلى ذلك، تسمح خطط الاستخدام والاشتراكات لعوامل تشغيل واجهة برمجة التطبيقات بمراقبة واجهات برمجة التطبيقات (API) وتحقيق الدخل منها.

بمجرد أن يفهم فريق التطوير طريقة عمل واجهات API، يحصل على رؤى حول الاتصالات الخفية التي تدعم العديد من التطبيقات والخدمات التي يستخدمها عملاؤهم وموظفوهم كل يوم. يمكن الآن للمطورين إنشاء التطبيقات أسرع وأفضل وبتكلفة أقل من خلال الاستفادة من البيانات والوظائف التي يتم عرضها من خلال واجهات API بدلاً من إنشاء كل شيء من البداية.

تُعد تطبيقات الإدارة المالية حالات استخدام رئيسة ومطلوبة لواجهات API. يمكنها مساعدة مديري المعلومات التنفيذيين في مساعدة المديرين الماليين على تقديم أنظمة تُسعد كل من الموظفين والعملاء. فيما يلي طرق أخرى للمساعدة في تبسيط العمليات المالية الرئيسة.

الأسئلة الشائعة حول API

ما الأنواع الأربعة لواجهات API؟

تكون الأنواع الأربعة لواجهات API عامة (يمكن لأي شخص استخدامها)، وخاصة (تم تطويرها داخليًا داخل المؤسسة)، وشريكة (تم تطويره للعمل بين البرامج من المؤسسات المعنية)، ومُركبة (أنواع مختلفة من واجهات API المُستخدمة معًا).

ما المثال على API في الواقع؟

من الأمثلة الجيدة على موفر API العام NASA، التي توفر واجهات API لمشاركة بيانات البحث والصور ومعلومات تتبع الأحداث. تسمح واجهات API هذه للمطورين بالحصول على موجز لبيانات NASA المُحددة—مثل تحديثات مركبة Mars Rover أو تفاصيل حول الأحداث الطبيعية التي تتبعها NASA مثل الثورات البركانية—ودمجها في تطبيقاتها الخاصة. على سبيل المثال، قد يدمج تطبيق الطقس تحديثات لمركبة Mars Rover في قسم خاص يتم الترويج له على أنه موجز "مُباشر من المريخ" للمستخدمين للتحقق منه.

هل إنشاء API أمر سهل؟

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

ما المقصود بـ REST API بشكل بسيط؟

يشير نمط REST، الذي يشار إليه أحيانًا باسم RESTful إلى "نقل الحالة التمثيلية" وهو بروتوكول قياسي يُستخدم لتطوير خدمات الويب. توفر خدمة REST مجموعة من القواعد والإرشادات للسماح للتطبيقات المُختلفة بالاتصال عبر الإنترنت بطريقة قابلة للتوسع وفعَّالة. يحدد REST طريقة تقديم التطبيقات للطلبات—عادةً تكون "حصول على" و"وضع" و"نشر" و"حذف"—من خلال HTTP باستخدام HTML أو XLT أو Python أو JSON أو PHP أو نص عادي دون الاعتماد على إنشاء علاقة محددة بين العميل والخادم.