یک **API باز** (که اغلب به آن یک API عمومی گفته می شود) یک رابط برنامه نویسی برنامه در دسترس عموم است که دسترسی برنامه نویسی به یک برنامه نرم‌افزاری اختصاصی یا سرویس وب را برای توسعه دهندگان فراهم می کند. API مجموعه ای از ملزومات هستند که حاکم بر چگونگی برقراری ارتباط و تعامل یک برنامه با برنامه دیگر است. API ها همچنین می توانند به توسعه دهندگان دسترسی داشته باشند که به برخی کارکردهای داخلی یک برنامه دسترسی پیدا کنند ، اگرچه این به طور معمول برای API های وب رخ نمی‌دهد. به ساده ترین شرایط ، یک API به یک قطعه نرم‌افزار اجازه می دهد تا با یک نرم‌افزار دیگر ارتباط برقرار کند ، چه در داخل یک کامپیوتر واحد و چه از طریق مکانیسم ارائه شده توسط سیستم عامل یا از طریق TCP / IP داخلی یا خارجی داخلی یا خارجی یا غیر TCP / IP. شبکه مبتنی بر. در اواخر سال 2010 ، بسیاری از 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 و وب 2.0 ، تجربه مرور مدرن تعاملی و پویا شده است و این تا حدودی با استفاده از API های باز تسریع شده است. برخی از API های باز داده ها را از پایگاه داده در پشت وب سایت می گیرند و به آنها API وب گفته می شود. به عنوان مثال ، API YouTube Google به توسعه دهندگان امکان می دهد YouTube را در برنامه های خود ادغام کنند و این امکان را برای جستجوی فیلم ها ، بازیابی فیدهای استاندارد و مشاهده محتوای مرتبط دارند.

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