واسط برنامه‌نویسی کاربردی

[بندانگشتی|[نمودار واسط برنامه‌نویسی نرم‌افزار کاربردی در یک کارگاه آموزشی]]
**واسط برنامه‌نویسی نرم‌افزار کاربردی** یا **ای‌پی‌آی**  که به صورت خلاصه به آن **واسط [[برنامه‌نویسی]] ** هم گفته می‌شود، واسط بین یک کتابخانه یا سیستم‌عامل و برنامه‌هایی است که از آن تقاضای سرویس می‌کنند.

واسط کارکردهایی را تعریف می‌کند که کتابخانه یا سیستم‌عامل می‌تواند ارائه دهد و مفهومی مجرد است. این کارکردها سپس در قالب یک نرم‌افزار یا کتابخانه پیاده‌سازی می‌شوند. به عبارت ساده‌تر، واسط برنامه‌نویسی مجموعه توابعی است که یک برنامه می‌تواند از یک برنامه دیگر فرا بخواند.. در واقع API واسط بین دو نرم‌افزار (اپلیکیشن) است که امکان ارتباط بین آن‌ها را برقرار می‌کند.

برای مثال مایکروسافت برای APIهای ویندوز مرجع‌هایی استاندارد دارد که با استفاده از آن‌ها برنامه‌نویسان می‌توانند از قابلیت‌ها و سرویس‌های سیستم‌عامل در توسعه و نوشتن برنامه‌های کاربردی خود استفاده کنند.

به‌طور کلی به مجموعه‌ای از توابع و رویه‌ها که به برنامه‌های کاربردی دیگر اجازه دسترسی و استفاده از ویژگی‌ها یا داده‌های یک نرم‌افزار را می‌دهد، ای‌پی‌آی‌های آن نرم‌افزار گفته می‌شود. نرم‌افزار ارائه دهنده ای‌پی‌آی می‌تواند یک سایت اینترنتی، یک سیستم‌عامل یا هر سرویس دیگری باشد. در اینجا خدمات پایه نرم‌افزارهای تحت وب هستند که ای‌پی‌آی‌های متنوعی ارائه می‌دهند و برنامه نویسان و تولیدکنندگان دیگری می‌توانند از آن‌ها استفاده نموده و بنابراین هزینه‌های زیرساختی و برنامه‌نویسی آن‌ها کاهش پیدا کرده و سرعت برنامه‌نویسی آن‌ها افزایش پیدا خواهد کرد زیرا دیگر لازم نیست که برای ایجاد یک ویژگی خاصی مجدداً برنامه‌نویسی کنند. همچنین امنیت برنامه‌های آن‌ها نیز افزایش خواهد یافت، چرا که ارائه دهندگان خدمات پایه امنیت خود را در بالاترین سطح ممکن قرار خواهند داد.

**انواع API**
# API خصوصی
# API عمومی (باز)
# API مشارکتی

## مشخصات API باز
APIهای باز سه مشخصه اصلی دارند:
# آنها برای استفاده توسط توسعه‌دهندگان و دیگر کاربران با محدودیت‌های نسبتاً کمی، در دسترس هستند. محدودیت‌ها ممکن است شامل الزام برای ثبت‌نام در سرویسی که API را ارائه می‌کند، باشد.
# آنها معمولاً توسط داده‌های آزاد حمایت می‌شوند. داده‌های آزاد برای استفاده و دوباره منتشر کردن، به‌طور رایگان در دسترس همه هستند؛ بدون اینکه از جانب کپی‌رایت، حق امتیازها یا دیگر مکانیزم‌های کنترلی محدودیت داشته باشند. یک API باز ممکن است برای استفاده، رایگان باشد اما ناشر ممکن است چگونگی استفاده از داده API را محدود کند.
# آنها بر اساس «استانداردهای باز» هستند.

## اقتصاد API
اقتصاد API به زبان ساده، به این معناست که شما می‌توانید «یک سرویس کامل» از تعدادی «سرویس‌های کوچکتر» ایجاد کنید که توسط APIهایی به هم متصل شده‌اند. به این ترتیب شاهد رشد استارت آپ‌های موفقی هستیم که اساساً کل کسب و کار خود را بر مبنای APIهای مختلف بنیان نهاده‌اند. به عنوان مثال، شرکت تاکسی اینترنتی Lyft، با استفاده از اَپی گوگل مَپس (Google Maps) برای ناوبری، Twilio برای تأیید ثبت نام، و Stripe برای پرداخت هزینه شروع به کار کرد.

به این ترتیب در یک تعریف کلی اقتصاد API به معنای عرضه دارایی‌های دیجیتالی، اطلاعات یا سرویس‌های مختلف از طریق اِی‌پی‌آی بوده که فرصت درآمدزایی برای عرضه‌کننده و صرفه جویی اقتصادی برای متقاضی را در پی خواهد داشت.

گاهی از واسط‌های برنامه‌نویسی برای کنترل خدمات و افتراق حالت‌های مجاز از غیرمجاز نیز استفاده می‌شود. برای مثال، بسیاری از شبکه‌های اجتماعی مانند اینستاگرام یا توئیتر، با خودکارسازی تعاملات مخالف هستند. با این وجود، با ارائهٔ واسط‌های برنامه‌نویسی مشخصی سعی دارند بین ربات‌های شبکه اجتماعی که در محدودهٔ مناسبی از خودکارسازی فعالیت می‌کنند و آن‌هایی که بیشتر برای خرابکاری ساخته شده‌اند، تمایز ایجاد نمایند.

## منابع

رده:ارتباطات فنی
رده:واسط‌های برنامه‌نویسی کاربردی
رده:واژه‌های ابداع‌شده در ۱۹۶۸ (میلادی)
رده:معرفی‌شده‌های مرتبط با رایانه در دهه ۱۹۴۰ (میلادی)