آموزشی

API چیست؟ آشنایی کامل با API و نحوه ارتباط نرم‌افزارها

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

15 دقیقه مطالعه ۱۲ مهر ۱۴۰۵ 23 بازدید مرتضی رستمیان
تصویر مقاله API چیست؟ آشنایی کامل با API و نحوه ارتباط نرم‌افزارها
مفاهیم دنیای برنامه‌نویسی

API چیست؟ آشنایی کامل با API و نحوه ارتباط نرم‌افزارها

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

API یکی از اصلی‌ترین راه‌های شکل گرفتن این ارتباطه. اسمش شاید در نگاه اول کمی فنی به نظر برسه، ولی مفهومش خیلی ساده‌تر از چیزیه که فکر می‌کنید. توی این مقاله قرار نیست وارد کدنویسی بشیم؛ فقط می‌خوایم ببینیم API واقعاً چیه و توی دنیای نرم‌افزار چه نقشی داره.

کاربرد اصلی ارتباط بین سیستم‌ها
شروع ارتباط Request
نتیجه ارتباط Response
نقش اصلی API واسطه ارتباط

اصلاً API یعنی چی؟

API مخفف Application Programming Interface است. ترجمه رسمی این عبارت شاید کمکی به ساده‌تر شدن موضوع نکنه، پس بهتره خیلی معمولی بهش نگاه کنیم.

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

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

همین جدایی باعث میشه سیستم‌های مختلف بتونن بدون اینکه کاملاً به ساختار داخلی هم وابسته باشن، کنار هم کار کنن.

یه مثال خیلی ساده

API رو مثل گارسون یک رستوران تصور کنید

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

شما سفارشتون رو به گارسون می‌دید. گارسون درخواست رو به آشپزخانه می‌رسونه، آشپزخانه غذا رو آماده می‌کنه و بعد نتیجه دوباره از طریق گارسون به شما می‌رسه.

توی خیلی از نرم‌افزارها API تقریباً همین نقش رو بازی می‌کنه.

در رستوران در نرم‌افزار
مشتری برنامه یا Front-end
گارسون API
آشپزخانه Backend و Database
غذای آماده Response
اصل ماجرا همین‌جاست

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

چرا نرم‌افزارهای امروزی این‌قدر به API وابسته شدن؟

یه نرم‌افزار امروزی ممکنه از چندین بخش مختلف تشکیل شده باشه. رابط کاربری یه طرفه، اطلاعات کاربران یه جای دیگه نگهداری میشه، پرداخت ممکنه توسط یه سرویس جدا انجام بشه و ارسال پیام هم به سیستم متفاوتی سپرده شده باشه.

اگه همه این قسمت‌ها بدون مرز و مستقیماً به هم وصل می‌شدن، تغییر دادن و نگهداری سیستم خیلی زود تبدیل به دردسر می‌شد.

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

Client و Server کجای این داستان قرار می‌گیرن؟

وقتی درباره API صحبت میشه، معمولاً اسم Client و Server هم خیلی زود به گوش می‌خوره.

Client

معمولاً همون بخشی از نرم‌افزاره که درخواست رو شروع می‌کنه. یه سایت، اپلیکیشن موبایل یا حتی یه نرم‌افزار دسکتاپ می‌تونه Client باشه.

Server

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

API در خیلی از پروژه‌ها همون رابط مشخصیه که این دو طرف از طریقش با هم حرف می‌زنن.

پشت صحنه ارتباط

وقتی از API استفاده میشه چه اتفاقی میفته؟

جزئیات هر API می‌تونه متفاوت باشه، ولی اصل ماجرا معمولاً یه رفت‌وبرگشت مشخص بین درخواست و پاسخه.

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

Request و Response یعنی چی؟

این دوتا از پرتکرارترین واژه‌ها موقع صحبت درباره API هستن، ولی معنی‌شون خیلی سرراسته.

Request

همون چیزیه که یه برنامه از سیستم دیگه می‌خواد. ممکنه درخواست اطلاعات باشه، ثبت یه مورد جدید باشه یا مربوط به تغییر یه داده موجود.

Response

پاسخی که سیستم مقابل میده. این پاسخ می‌تونه خود اطلاعات، نتیجه یه عملیات یا حتی توضیحی درباره وجود یه مشکل باشه.

یکی از اصطلاحات مهم

Endpoint چه معنی‌ای داره؟

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

Endpoint به زبان ساده همون نقطه مشخصیه که برای یه کار یا یه نوع اطلاعات خاص در API در نظر گرفته شده.

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

همه درخواست‌های API قرار نیست یه کار انجام بدن

بعضی وقت‌ها برنامه فقط دنبال خوندن اطلاعاته، گاهی می‌خواد اطلاعات جدیدی ثبت کنه و بعضی مواقع هدف تغییر یا حذف یه داده قبلیه.

نوع درخواست مفهوم کلی
GET دریافت اطلاعات
POST ثبت یا ارسال اطلاعات جدید
PUT / PATCH تغییر اطلاعات موجود
DELETE حذف اطلاعات

JSON چه ربطی به API داره؟

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

یکی از رایج‌ترین قالب‌هایی که برای این کار استفاده میشه JSON هست.

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

API توی یه فروشگاه اینترنتی چه کاری انجام میده؟

وقتی وارد یه فروشگاه اینترنتی می‌شید، اطلاعات زیادی جلوی شما قرار می‌گیره؛ از اسم و قیمت محصول گرفته تا موجودی و مشخصات اون.

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

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

API فقط مال سایت‌ها نیست؛ اپلیکیشن‌های موبایل هم بهش وابسته‌ان

خیلی از اپلیکیشن‌هایی که روی گوشی استفاده می‌کنیم بدون ارتباط با یه سرور خارجی امکانات چندانی ندارن.

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

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

API و هوش مصنوعی

قابلیت‌های هوش مصنوعی چطور وارد نرم‌افزارها میشن؟

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

ممکنه برنامه اطلاعات رو برای یه سرویس جداگانه بفرسته، اون سرویس پردازش لازم رو انجام بده و نتیجه رو برگردونه.

API یکی از رایج‌ترین روش‌های ایجاد این ارتباطه و می‌تونه نرم‌افزار رو به قابلیت‌هایی مثل پردازش متن، تصویر، ترجمه یا تحلیل اطلاعات متصل کنه.

API کجاها استفاده میشه؟

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

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

ارتباط Front-end و Back-end با API

یکی از جاهایی که نقش API خیلی واضح دیده میشه، ارتباط بین Front-end و Back-end یه نرم‌افزاره.

Front-end

همون بخشیه که کاربر می‌بینه و باهاش کار می‌کنه؛ مثل فرم‌ها، صفحات، دکمه‌ها و ظاهر نرم‌افزار.

Back-end

پشت صحنه برنامه‌ست؛ جایی که پردازش اطلاعات، منطق سیستم، کاربران و پایگاه داده مدیریت میشن.

API

یکی از راه‌هاییه که این دو بخش از طریق اون اطلاعات موردنیازشون رو با هم جابه‌جا می‌کنن.

API همون Back-end نیست

این دو مفهوم خیلی به هم نزدیکن و برای همین بعضی وقت‌ها با هم اشتباه گرفته میشن.

Back-end می‌تونه شامل منطق برنامه، پایگاه داده، سیستم کاربران، پردازش‌ها، امنیت و کلی بخش دیگه باشه.

API یکی از راه‌های ارتباط با این مجموعه‌ست. یعنی میشه Back-end رو یه سیستم بزرگ‌تر در نظر گرفت که API بخشی از مسیر ارتباط با اونه.

هویت و دسترسی

API از کجا می‌فهمه چه کسی درخواست فرستاده؟

قرار نیست هر کسی بتونه هر درخواستی رو برای یه سیستم بفرسته و به هر اطلاعاتی دسترسی داشته باشه.

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

اصطلاح‌هایی مثل Token یا API Key معمولاً تو همین فضا دیده میشن. این ابزارها می‌تونن به سیستم کمک کنن هویت یا مجوز درخواست‌کننده رو تشخیص بده.

در نتیجه امنیت API فقط به خود اطلاعات مربوط نیست؛ اینکه چه کسی به چه بخشی دسترسی داشته باشه هم بخش مهمی از ماجراست.

شناخته شدن با اجازه داشتن فرق داره

ممکنه سیستم دقیقاً بدونه چه کسی درخواست رو فرستاده، ولی این به معنی دسترسی نامحدود اون شخص نیست.

یه کاربر معمولی ممکنه فقط اطلاعات حساب خودش رو ببینه، در حالی که مدیر سیستم دسترسی گسترده‌تری داشته باشه.

همین تفاوت بین «چه کسی هستی؟» و «اجازه انجام چه کاری رو داری؟» یکی از پایه‌های مهم امنیت API به حساب میاد.

API فقط اطلاعات نمی‌فرسته؛ نتیجه درخواست رو هم مشخص می‌کنه

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

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

نرم‌افزار با توجه به همین نتیجه متوجه میشه عملیات موفق بوده یا باید رفتار متفاوتی نشون بده.

وقتی API خطا میده، لزوماً یعنی خراب شده؟

نه. خطا همیشه به معنی خراب بودن خود API نیست. گاهی درخواست اطلاعات کافی نداره، گاهی چیزی که دنبالش هستیم پیدا نمیشه یا کاربر اجازه انجام اون عملیات رو نداره.

البته گاهی هم مشکل واقعاً از سمت سروره؛ مثلاً یه سرویس موقتاً در دسترس نیست یا فشار زیادی روی سیستم وجود داره.

یه API خوب تلاش می‌کنه حتی خطاها رو هم به شکل قابل فهم برگردونه تا سیستم مقابل بدونه چه اتفاقی افتاده.

همه APIها برای استفاده عمومی ساخته نشدن

API عمومی

برای توسعه‌دهندگان بیرون از مجموعه هم قابل استفاده‌ست، البته معمولاً با قوانین و محدودیت‌های مشخص.

API خصوصی

فقط داخل یه سازمان، شرکت یا محصول استفاده میشه و برای استفاده عمومی طراحی نشده.

API مخصوص شرکا

ممکنه فقط در اختیار کسب‌وکارها یا سرویس‌هایی قرار بگیره که همکاری مشخصی با ارائه‌دهنده دارن.

اصطلاحی که زیاد می‌بینیم

REST API با API چه فرقی داره؟

API یه مفهوم کلیه و میشه اون رو به روش‌های مختلفی طراحی کرد. REST یکی از روش‌های رایج برای ساخت APIهای تحت وبه.

بنابراین API و REST API دقیقاً یه معنی ندارن. REST API در واقع نوعی APIه که براساس یه سری اصول مشخص طراحی شده.

خیلی ساده اگر بخوایم بگیم: هر REST API یک APIه، ولی هر API لزوماً REST 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 می‌رسه؟

برنامه‌نویس Front-end برای گرفتن اطلاعات از سرور و ارسال داده‌های کاربر معمولاً با API سروکار داره.

برنامه‌نویس Back-end ممکنه خودش API طراحی کنه یا سیستمش رو به سرویس‌های دیگه متصل کنه.

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

برای همین API فقط متعلق به یه شاخه خاص نیست؛ تقریباً تو همه بخش‌های توسعه نرم‌افزار میشه ردپاش رو دید.

سوالات متداول درباره API

API به زبان ساده چیه؟

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

API همون سروره؟

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

آیا API همون Back-end محسوب میشه؟

خیر. Back-end می‌تونه بخش‌های مختلفی مثل پایگاه داده، منطق برنامه و سیستم کاربران داشته باشه. API فقط یکی از راه‌های ارتباط با اون مجموعه‌ست.

REST API چه فرقی با API داره؟

API یه مفهوم کلیه و REST یکی از روش‌های رایج طراحی API تحت وبه. پس هر REST API یه API هست، ولی هر API لزوماً REST نیست.

آیا API فقط برای سایت استفاده میشه؟

نه. اپلیکیشن موبایل، نرم‌افزار دسکتاپ، سیستم‌های سازمانی، سرویس‌های ابری و خیلی از محصولات دیجیتال می‌تونن از API استفاده کنن.

API عمومی یعنی همه اطلاعات برای همه بازه؟

نه. عمومی بودن API به معنی دسترسی نامحدود نیست. ممکنه احراز هویت، سطح دسترسی یا محدودیت تعداد درخواست وجود داشته باشه.

اگه API قطع بشه چه اتفاقی میفته؟

بستگی داره نرم‌افزار چقدر به اون سرویس وابسته باشه. ممکنه فقط یه قابلیت موقتاً از دسترس خارج بشه یا بخش مهم‌تری از برنامه نتونه اطلاعات جدید دریافت کنه.

چرا API برای برنامه‌نویس‌ها مهمه؟

چون بیشتر نرم‌افزارهای امروزی به شکل‌های مختلف با سیستم‌ها و سرویس‌های دیگه ارتباط دارن و API یکی از اصلی‌ترین راه‌های شکل گرفتن این ارتباطه.

جمع‌بندی

پشت خیلی از اتفاق‌های ساده دنیای نرم‌افزار، یه API قرار گرفته

شاید کاربر فقط یه دکمه رو فشار بده و چند لحظه بعد نتیجه رو ببینه، اما پشت همون اتفاق ساده ممکنه چند سیستم مختلف در حال ارتباط با هم باشن. API یکی از چیزهاییه که این ارتباط رو مرتب و قابل کنترل می‌کنه.

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

وقتی مفهوم API رو درست بفهمیم، خیلی از چیزهایی که در ظاهر پیچیده به نظر می‌رسن قابل فهم‌تر میشن؛ چون در نهایت بخش بزرگی از داستان به یه چیز برمی‌گرده: یه سیستم چیزی می‌خواد، سیستم دیگه درخواست رو بررسی می‌کنه و یه جواب مشخص برمی‌گردونه.