یک **API باز** (که اغلب به آن یک API عمومی گفته می‌شود) یک رابط برنامه‌نویسی برنامه در دسترس عموم است که دسترسی برنامه‌نویسی به یک برنامه نرم‌افزاری اختصاصی یا سرویس وب را برای توسعه دهندگان فراهم می‌کند. API مجموعه ای از ملزومات هستند که حاکم بر چگونگی برقراری ارتباط و تعامل یک برنامه با برنامه دیگر است. APIها همچنین می‌توانند به توسعه دهندگان دسترسی داشته باشند که به برخی کارکردهای داخلی یک برنامه دسترسی پیدا کنند، اگرچه این به‌طور معمول برای APIهای وب رخ نمی‌دهد. به ساده‌ترین شرایط، یک API به یک قطعه نرم‌افزار اجازه می‌دهد تا با یک نرم‌افزار دیگر ارتباط برقرار کند، چه در داخل یک کامپیوتر واحد و چه از طریق مکانیسم ارائه شده توسط سیستم عامل یا از طریق TCP / IP داخلی یا خارجی داخلی یا خارجی یا غیر TCP / IP. شبکه مبتنی بر. در اواخر سال ۲۰۱۰، بسیاری از APIها توسط سازمان‌ها برای دسترسی به HTTP ارائه می‌شوند. APIها ممکن است توسط توسعه دهندگان داخل سازمان که API را منتشر کرده‌اند یا هر توسعه دهنده خارج از آن سازمان که مایل به ثبت نام برای دسترسی به رابط هستند، مورد استفاده قرار گیرد.

خصوصیات
-------

APIهای باز سه ویژگی اصلی دارند:

1. آنها برای استفاده توسعه دهندگان و سایر کاربران با محدودیت‌های نسبتاً کمی در دسترس هستند. محدودیت‌ها ممکن است شامل لزوم ثبت نام در سرویس ارائه API باشد. یک **API باز** (که اغلب به آن یک API عمومی گفته می‌شود) یک رابط برنامه‌نویسی برنامه در دسترس عموم است که دسترسی برنامه‌نویسی به یک برنامه نرم‌افزاری اختصاصی یا سرویس وب را برای توسعه دهندگان فراهم می‌کند.
2. آنها معمولاً توسط داده‌های باز پشتیبانی می‌شوند. داده‌های باز آزادانه در دسترس همه است تا بتوانند بدون هیچ گونه محدودیتی از حق چاپ، حق ثبت اختراع یا سایر سازوکارهای کنترل، آنطور که مایل به استفاده و انتشار مجدد باشند. یک API Open ممکن است آزاد باشد اما ناشر ممکن است نحوه استفاده از داده‌های API را محدود کند.
3. آنها مبتنی بر یک استاندارد باز هستند.

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 قابلیت جستجو را برای برنامه توسعه دهنده فراهم می‌کند در عین حال باعث افزایش ترافیک جستجوی موتور جستجوی یاهو از این رو به نفع هر دو طرف می‌شود. با توجه به فیس بوک و توییتر، می‌توانیم ببینیم که اشخاص ثالث چگونه این سرویس‌ها را با کد خودشان غنی سازی کرده‌اند. به عنوان مثال، امکان ایجاد یک حساب کاربری در یک سایت / برنامه خارجی با استفاده از گواهینامه‌های Facebook شما با استفاده از API Open Facebook امکان‌پذیر است.

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

APIها را در وب باز کنید
-----------------------

با افزایش شهرت HTML5 و وب ۲٫۰، تجربه مرور مدرن تعاملی و پویا شده‌است و این تا حدودی با استفاده از APIهای باز تسریع شده‌است. برخی از APIهای باز داده‌ها را از پایگاه داده در پشت وب سایت می‌گیرند و به آنها API وب گفته می‌شود. به عنوان مثال، API YouTube Google به توسعه دهندگان امکان می‌دهد YouTube را در برنامه‌های خود ادغام کنند و این امکان را برای جستجوی فیلم‌ها، بازیابی فیدهای استاندارد و مشاهده محتوای مرتبط دارند.

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

منابع
-----

1. ↑  Proffitt, Brian (September 19, 2013). "What APIs Are And Why They're Important". *Readwrite*. Retrieved 28 October 2015.
2. ↑  "What is open API? - Definition from WhatIs.com". *SearchCloudApplications*. Retrieved 2015-10-26.