چگونه از API استفاده کنیم؟
API چیست؟
معمولا اگر با پشتیبانی یک نرم افزار که خدمات بانکی ارائه میدهد تماس بگیرید و بپرسید که چرا یک سری سرویس ها در اپلیکیشن شما ارائه نمیشوند؟ معمولا پاسخ می دهند که ما به آن قسمت از اطلاعات دسترسی نداریم. اما اگر همین سوال را از برنامه نویس آن شرکت بپرسید، چیزی که میشنوید این است که “API اجازه دسترسی به آن داده ها را به ما نمیدهد.” خب این API دقیقا چیست؟ بیایید با هم آن را بررسی کنیم.
به ساده ترین زبان ممکن، API را میتوانید یک باجه در یک شرکت دیگر در نظر بگیرید که اطلاعات خاصی را در اختیار اپلیکیشن ما قرار میدهد. پس بصورت کلی API یک سیستم است که درون یک شرکت که اطلاعات قابل ارائه ای دارد طراحی میشود و در اختیار سرویس ها یا نرم افزارهای دیگر قرار میگیرد.
اگر بخواهم API را بصورت تخصصی تر معرفی کنم، باید بدانید که مخفف سه کلمه Application Programming Interface است و معنی آن به زبان خودمان میشود “رابط برنامه نویسی برای اپلیکیشن”. برای درک بهتر فرض کنید یک اپلیکیشن دارید که نیاز دارد یک سری اطلاعات را از یک کمپانی دریافت کند و از آن استفاده کند (مثلا نرم افزار های بانکداری یا آنفالو یاب های اینستاگرام که اولی اطلاعات را از بانک میگیرد و دومی اطلاعات را از اینستاگرام).
حالا به نظر شما این اطلاعات چگونه به اپلیکیشن شما انتقال داده میشود؟ خودتان دستی این اطلاعات را از جایی میگیرید و در نرم افزارتان وارد میکنید؟ خیر. اینجا اپلیکیشن شما خودش با استفاده از کدهایی که نوشتید اطلاعات را از کمپانی مورد نظر دریافت میکند. در آن کمپانی بزرگتر هم که قرار است داده ها را برای شما بفرستد، این روند باز هم با استفاده از نرم افزار انجام میشود. دقت کردید؟ دو نرم افزار با یکدیگر ارتباط برقرار کردند و اطلاعاتی رد و بدل شد. این دقیقا چیزی است که یک API میتواند برای ما انجام بدهد.
به همین دلیل نام آن رابط برنامه نویسی اپلیکیشن است. زیرا با استفاده از برنامه نویسی، یک رابط بین نرم افزار ما و دیگر نرم افزار ها (یا سرویس ها، یا شرکت ها) میسازد. اما شما چه کاری میکنید؟ شما باید زبان این رابط را بلد باشید تا بتوانید کدهای مناسب برای آن را بنویسید تا بقیه کارها را اتوماتیک انجام بدهد.

نمیتوانیم بگوییم API مانند یک درگاه USB یا یک رودخانه از اطلاعات است که همه چیز را در اختیار ما قرار میدهد. بیشتر میتوانیم بگوییم API مانند یک انسان است که قرار نیست همه اطلاعات را در اختیارمان بگذارد. فقط میتوانیم از طریق آن به حوزه محدودی از داده ها که از قبل مشخص شده است دسترسی پیدا کنیم. زیرا نباید همه اطلاعات یک اپ یا کمپانی در اختیار دیگران قرار بگیرد.
در حقیقت API داده هایی را در اختیار کاربران خارجی قرار میدهد که توسط برنامه نویس های داخلی آن شرکت تهیه شده اند. نکته ای که باید به آن توجه داشته باشید این است که API ها زبان خاص خودشان را دارند. پس باید برای کار کردن با آنها زبانشان را بلد باشید.
وقتی که برنامه نویس ها تصمیم میگیرند مقداری از اطلاعات خودشان را در اختیار همه قرار بدهند، در حقیقت بخش هایی از زبانی که برای برنامه نویسی و ساختن نرم افزار خودشان استفاده کرده اند را منتشر میکنند. بقیه برنامه نویس ها هم میتوانند داده ها را با استفاده از ساخت لینک و استفاده از کلاینت های HTTP (برنامه های مخصوصی که URL یا آدرس های اینترنتی را برای شما تولید میکنند)، استخراج کنند (Pull کنند).
چرا باید از یک API استفاده کنیم؟
کامپیوتر ها همه کارها را ساده تر میکنند. مخصوصا گشت و گذار در داده های بسیار زیاد که کار زمان بر و زیادی است با استفاده از کامپیوتر ها میتواند در چند ثانیه و با فشردن چند کللید انجام بشود. مثلا فرض کنید که شما یک شرکت دارید و میخواهید بدانید که یک شریک تجاری خاص، چه تعداد فاکتور برای شما ارسال کرده است. الان دو راه دارید، یا میتوانید همه پرونده های کاغذی را روی میزتان بچینید و یکی یکی همه فاکتور ها را پیدا کنید که شاید چندین ماه طول بکشد. (معمولا این صحنه رو توی فیلم ها میبینین که یکی نشسته پشت میز و تا سقف جلوش زونکن هست).
ولی راه دیگر این است که همه فاکتور ها در سیستم شما ثبت شده باشند و با نوشتن یک دستور به نام from در دیتابیس شرکت خودتان، بعد از چند دهم ثانیه همه فاکتور ها برای شما نمایش داده میشوند و میتوانید آنها را با پرینتر چاپ کنید. خب به نظر شما کدام راه بهتر است؟
اما باز هم این روش میتواند بهتر بشود. اگر همه این فاکتورها و مدارک روی یک دیتابیس (پایگاه داده) مرکزی آپلود بشوند، میتوانید یک اپلیکیشن بنویسید که به این دیتابیس دسترسی داشته باشد و همه جزئیات مشتری هایی که میخواهید را درون اپلیکیشن خروجی بگیرید. یعنی دیگر لازم نیست کدنویسی را خودتان هربار انجام بدهید. اپلیکیشن شما خودش با کدنویسی با دیتابیس ارتباط برقرار میکند و داده هایی که میخواهید را به راحتی در اختیار شما قرار میدهد. این روش بسیار سریع تر و دقیق تر از راه های دیگر میباشد.
معماری یک API
یک API از سه قسمت زیر تشکیل شده است:
- User (کاربر): شخصی که یک درخواست (request) را درست میکند. (یعینی یک خدمت را از طریق نرم افزار درخواست میکند).
- Client (کلاینت): کامپیوتری که درخواست کاربر را به سمت سرور ارسال میکند.
- Server (سرور): کامپیوتری که به درخواست ها پاسخ میدهد (اسم این کامپیوتر سرور هست).
کارهایی که میتوانید با API انجام بدهید
پس تا اینجا متوجه شدیم API یک روش است که دو کامپیوتر میتوانند با یکدیگر صحبت کنند و ارتباط داشته باشند. سرور اطلاعات را در اختیار دارد و زبان ارتباط را هم مشخص میکند، کلاینت هم از این زبان استفاده میکند تا اطلاعات را از سرور درخواست بکند. API ها میتوانند همه کاری برای شما انجام بدهند.
اما زیاد تند نروید، باید بگویم که زبان و سینتکسی که برای API استفاده میشود توانایی های آنها را به شدت محدود میکند. یعنی در حقیقت چهار نوع عمل را یک API میتواند انجام بدهد:
- GET (دریافت): داده ها را از سرور درخواست میکند (این اطلاعات میتواند هم وضعیت باشد، هم داده های مشخص مانند نام_خانوادگی)
- POST (ارسال): تغییرات را از طریق کلاینت برای سرور ارسال میکند. میتوانید این عمل را مانند اضافه کردن اطلاعات به سرور در نظر بگیرید.
- PUT (جاگذاری): داده ای که از قبل وجود دارد را جایگزین میکند یا چیزهایی به آن اضافه میکند.
- DELETE (حذف کردن): اطلاعاتی که روی سرور وجود دارد را حذف میکند.
ثبت نظر شما