api چیست؟ با معروف ترین APIها آشنا شوید

api چیست؟ با معروف ترین APIها آشنا شوید
()

احتمالا یکی از مباحثی که زیاد در دنیای برنامه نویسی شنیده اید اما ممکن است معنی و مفهوم آن را به خوبی درک نکرده باشید مبحث API است. در این مقاله قرار است راجع به این که api چیست صحبت کنیم پس تا پایان این مقاله با ما همراه باشید که این موضوع یا Concept بسیار جذاب را از دست ندهید.

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

اینجا api به عنوان یک ناجی وارد میدان می شود تا به شما کمک کند. اما api چیست؟

api چیست؟

در واقع api یک رابط بین برنامه ها است.اما اصلا رابط بین برنامه ها چه معنی دارد؟ رابط بین برنامه ها بودن این است که شما بین نرم افزارهای متفاوت میتوانید یک ارتباط یا اتصال ایجاد کنید که دقیقا نیاز شما را برطرف میکند. در مثال بالا به ساخت یک وبسایت نمایش آب و هوا،نمایش لحظه ای قیمت ارز و طلا و همچنین میتوانیم به بررسی لحظه ای مشخصات هویتی یک نفر از طریق سامانه ثبت احوال اشاره کنیم. ما نمیتوانیم تمامی دیتاها را داشته باشیم.

به همین دلیل از سرویس هایی که دیگر افراد آن ها را ساخته اند استفاده میکنیم که به آن api میگوییم که اصطلاحا مخفف کلمه Application Programming Interface است.

انواع API ها🏛️

اگر بخوایم api ها را دسته بندی کنیم میتوانیم بر اساس چندین معیار آن را مورد بررسی قرار دهیم:1-بر اساس میزان دسترسی2-بر اساس معماری(Artichectrue)

1-انواع api بر اساس میزان دسترسی

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

api عمومی

در دسترس همه عموم و توسعه دهنگان هستند مثل api تلگرام،api یوتیوب،api ایکس(توییتر سابق) و محدودیتی در استفاده از آن وجود ندارد. وب سرویس های پنل های پیامکی،درگاه پرداخت و موارد این چنینی همه از این دسته بندی محسوب می شوند.

api خصوصی

این گونه از api ها برای یک سازمان یا شخص خاص ساخته می شوند و هیچ ثالث دیگری نمیتواند از این api ها استفاده کند و بین آن سازمان یا اشخاص کاملا محرمانه نگهداری می شود.

api شراکتی

ممکن است گاهی اوقات دو شرکت تصمیم بگیرند که از یک ساختار api مشخص استفاده کنند.در چنین حالتی apiشراکتی یا اصطلاحا Partner میتواند به شما کمک بسیار بزرگی داشته باشد.

2-بر اساس معماری

هر کدام از حالت های api با معماری های مختلفی کار میکنند که معمولا معماری REST API و SOAP از محبوب ترین ها و پر استفاده ترین ها بوده اند.در حال حاضر معماری GraphQL یکی از بروز ترین و جدیدترین معماری های توسعه API محسوب می شود.

معماری REST API (Representational State Transfer)

  • رایج ترین نوع معماری در وب است
  • با پروتکل HTTP کار میکند و با آن سازگار است
  • بر پایه مفهوم منابع(Resources) است و بدون حالت یا Stateless است و وضعیت قبلی را ذخیره نمیکند و هر درخواست به صورت مجزا پردازش می شود.

معماری SOAP API (Simple Object Access Protocol)

  • این معماری نسبت به معماری های دیگر قدمت بیشتری دارد و قدیمی است
  • پیچیدگی بیشتری نسبت به REST دارد.
  • یک پروتکل استاندارد و تضمین شده است.به این معنی که این اطمینان را به ما میدهد که دیتا به صورت کامل و صحیح به مقصد رسیده است
  • معمولا در محیط های سازمانی به دلیل تضمین صحت اطلاعات بیشتر استفاده می شود.

معماری GraphQL

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

🛠️ ساختار یک API (مثال REST)

بیشتر APIهای مدرن وب از معماری REST پیروی می‌کنند و از مفاهیم زیر برای برقراری ارتباط استفاده می‌کنند:

۱. نقطه پایانی (Endpoint)

این همان آدرس URL است که شما درخواست خود را به آن ارسال می‌کنید. هر نقطه پایانی معمولاً به یک منبع (Resource) خاص اشاره دارد.

مثال: فرض کنید یک API برای مدیریت کاربران دارید.

  • نقطه پایانی برای گرفتن لیست همه کاربران:https://api.example.com/users
  • نقطه پایانی برای گرفتن اطلاعات یک کاربر خاص (با ID شماره ۱۲):https://api.example.com/users/12

۲. متدهای HTTP (HTTP Methods)

این متدها نوع عملیاتی را که می‌خواهید روی منبع انجام دهید، مشخص می‌کنند:

متدعملیاتتوضیح
GETخواندن (Read)بازیابی اطلاعات از سرور (مثلاً گرفتن لیست کاربران).
POSTایجاد (Create)ارسال داده‌های جدید به سرور (مثلاً ایجاد یک کاربر جدید).
PUTبه‌روزرسانی (Update)جایگزینی کامل یک منبع موجود.
PATCHبه‌روزرسانی جزئیبه‌روزرسانی بخشی از یک منبع موجود.
DELETEحذف (Delete)حذف یک منبع از سرور.

۳. درخواست و پاسخ (Request & Response)

یک تعامل API (مثل یک مکالمه) شامل یک درخواست و یک پاسخ است:

بخشتوضیحات
درخواست (Request)شامل متد HTTP، نقطه پایانی (URL)، و گاهی اوقات بدنه (Body) برای داده‌های ارسالی (مثل فرم ثبت‌نام) است.
پاسخ (Response)شامل کد وضعیت HTTP (مثل 200 OK یا 404 Not Found) و بدنه (معمولاً در قالب JSON) حاوی داده‌های درخواستی یا پیام خطا است.

مثال ساختار یک درخواست (POST):

فرض کنید می‌خواهید یک کاربر جدید با نام “علی” ایجاد کنید.

  • متد: POST
  • نقطه پایانی (URL): https://api.example.com/users

  • بدنه درخواست (JSON):
{
 "name": "Ali", 
"email": "ali@example.com" 
}

مثال ساختار یک پاسخ (GET):

درخواست اطلاعات کاربر شماره ۱۲ (متد GET به .../users/12)

  • کد وضعیت: 200 OK (به معنی موفقیت‌آمیز بودن)
  • بدنه پاسخ (JSON):
 {
 "id": 12,
  "name": "Sara",
   "email": "sara@example.com",
    "registered_date": "2025-01-01" 
    }

همانطور که دیدید api ها به صورت کلی با ساختار json کار میکنند به این معنی که با وارد کردن دیتا یا متغیرهای مورد نیاز در این فایل وب سایت یا سرویس های دیگر هم میتوانند از این api استفاده کنند.

در این ریپوزیتوری از گیت هاب تعداد زیادی از api های رایگان جمع آوری شده است:

https://github.com/public-apis/public-apis

همچنین از وبسایت api.ir میتوانید استفاده کنید:

https://api.ir

سوالات متداول

1-منظور از Interface یا رابطه بین برنامه ها چیست؟

منظور از اینترفیس یا رابط بین برنامه ها این است که شما به وسیله api میتوانید با سرویس های دیگر یا با وبسایت های دیگر در ارتباط باشید

2-آیا api فقط منحصر به یک زبان برنامه نویسی خاص است؟

خیر ساختار کلی api ها به صورت یک فایل json است و تمامی زبان های برنامه نویسی سطح بالا از آن پشتیبانی میکنند

آیا این پست برای شما مفید بود؟

روی ستاره ها کلیک کنید و امتیاز دهید😊

میانگین امتیاز / 5. تعداد امتیاز:

تا کنون امتیازی به این پست داده نشده است شما اولین نفر باشید😍

دیدگاه‌ها ۰
ارسال دیدگاه جدید