وب REST API
پیام رسان بلاگ برنامه نویسان وب سرویس Rest چیست و کاربرد های آن ( به زبان ساده )

وب سرویس Rest چیست و کاربرد های آن ( به زبان ساده )

نوشته ای از پیام رسان
انتشار در تاریخ 4 اردیبهشت 1402
دسته بندی: برنامه نویسان

چه برنامه نویس وب باشید ، چه برنامه نویس موبایل ( اندروید یا حتی IOS ) و یا در یکی از حوزه های فرانت اند و بک اند فعالیت کرده باشید ، احتمالا عبارات REST و RESTFUL به گوشتون خورده باشه . در این مقاله میخواهیم باهم بررسی کنیم که این عبارات به چه معناست و چگونه میتوانیم از آن ها استفاده کنیم .

API چیست ؟

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

مثال هایی از کاربرد API

یک مثال دیگر هم اینکه حتما تابه حال برای ورود به اکانت خود در سایت های مختلف مجبور به تایید شماره موبایل خودتون شدید! یعنی سایت مورد نظر برای شما از طریق اس ام اس ، یک کد 4 رقمی میفرسته تا از درست بودن شماره موبایل شما مطمئن بشه .
این سایت ها و اپلیکیشن ها با استفاده از وب سرویس پیام رسان ، توانستند به راحتی API  پیام رسان را فراخوانی کرده و به راحتی از خدمات سایت پیام رسان از قبیل ارسال پیامک صوتی ، ارسال پیامک گروهی و یا حتی ارسال پیامک از طریق پترن OTP استفاده کنند.

معماری های API

معماری های مختلفی هم برای api  ارائه شده که یکی از ان ها REST است که در این مقاله درموردش بصورت کامل ولی با زبان ساده صحبت خواهیم کرد.  از دیگر معماری های API میتوان به SOAP اشاره کرد.

مفهوم rest api
مفهوم rest

REST  چیست و چگونه آن را پیاده کنیم ؟

REST مخفف REpresentational State Transfer  هست که به این معنیه که ما یک سری قوانین و قواعد داشته باشیم که باهاش به رد و بدل کردن اطلاعات در بستر شبکه ارتباطی بپردازیم. ساده تر بخوام بگم REST یه سری اصول و روشیه که اگر ما اون رو در برنامه ای که داریم رعایت کنیم ، میگوییم که این برنامه ما از قوانین rest  پیروی می کنه.
در نتیجه REST نه نرم افزار است و نه زبان برنامه نویسی ؛ به این تعریف از سایت restfulapi.net دقت کنید :

REST (Representational State Transfer) is basically an architectural style of development having some principies

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

  • نباید هیچ وضعیتی را در خود نگه داری کند.
  • تمام درخواست ها باید بر بستر URI  یا همان URL  باشد.
  • نباید هیچ گونه رمزنگاری داخلی در این برنامه وجود داشته باشد .
  • هیچ سشنی نباید نگه داری شود .
  • فقط بر بستر HTTP  ( یا HTTPS ) باشد .  یعنی نباید از FTP و یا چیز دیگری استفاده کنید .
  • برای عملیات CRUD  باید از دستور های get  و post  و  put  و delete  استفاده کیند .
  • نتایج باید بستر سبک داده ( lightweight data)  برگشت داده شود همانند json  یا xml  و  …

کسب و کار داری و میخوای تبلیغات پیامکی انبوه داشته باشی؟!

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

تفاوت REST  با RESTFUL چیست ؟

اگر این برنامه از بخشی از  قوانین REST  پیروی کنه می گوییم که این web api یا برنامه REST base service  است . یعنی بر پایه و طبق قوانین آن نوشته شده .
اگر آن برنامه تمام قواعد و قوانین REST  را پیروی کرده باشد به آن Restful service  می گوییم .

دستورات REST

همانطور که گفته شد Rest  یک کنوانسیون یا قرارداد برای سرویس های http هست . پس ما از اصول ساده پروتکل http برای پشتیبانی از  4 دستور اصلی ساخت Create  ، خواندن Read  ، بروزرسانی Update  و Delete پاک کردن داده استفاده می کنیم . همه ی این  عملیات با هم CRUD Operation   نامیده می شود .

اینها متد های آن (http methods) هستند :

  • GET  = برای گرفتن داده
  • POST = برای ساختن داده
  • PUT = برای آپدیت داده
  • DELETE  = برای پاک کردن

بررسی کامل وب سرویس REST ارسال پیامک ( مثال واقعی )

در این مثال ما بصورت کامل و جزئی وب سرویس ارسال پیامک پیام رسان را بررسی می کنیم . کاربرد این وب سرویس ارسال پیامک از طریق سایت ها و اپلیکیشن ها هست .

حالا برویم با یک مثال از دنیای واقعی این کنوانسیون REST  را بررسی کنیم .

یکی از بهترین وب سرویس ارسال پیامک رایگان و بر پایه REST  ارائه شده است ، توسط سامانه پیامکی پیام رسان است که در ادامه به بررسی کامل آن خواهیم پرداخت . در این مثال شما بصورت کامل درباره REST  خواهید آموخت . همچنین می توانید بصورت حرفه ای از تمام متد های وب سرویس REST پیام رسان استفاده کنید . چرا که بصورت کامل تمامی متد ها را توضیح خواهیم داد .

آدرس وب سرویس REST

به آدرس زیر دقت کنید که میخواهیم نکات مهمی در رابطه به ان را را مطرح کنیم.

https://api.sms-webservice.com/api/V3

اول از همه ادرس وب سرویس میتونه  با http یا https شروع بشه . این به اپلیکیشن و نیازمندی هاش بستگی داره . اگر بخواهید داده در بستری امن رد و بدل بشه باید از https استفاده کنید . بعد از پروتکل ، نام دامنه رو داریم . بعد از اون هم /api اجباری نیست ولی اکثر شرکت ها و کمپانی ها از این قرارداد برای ارائه سرویس های Restful استفاده می کنند . و اون اینه که api  رو در جایی از آدرسشون قرار میدن . میتونه بعد از دامنه باشه و یا بصورت ساب دامنه هم قبل از دامنه قرار بگیرد . قانون سختی هم براش وجود نداره !

Endpoint  چیست ؟

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

یعنی کلاینت تحت این آدرس و endpoint  میتونه درخواست خودشو بفرسته سمت سرور تا بتونه باهاش صحبت کنه . ما میتونیم بی نهایت endpoint برای وب سرویس پیاده سازی کنیم . در ادامه 9 متد مربوط به وب سرویس REST پیام رسان را بررسی میکنیم .

کسب و کار داری و میخوای تبلیغات پیامکی انبوه داشته باشی؟!

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

انواع متدهای ارسال پیامک با وب سرویس REST  (انواع endpoint ها)

اندپوینت send/

متدی برای ارسال یک متن به یک یا چند شماره با متد : اين متد مربوط به ارسال پیامک مي باشد ، اين متد اين قابلیت را دارد که در يک بار فراخواني به حد اکثر 99 شماره پیام ارسال نمايد، به اين معني که نیازی نیست به ازاي هر شماره يک بار متد را فراخواني نمائید، مي توانید شماره ها را به دسته هاي 99 تايي تقسیم نموده و هر دسته را توسط يک آرايه به اين متد ارسال نمائید.

اندپوینت  SendBulk/

متدی برای ارسال یک متن به یک یا چند شماره با متد post  : اين متد مربوط به ارسال پیامک مي باشد ، اين متد اين قابلیت را دارد که در يک بار فراخواني به حد اکثر 99 شماره پیام ارسال نمايد، به اين معني که نیازي نیست به ازاي هر شماره يک بار متد را فراخواني نمائید، مي توانید شماره ها را به دسته هاي 99 تايي تقسیم نموده و هر دسته را توسط يک آرايه شامل شماره دریافت کننده و کد پیگیری به اين متد ارسال نمائید.

این متد بصورت post  فراخوانی می شود و پارامترهای ورودی در بدنه درخواست ارسال می شوند.

اندپوینت SendMultiple/

متدی برای ارسال چند متن به چند گیرنده : اگر قصد داريد به هر گیرنده متن جداگانه اي را ارسال کنید، اين متد چاره کار شماست. با استفاده از اين متد نیازی نیست که به ازاي هر گیرنده يک بار درخواست ارسال کنید و مي توانید پیامک هاي خود را در گروه هاي 100 تايي با يک درخواست به سامانه ارسال کنید. همچنین اين متد به شما اين قابلیت را مي دهد تا به ازاي هر شماره گیرنده يک متن و شماره ارسال کننده مجزا معرفی کنید.

اندپوینت SendTokenSingle/

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

اندپوینت SendTokenMulti/

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

اندپوینت TokenList/

متدی برای دریافت لیست الگوهای تعریف شده در پنل  

اندپوینت StatusById/

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

اندپوینت StatusByTraceId/

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

اندپوینت AccountInfo/

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

این مقاله مفید بود ؟

به این مقاله امتیاز دهید

میانگین رتبه 4.6 / 5. تعداد رای : 42

هنوز کسی به این مطلب رای نداده ؛ شما اولین نفر باشید !

تحریریه از پیام رسان

پیام رسان

مشتری همیشگی ما خواهید شد . قول میدهیم ! در سامانه پیامکی پیام رسان می توانید به افراد مورد نظر خود پیامک متنی و پیام صوتی ارسال کنید. با ثبت نام پنل رایگان پیام رسان، انواع امکانات جهت ارسال پیامک در اختیار کاربران قرار می گیرد.

ارسال کامنت

4 کامنت

  1. پارسا

    26 خرداد 1402

    ممنون مقاله خوبی بود فقط یه سوال تو چه پروژه هایی میشه از api استفاده کرد؟

    1. پیام رسان

      پیام رسان

      28 خرداد 1402

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

  2. مریم

    26 خرداد 1402

    سلام عالی بود مچکرم

    1. پیام رسان

      پیام رسان

      28 خرداد 1402

      سلام سپاس از شما

ثبت نام ورود