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

واجهة برمجة التطبيقات هي طريقة متفق عليها يطلب بها برنامج من برنامج آخر معلومة أو تنفيذ عمل، فلا يحتاج أي منهما أن يعرف كيف بُني الآخر من الداخل.

يُعرف أيضًا بـ API الواجهة البرمجية خدمة ويب

التعريف

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

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

والقيمة كلها في الوعد، لأن شكل السؤال والجواب ثابت لا يتغير. فتستطيع شركة الشحن أن تعيد بناء نظامها كله العام المقبل ويبقى متجرك يعمل، ولهذا يسمي المبرمجون الواجهة عقدًا. وريست هو ببساطة الأسلوب الأشهر في كتابة هذا العقد.

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

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

أسئلة حول واجهة برمجة التطبيقات

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

ما زلت غير متأكد كيف ينطبق هذا على مشروعك؟

أخبرنا بما تبنيه وسنجيبك بلغة واضحة.