کلید api یک ابزار برای استفاده از وب سرویس است. api key در سامانه پیامکی بعنوان کلید احراز هویت مورد استفاده قرار میگیرد که بر پایهی معماری REST میباشد.
Application Programming Interface که به اختصار API نامیده میشود، یک رابط برنامهنویسی است که با استفاده از آن پیچیدگی پیادهسازی بخشهایی از پروژهی شما حذف خواهد شد.
بعبارت دیگر با استفاده از سرویسهایی که از قبل پیادهسازی شده است (API)، شما دیگر نیازی به ساخت آن سرویس از صفر نخواهید داشت و تنها با استفاده از چند خط کدنویسی پروژهی شما به آن سرویس تجهیز خواهد شد.
در سامانه پیام کوتاه صبا اس ام اس نیز امکان استفاده از وب سرویس با استفاده از کلید api فراهم شده و در اختیار کاربران قرار گرفته است. در ادامه بصورت کامل این سرویس شرح داده خواهد شد.
API چیست؟
قبل از اینکه به سراغ کلید api برویم، باید بدانیم که API دقیقا چیست؟ با ذکر یک مثال api را توضیح خواهم داد تا درک این مورد برای شما میسر گردد.
فرض کنید شما وارد یک رستوران شدهاید، یک میز را انتخاب میکنید و مشغول بررسی فهرست رستوران میشوید. تمامی موارد موجود در فهرست در آشپرخانه رستوران آماده و قابل ارائه میباشد. اما درخواست شما به یک نحوی باید به اطلاع آشپرخانه رستوران برسد، تا سفارش شما آماده شده و بر روی میز شما قرار گیرد. در این مثال، پیشخدمت رستوران که سفارش را از شما دریافت کرده و به آشپرخانه رستوران ارائه میدهد و در ادامه پاسخ درخواست یا سفارش شما را از آشپزخانه دریافت کرده و به شما تحویل میدهد، یک api خواهد بود.
شما قصد میل کردن یک غذای دلخواه را دارید، بجای اینکه خودتان دستبهکار شوید و صفر تا صد آن وعده را آماده کنید، تنها با پرداخت هزینه و چند درخواست ساده در کمترین زمان غذای دلخواه شما برایتان آماده خواهد شد. در این مثال آشپزخانه را یک سرور (یا ارائه دهنده یک سرویس خاص) در نظر بگیرید.
شما که در حال سفارش غذا هستید بعنوان کلاینت (یا درخواست کننده آن سرویس) میباشید و پیشخدمت رستوران نیز api میباشد که زحمت را شما را کم کرده، درخواست شما را دریافت کرده و به سرویس دهنده موردنظر ارجاع میدهد، و نتیجه درخواست یا سفارش شما را به شما تحویل میدهد.
Web API یا وب سرویس چیست؟
حال که با واژهی api آشنا شدیم، به سراغ وب سرویس یا web api میرویم.
تفاوت web api و api در این است، که web api برای اجرا نیاز به شبکه جهانی یا اینترنت دارد.
web api را به این شکل در نظر بگیرید:
شما میخواهید یک امکان یا ویژگی به پروژه برنامهنویسی خود اضافه کنید (بعنوان مثال ارسال پیامک کد تأیید یا استفاده از نقشه گوگل) وقتی ویژگی مورد نیاز شما از قبل در یک وب سرویس پیادهسازی شده و در کنار آن web api نیز ارائه شود، دیگر نیاز نیست که شما صفر تا صد آن سرویس خاص را خودتان پیاده سازی کنید، به راحتی با استفاده از api ایجاد شده توسط شرکت ارائه دهنده سرویس، میتوانید به هدف خود برسید.
کلید api چیست؟
کلید api یا همان api token یک رشتهای از کاراکتر است که در فراخوانی سرویس به همراه مابقی پارامترهای مورد نیاز از سمت کاربر (یا کلاینت) به وب سرویس ارسال میشود. اما کلید api که به صورت عمومی در سامانههای پیامکی معرفی میشود، دقیقا در تعریف api key قرار نمیگیرد. آنچه در اصل بعنوان کلید api در پنل پیامکی مورد استفاده قرار میگیرد، کلید احراز هویت میباشد.
این کلید در اصل برای شناسایی و احراز هویت کاربرانی که در حال استفاده از web api میباشند به کار برده میشود. اما کلید api برای شناسایی و احراز هویت پروژههایی (اپلیکیشنها، نرم افزارها و ...) که از وب سرویس استفاده میکنند به کار گرفته میشود. بعنوان مثال با استفاده از کلید api میتوان دسترسی تلفنهای همراه که دارای سیستم عامل اندروید باشند، به وب سرویس را ممنوع کرد.
کلید احراز هویت در مرحله اول مشخص میکند که کاربر مورد نظر امکان دسترسی به وب سرویس را دارا میباشد یا خیر. پس از اینکه هویت کاربر احراز شود در مرحلهی بعدی دسترسی کاربر به متدهای وب سرویس مورد بررسی قرار خواهد گرفت.
تا به اینجای کار، ما تفاوت کلید api و کلید احراز هویت را عنوان کردیم و مشخص شد آنچه که به عنوان کلید api مورد استفاده قرار میگیرد در واقع همان کلید احراز هویت میباشد. اما از آنجایی که واژهی کلید api بصورت عمومی برای کلید احراز هویت استفاده میشود، ما نیز در این مقاله از همین واژه استفاده میکنیم.
استفاده از کلید api در صبا اس ام اس
برای استفاده از کلید api در سامانه پیامکی صبا اس ام اس باید به پنل اس ام اس خود مراجعه کرده، از منوی سمت راست» خدمات وب سرویس » لیست کلیدهای دسترسی اقدام به ثبت کلید خود نمایید. سپس از بخش داکیومنت میتوانید نمونههای ارسال درخواست را مشاهده نمایید. این سرویس بر پایهی معماری REST بوده و در کمترین زمان ممکن پیادهسازی api در پروژهی شما را ممکن میسازد.
صبا اس ام اس با دارا بودن api token هم امنیت ارتباط با وب سرویس را تضمین میکند و هم پیچیدگی ارسال درخواست به وب سرویس را کاهش میدهد.