المدونة

الصفحة الرئيسية / المدونة / استدعاءات واجهة برمجة التطبيقات (API) وكيف تعمل؟ دليل كامل

جدول المحتويات
الآلي, لا كود مكدس البيانات

تعلم كيف Astera يمكن لـ Data Stack تبسيط وتبسيط إدارة بيانات مؤسستك.

مكالمات API وكيف تعمل؟ دليل كامل

جافيريا رحيم

مساعد مدير كبار المسئولين الاقتصاديين

نوفمبر 14th، 2023

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

ما هي مكالمات API؟ 

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

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

اقرأ المزيد: كيفية بناء API 

الجوانب الفنية لاستدعاء API 

قبل أن ننتقل إلى كيفية إجراء استدعاء API، دعنا نفهم الجوانب الفنية لاستدعاءات API:  

تطبيق العميل: 

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

نقطة نهاية API: 

يحتاج تطبيق العميل إلى معرفة نقطة (نقاط) نهاية واجهة برمجة التطبيقات (API). نقطة النهاية هي عنوان URL محدد (محدد موقع الموارد) يمثل موردًا أو إجراءً معينًا توفره واجهة برمجة التطبيقات (API). على سبيل المثال، قد تحتوي واجهة برمجة التطبيقات (API) لبيانات الطقس على نقطة نهاية مثل https://api.weather.com/current-weather. 

طلب HTTP: 

للتواصل مع واجهة برمجة التطبيقات (API)، يرسل تطبيق العميل طلب HTTP إلى نقطة نهاية واجهة برمجة التطبيقات (API). يتكون الطلب من عدة أجزاء: 

طريقة HTTP: يحدد هذا نوع الإجراء الذي يريد العميل تنفيذه. تشمل الطرق الشائعة:  

  1. الحصول على (استرجاع البيانات) 
  2. بوست (إنشاء البيانات) 
  3. وضع (تحديث البيانات) 
  4. حذف (إزالة البيانات). 

رؤوس: وتحتوي هذه على معلومات إضافية حول الطلب، مثل نوع المحتوى وتفاصيل المصادقة والمزيد. 

معلمات الاستعلام أو نص الطلب: اعتمادًا على واجهة برمجة التطبيقات (API) ونقطة النهاية المحددة، يمكن إرسال البيانات كمعلمات استعلام في عنوان URL أو كحمولة JSON/XML في نص الطلب. 

خادم واجهة برمجة التطبيقات: 

خادم API هو البرنامج الذي يستمع للطلبات الواردة عند نقاط النهاية المحددة. عند تلقي طلب، يقوم الخادم بمعالجته بناءً على نقطة النهاية والطريقة والبيانات المقدمة. 

معالجة الطلب: 

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

منطق الأعمال: 

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

توليد الاستجابة: 

بعد معالجة الطلب، يقوم خادم API بإنشاء استجابة HTTP، والذي يتضمن عدة مكونات: 

  1. رؤوس: تحتوي هذه على معلومات إضافية حول الاستجابة، مثل نوع المحتوى وتوجيهات التخزين المؤقت. 
  2. هيئة الاستجابة: هذا هو المكان الذي يتم فيه تضمين بيانات الطلب أو نتيجة الطلب. يتم تنسيقه عادةً بتنسيق JSON أو XML أو HTML أو أي تنسيق منظم آخر. 
  3. رمز حالة HTTP: يشير إلى نتيجة الطلب 

استجابة HTTP: 

يرسل خادم API استجابة HTTP مرة أخرى إلى تطبيق العميل. 

معالجة العميل: 

يتلقى تطبيق العميل الاستجابة ويعالجها بناءً على رمز حالة HTTP والبيانات المقدمة في نص الاستجابة. 

معالجة الأخطاء: 

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

الإجراءات اللاحقة: 

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

استمتع بتجربة قوة واجهات برمجة التطبيقات (APIs) جيدة التصميم

تصميم واجهات برمجة التطبيقات (APIs) الفعالة والآمنة والصديقة للمطورين Asteraبيئة خالية من التعليمات البرمجية

عرض العرض التوضيحي

كيفية إجراء مكالمة API؟ 

الآن بعد أن أصبح لديك فهم أساسي للمصطلحات وكيفية عمل استدعاء واجهة برمجة التطبيقات (API)، دعنا نرى كيف يمكنك إنشاء واحد:  

اقرأ وثائق واجهة برمجة التطبيقات (API) بدقة

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

  1. فهم طريقة المصادقة المطلوبة للوصول إلى واجهة برمجة التطبيقات. توضح الوثائقa سواء كنت بحاجة إلى مفاتيح API أو رموز OAuth المميزة أو أي شكل آخر من أشكال المصادقة. تعرف على كيفية الحصول على بيانات الاعتماد هذه واستخدامها. 
  2. تحديد نقاط نهاية API المتاحة وأغراضها. يجب أن توفر الوثائق عنوان URL الأساسي ومسارات نقطة النهاية المحددة لكل مورد أو إجراء تريد الوصول إليه. 
  3. تحقق من وجود أي حدود للمعدلات أو حصص الاستخدام التي تفرضها واجهة برمجة التطبيقات. افهم عدد الطلبات المسموح لك بتقديمها خلال فترات زمنية محددة. كن على دراية بأي آثار تتعلق بالتكلفة أو عواقب تجاوز هذه الحدود. 
  4. تحقق مما إذا كانت وثائق API تشير إلى الإصدار. افهم إصدار واجهة برمجة التطبيقات (API) الذي تعمل معه وكيفية تحديد الإصدار في طلباتك. كن على علم بأي تغييرات قادمة أو ميزات مهملة. 
  5. حدد ما إذا كان موفر واجهة برمجة التطبيقات يوفر بيئة اختبار أو بيئة اختبار حيث يمكنك تجربة واجهة برمجة التطبيقات دون التأثير على بيانات الإنتاج. 

اختر طريقة HTTP الصحيحة

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

أنشئ عنوان URL لواجهة برمجة التطبيقات 

أنشئ عنوان URL لاستدعاء واجهة برمجة التطبيقات (API) من خلال دمج عنوان URL الأساسي لواجهة برمجة التطبيقات (API) ونقطة النهاية المحددة التي تريد الوصول إليها. فيما يلي تفاصيل الاعتبارات عند إنشاء عنوان URL لواجهة برمجة التطبيقات: 

  1. عنوان URL الأساسي هو نقطة البداية لواجهة برمجة التطبيقات. ويتضمن عادةً البروتوكول (http أو https) والمجال أو الخادم حيث تتم استضافة واجهة برمجة التطبيقات (API). على سبيل المثال، عنوان URL الأساسي هو "https://api.example.com". 
  2. بعد ذلك، تحتاج إلى تحديد نقطة النهاية، الذي يأتي الحق بعد عنوان URL الأساسي وغالبًا ما يتم تمثيله بمسار. على سبيل المثال، إذا كنت تريد استرجاعالاتحاد الأوروبيser، قد تكون نقطة النهاية هي "/ ملفات تعريف المستخدم". 
  3. ثم تحتاج إلى إضافة معلمات الاستعلام التي تقديم معلومات إضافية لطلب API. يتم تضمينها في عنوان URL بعد علامة الاستفهام "؟" ومفصولة بـ "&". على سبيل المثال، إذا كنت تريد استرداد ملف تعريف مستخدم محدد بمعرف 123، فيمكنك تضمين معلمة استعلام مثل "?user_id=123." سيبدو عنوان URL النهائي كما يلي: https://api.example.com/user-profiles?user_id=123 
  4. إذا كانت واجهة برمجة التطبيقات (API) تتطلب مصادقة، فقد تحتاج إلى تضمين رمز مصادقة مميز أو مفتاح واجهة برمجة التطبيقات (API) في الطلب، يمكنك القيام بذلك من خلال الرؤوس أو كجزء من عنوان URL (على سبيل المثال، "?api_key=your_api_key"). 

بتجميع كل ذلك معًا، قد يبدو عنوان URL الخاص بك كما يلي: https://api.example.com/user-profiles?user_id=123. 

إعداد الطلب 

قم بإنشاء طلب HTTP بلغة البرمجة الخاصة بك أو عميل API. قم بتعيين العناصر التالية في طلبك: 

  • طريقة HTTP: قم بتعيين الطريقة المقابلة للإجراء المقصود (على سبيل المثال، GET، POST، PUT، DELETE). 
  • الرؤوس: قم بتضمين رؤوس مثل "نوع المحتوى" (مع تحديد تنسيق البيانات لطلبك) وأي رؤوس تفويض مطلوبة. 
  • معلمات الاستعلام أو نص الطلب: قم بتضمين أي بيانات أو معلمات ضرورية لاستدعاء واجهة برمجة التطبيقات. اعتمادًا على واجهة برمجة التطبيقات (API)، قد يتم إرسال البيانات كمعلمات استعلام في عنوان URL أو في نص الطلب بتنسيق JSON أو أي تنسيق آخرt.  تلقي الرد 

فيما يلي بعض الأنواع الشائعة من رموز الاستجابة التي يجب أن تعرفها: 

2xx النجاح

  • 200 موافق: تم الطلب بنجاح. 
  • 201 تم الإنشاء: أدى الطلب إلى إنشاء مورد جديد. 
  • 204 لا يوجد محتوى: كان الطلب ناجحًا، ولكن لا توجد معلومات جديدة لإرسالها مرة أخرى (غالبًا ما تستخدم لطلبات الحذف). 

إعادة توجيه 3xx

  • 301 تم النقل بشكل دائم: تم نقل المورد المطلوب بشكل دائم إلى موقع جديد. 
  • تم العثور على 302 (أو 307 إعادة توجيه مؤقتة): تم نقل المورد المطلوب مؤقتًا إلى موقع جديد. 
  • 304 غير معدل: يستخدم لأغراض التخزين المؤقت؛ لم يتم تعديل المورد المطلوب منذ الطلب الأخير. 

4xx أخطاء العميل

  • 400 طلب سيئ: لم يتمكن الخادم من فهم الطلب. 
  • 401 غير مصرح به: يفتقر الطلب إلى بيانات اعتماد المصادقة المناسبة. 
  • 403 محظور: فهم الخادم الطلب، لكنه يرفض التفويض به. 
  • 404 لم يتم العثور عليه: تعذر العثور على المورد المطلوب على الخادم. 
  • 405 الطريقة غير مسموح بها: الطريقة المحددة في الطلب غير مسموح بها للمورد المحدد بواسطة الطلب. 

5xx أخطاء الخادم

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

429 طلبات كثيرة جدًا: 

  • لقد أرسل المستخدم عددًا كبيرًا جدًا من الطلبات في فترة زمنية معينة. 

هل أنت مستعد لإنشاء واجهات برمجة التطبيقات والوصول إليها واستهلاكها دون عناء؟

اكتشف واستكشف واشترك في واجهات برمجة التطبيقات العامة والخاصة باستخدام Asteraبوابة مطور API للخدمة الذاتية.

عرض العرض التوضيحي

كيفية تأمين واجهات برمجة التطبيقات من المكالمات غير الصالحة؟ 

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

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

المصادقة: 

  • استخدم آليات مصادقة قوية مثل مفاتيح API أو رموز OAuth المميزة أو JWT (JSON Web Tokens). 
  • تنفيذ مصادقة متعددة العوامل لمزيد من الأمان. 

تفويض: 

  • قم بفرض ضوابط الوصول المناسبة للتأكد من أن المستخدمين المصادقين لديهم حق الوصول فقط إلى الموارد المصرح لهم باستخدامها. 
  • تنفيذ التحكم في الوصول المستند إلى الأدوار (RBAC) لإدارة الأذونات بشكل فعال. 

HTTPS (SSL/TLS): 

  • استخدم دائمًا HTTPS لتشفير البيانات أثناء النقل ومنع التنصت. 
  • استخدم أحدث الإصدارات وأكثرها أمانًا من بروتوكولات SSL/TLS. 

التحقق من الإدخال: 

  • التحقق من صحة جميع بيانات الإدخال وتطهيرها لمنع هجمات الحقن مثل حقن SQL والبرمجة النصية عبر المواقع (XSS) وغيرها من عمليات الاستغلال الشائعة. 

تحديد السعر: 

  • تنفيذ تحديد المعدل لمنع إساءة الاستخدام والحماية من هجمات القوة الغاشمة. الحد من عدد الطلبات التي يمكن للعميل تقديمها خلال إطار زمني محدد.

مفاتيح واجهة برمجة التطبيقات:

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

انتهاء صلاحية الرمز المميز: 

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

تسجيل الدخول والرقابة: 

  • تنفيذ تسجيل قوي لتسجيل طلبات واستجابات واجهة برمجة التطبيقات. مراقبة السجلات بحثًا عن الأنشطة المشبوهة والوصول غير المصرح به. 
  • قم بإعداد تنبيهات للأنماط غير العادية أو الحوادث الأمنية. 

CORS (مشاركة الموارد عبر الأصل): 

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

بوابة API: 

  • استخدم بوابة API للإدارة المركزية لأمن API، بما في ذلك المصادقة والترخيص والمراقبة. 

جدار حماية تطبيقات الويب (WAF): 

  • قم بتنفيذ WAF للحماية من هجمات تطبيقات الويب الشائعة، مثل حقن SQL وXSS والتهديدات الأمنية الأخرى. 

رؤوس الأمان: 

  • استخدم رؤوس الأمان مثل سياسة أمان المحتوى (CSP) وStrict-Transport-Security (HSTS) وغيرها لتعزيز أمان واجهة برمجة التطبيقات (API) الخاصة بك. 

عمليات التدقيق الأمني ​​المنتظم واختبار الاختراق: 

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

إصدار واجهة برمجة التطبيقات: 

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

كلمات فراق 

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

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

ربما يعجبك أيضا
أفضل 7 أدوات لتجميع البيانات في عام 2024
إطار إدارة البيانات: ما هو؟ الأهمية والركائز وأفضل الممارسات
أفضل أدوات استيعاب البيانات في عام 2024
مع مراعاة Astera لتلبية احتياجات إدارة البيانات الخاصة بك؟

أنشئ اتصالاً خاليًا من التعليمات البرمجية مع تطبيقات مؤسستك وقواعد البيانات والتطبيقات السحابية لدمج جميع بياناتك.

دعونا نتواصل الآن!
يتيح الاتصال