يُظهر مخطط التدفق كيفية اتصال الواجهة الأمامية بالخلفية عبر واجهة برمجة التطبيقات (API).
يُظهر مخطط التدفق كيفية اتصال الواجهة الأمامية بالخلفية عبر واجهة برمجة التطبيقات (API).المؤلف: Diego Mariano · الترخيص: CC BY-SA 4.0 · المصدر: ويكيميديا كومنز

ما هو API

تُعرّف واجهة برمجة التطبيقات (API) بأنها مجموعة من القواعد والبروتوكولات التي تسمح لتطبيقات البرمجيات المختلفة بالتواصل وتبادل البيانات بينها.11Introduction to API (Application Programming Interface)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد22Application programming interfaces | AGAgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يمكن اعتبارها لغة مشتركة تُسهل التفاعل بين الأنظمة دون الحاجة إلى معرفة تفاصيل التنفيذ الداخلية لكل منها.33What is an API? (Application Programming Interface)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُستَخدم الـ API لتوفير وسيلة موحدة تُتيح للبرمجيات طلب وظائف أو بيانات من بعضها البعض، ما يُعزّز التكامل والمرونة في بناء الأنظمة.44What is an API (application programming interface)?google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

فيما يلي بعض الخصائص الأساسية للـ API:

مثال توضيحي بسيط لاستدعاء API باستخدام لغة Python:

import requests

response = requests.get("https://api.example.com/data")
if response.status_code == 200:
    print(response.json())

هذا المثال يُظهر كيف يمكن لتطبيقٍ واحدٍ طلب بيانات من خدمةٍ أخرى عبر بروتوكول HTTP، وهو ما يُعد أحد أشكال تطبيقات الـ API في الواقع العملي.

التعريف بتشبيه بسيط

لَقْطَةُ شَاشَةٍ لِبُوسْتِمَان (Postman).
لَقْطَةُ شَاشَةٍ لِبُوسْتِمَان (Postman).المؤلف: Lovepeacejoy404 · الترخيص: CC BY-SA 4.0 · السنة: 2022 · المصدر: ويكيميديا كومنز

تُستَخدم واجهة برمجة التطبيقات (API) كوسيط يُشبه النادل في مطعم، حيث يَتلقى طلب الزبون (المستخدم) وينقله إلى المطبخ (الخدمة) ثم يُعيد النتيجة إلى الزبون على شكل طبق جاهز.66مفكر الـ API هو نفسه الـ Database؟ 🤯 أبسط تشبيه ممكن ...google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد في هذا التشبيه يُمثِّل طلب المستخدم «الطلب» (Request) الذي يقدِّمه إلى الـ API، وتُعيد الـ API «الاستجابة» (Response) التي تحمل البيانات المطلوبة.77API Explained for Beginners💡 – بالعربيةgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُحدَّد طبيعة الطلب عبر أحد الأنواع الشائعة: GET لجلب البيانات، POST لإرسال بيانات جديدة، PUT لتحديث بيانات موجودة، و DELETE لحذف بيانات.77API Explained for Beginners💡 – بالعربيةgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُصاغ الاستجابة غالبًا بصيغة JSON، وهي بنية نصية تُسهل على التطبيقات قراءة البيانات ومعالجتها.77API Explained for Beginners💡 – بالعربيةgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

GET /api/users/123 HTTP/1.1
Host: example.com
Accept: application/json
{
  "id": 123,
  "name": "Ali",
  "email": "ali@example.com"
}

الطلب والاستجابة

تعتمد واجهات API على نموذج الطلب والاستجابة (Request-Response Model)، حيث يبادر التطبيق بإرسال طلب لاسترجاع البيانات عند الحاجة إليها.88ما هي واجهة برمجة التطبيقات (API)؟creolestudios.comاذهب إلى المرجع ↓يُفتح في تبويب جديد وفي هذه البنية التقنية، يُطلق مصطلح العميل (Client) على التطبيق المُرسِل للطلب، بينما يُعرف التطبيق الذي يتولى معالجة الطلب وإرجاع الرد باسم الخادم (Server).99ما المقصود بواجهة برمجة التطبيقات (API)؟ - شرح "واجهات ... - AWSgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

تبدأ دورة الاتصال عندما يوجّه العميل طلبه نحو API متضمنًا عناصر التحقق اللازمة، مثل مفتاح API الذي يوضع غالبًا ضمن ترويسة الطلب.1010ما هو مفتاح API؟ - Auth Wiki - Logtogoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يتولى API تمرير هذا الطلب إلى الخادم، وعقب معالجته، يرجع API الاستجابة النهائية إلى التطبيق متضمنةً البيانات المطلوبة أو نتيجة الإجراء الذي نُفّذ.1111في الفيديو دا حأشرح ليكم شنو هو الـ API بطريقة بسيطة جداً، ...google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

وتشتمل البيانات المتبادلة في رسائل الطلب والاستجابة على عدة متغيرات ومكونات رئيسية:1212متغيّرات الطلب والاستجابة | Apigee Edge | Apigee Docsgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

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

تُصنَّف واجهات برمجة التطبيقات (API) بحسب نطاق استخدامها والكيان المستهدف، ما يُسهل اختيار الواجهة الملائمة لتكامل الأنظمة. ومن بين الأنواع الشائعة:

هذه الفئات تُظهر تنوع الأدوار التي يمكن أن تلعبها الـ API، من إتاحة خدمات عامة إلى تمكين التكامل العميق بين الأنظمة المتخصصة.

أمثلة من الحياة

تظهر واجهات برمجة التطبيقات (API) في العديد من الخدمات اليومية التي يستخدمها الناس دون أن يدركوا ذلك. فهذه الواجهات تتيح للتطبيقات التواصل مع أنظمة أخرى للحصول على بيانات أو تنفيذ عمليات محددة.

مثال برمجي يوضح استدعاء API للطقس باستخدام جافاسكريبت:

fetch('https://api.openweathermap.org/data/2.5/weather?q=Cairo&appid=YOUR_KEY')
  .then(response => response.json())
  .then(data => console.log(`درجة الحرارة: ${data.main.temp}°C`))
  .catch(error => console.error('خطأ في جلب البيانات', error));

الأمان والمفاتيح

تُعَدُّ مفاتيح API (API keys) أحد أسس التحكم في الوصول إلى الخدمات، حيث تُضمّن المفتاح في طلب HTTP المرسل إلى الواجهة، وغالبًا ما يُوضَع في رأس الطلب لتُستقبل من قبل الخادم للتحقق من الصلاحية.1010ما هو مفتاح API؟ - Auth Wiki - Logtogoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُسهم بوابات API (API Gateway) في تعزيز الأمان عبر تطبيق سياسات تحكم دقيقة، مثل فرض قيود على الاستخدام وتحديد مستويات الوصول، إلى جانب توجيه وتحويل الطلبات وتوحيد الاستجابات.1919ما هي API Gateway ؟ | IBMgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد إضافة إلى ذلك، تُوفر منصات API إرشادات وممارسات موثوقة لضمان سلامة النُظم وتجنّب الثغرات الأمنية المحتملة.2020API Platformgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

مثال يوضح إرسال مفتاح API في رأس الطلب:

GET /v1/resource HTTP/1.1
Host: api.example.com
Authorization: `Bearer YOUR_API_KEY`
Accept: application/json

أنظر أيضاً

المصادر

  1. Introduction to API (Application Programming Interface). ↩

  2. Application programming interfaces | AGA. ↩ ↩ ↩

  3. What is an API? (Application Programming Interface). ↩

  4. What is an API (application programming interface)?. ↩

  5. واجهة برمجة التطبيقات (API): ما هي وكيف تعمل في Web3. ↩

  6. مفكر الـ API هو نفسه الـ Database؟ 🤯 أبسط تشبيه ممكن .... ↩

  7. API Explained for Beginners💡 – بالعربية. ↩ ↩ ↩

  8. ما هي واجهة برمجة التطبيقات (API)؟. ↩

  9. ما المقصود بواجهة برمجة التطبيقات (API)؟ - شرح "واجهات ... - AWS. ↩

  10. ما هو مفتاح API؟ - Auth Wiki - Logto. ↩ ↩

  11. في الفيديو دا حأشرح ليكم شنو هو الـ API بطريقة بسيطة جداً، .... ↩

  12. متغيّرات الطلب والاستجابة | Apigee Edge | Apigee Docs. ↩ ↩ ↩ ↩ ↩

  13. ما هي واجهة برمجة التطبيقات (API) واستخداماتها. ↩ ↩

  14. تعرف على أنواع وبروتوكولات واجهة برمجة التطبيقات API. ↩

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

  16. ما هي API وكيف تعمل - (بأمثلة بسيطة وسهلة للمبتدئين). ↩

  17. شرح مبسط لاهم مواضيع ال JavaScript وهو Api مع الامثلة والانواع. ↩

  18. أنواع واجهات API لحجوزات الطيران + مفهوم Block Seat واحد من أهم .... ↩

  19. ما هي API Gateway ؟ | IBM. ↩ ↩ ↩ ↩

  20. API Platform. ↩