APIها، از جمله نقاط پایانی API، در ارائه راه حل برای مشکلات مشتری و کمک به رقابتی ماندن محصول شما ضروری هستند.
یک API ، مخفف رابط برنامه نویسی برنامه، مجموعه ای از قوانین است که به یک برنامه اجازه می دهد داده های خود را با توسعه دهندگان خارجی به اشتراک بگذارد. به زبان ساده، یک API شما را قادر میسازد تا «چیزهای آنها» را بگیرید و آن را با «چیزهای شما» کار کنید. موارد آنها، در این مورد، در نقطه پایانی API قرار دارد .
در این راهنما، نقطه پایانی API چیست، نقاط پایانی چه نقشی در ادغام ها دارند و چگونه شروع به آزمایش آنها با APIهای عمومی (و احتمالاً با خودتان) می کنیم.
نقطه پایانی API چیست؟
نقطه پایانی API یک مکان دیجیتالی است که در آن یک API درخواست های مربوط به یک منبع خاص را در سرور خود دریافت می کند. در APIها، یک نقطه پایانی معمولاً یک مکان یاب منبع (URL) یکنواخت است که مکان یک منبع را در سرور ارائه می دهد.
برای درک کامل این تعریف و اینکه نقاط پایانی در مدل API کجا قرار میگیرند، اجازه دهید به طور خلاصه نحوه عملکرد APIها را بررسی کنیم.
برای ادغام دو نرم افزار از طریق اینترنت ، یک برنامه – به نام کلاینت – درخواستی را به API برنامه دیگر ارسال می کند. مشتری ممکن است یک منبع از پایگاه داده برنامه درخواست کند یا بخواهد عملی را روی سرور انجام دهد.
پس از دریافت و تأیید درخواست مشتری، API اقدام درخواستی را انجام می دهد، سپس پاسخی را برای مشتری ارسال می کند. این پاسخ شامل وضعیت درخواست (به عنوان مثال، تکمیل یا رد شده) و هر گونه منابع درخواست شده توسط مشتری است.
API ها معمولاً اجازه دسترسی به بسیاری از منابع مختلف را در یک سرور می دهند. به عنوان مثال، API یک شبکه اجتماعی ممکن است به مشتریان اجازه دهد محتوای پست، نمایه های کاربر و تصاویر را بازیابی و اصلاح کنند. API یک سایت خبری امکان دسترسی به محتوای مقاله، نویسندگان و رسانه هایی مانند پادکست ها و ویدیوها را فراهم می کند.
با دانستن این موضوع، مشتریان چگونه در درخواست خود مشخص می کنند که به کدام منبع می خواهند دسترسی داشته باشند؟
پاسخ با استفاده از نقطه پایانی صحیح است. مشتریان در درخواست های خود یک نقطه پایانی را به عنوان URL مشخص می کنند. این URL به سرور می گوید: “منبعی که می خواهم در این مکان است.”
این فرآیند مشابه نحوه دسترسی شما به صفحات وب در مرورگر است. مرورگرهای وب صفحات وب را با ارسال URL به سرور وب بارگیری می کنند و سرور با صفحه درخواستی پاسخ می دهد. به طور مشابه، مشتری برای درخواست یک منبع خاص از یک API، به URL نقطه پایانی مناسب نیاز دارد.
نقطه پایانی در مقابل API
توجه به این نکته مهم است که نقاط پایانی و APIها متفاوت هستند. نقطه پایانی جزء یک API است، در حالی که یک API مجموعه ای از قوانین است که به دو برنامه اجازه می دهد منابع را به اشتراک بگذارند. نقاط پایانی مکان منابع هستند و API از URL های نقطه پایانی برای بازیابی منابع درخواستی استفاده می کند.
مثالهای نقطه پایانی API
توسعه دهندگان تمام نقاط پایانی API خود را در اسناد فهرست می کنند تا کاربران بدانند چگونه به منابع مورد نیاز خود دسترسی پیدا کنند. اما این نقاط پایانی در عمل چگونه به نظر می رسند؟ بیایید چند نمونه واقعی از پلتفرم های پیشرو را ببینیم.
Twitter API Endpoint مثال
توییتر API دادههای مربوط به توییتها، پیامهای مستقیم، کاربران و موارد دیگر را در معرض نمایش قرار میدهد.
فرض کنید می خواهید محتوای یک توییت خاص را بازیابی کنید. برای انجام این کار، می توانید از نقطه پایانی جستجوی توییت استفاده کنید که دارای URL https://api.twitter.com/2/tweets/{id} است (که در آن {id} شناسه منحصر به فرد توییت است).
اکنون، فرض کنید که میخواهید وبسایت شما توییتهای عمومی را در زمان واقعی پخش کند تا بازدیدکنندگان شما در مورد یک موضوع خاص مطلع شوند. میتوانید از نقطه پایانی جریان فیلتر شده توییتر استفاده کنید که نشانی اینترنتی آن https://api.twitter.com/2/tweets/search/stream است .
بعداً در این پست به نقطه پایانی جریان فیلتر شده با جزئیات بیشتری نگاه خواهیم کرد.
آنچه ما دوست داریم: نقطه پایانی جستجوی توییت برای ایجاد ویژگی هایی مفید است که نیاز به واکشی و نمایش توییت های خاص در زمان واقعی دارند.
Spotify API Endpoint مثال
API Spotify به توسعه دهندگان امکان دسترسی به آهنگ، هنرمند، لیست پخش و داده های کاربر را می دهد. برای مثال، اگر میخواهید آلبوم خاصی را دریافت کنید ، میتوانید به هر آلبومی در کاتالوگ Spotify با نقطه پایانی https://api.spotify.com/v1/albums/{id} دسترسی داشته باشید (که در آن {id} آلبوم منحصر به فرد است. مشخص کننده).
یا مثلاً میخواهید درخواستی ارسال کنید که باعث شود کاربر یک لیست پخش را دنبال کند . در این مورد، یک درخواست PUT با نقطه پایانی https://api.spotify.com/v1/playlists/{playlist_id}/followers (که در آن {playlist_id} شناسه منحصر به فرد لیست پخش است) ارسال کنید.
بهترین برای: ادغام داده های موسیقی غنی Spotify در برنامه شما، چه برای ویژگی توصیه موسیقی یا برای نمایش اطلاعات آلبوم.
مثال نقطه پایانی YouTube API
YouTube API ، از جمله موارد دیگر، جاسازی ویدیوهای YouTube را در هر وب سایتی آسان می کند. وقتی به یک ویدیوی YouTube می روید و کد جاسازی را کپی می کنید، در حال درخواست ویدیو از API YouTube هستید.
راه دیگر برای دریافت ویدیوها از طریق API YouTube درخواست آنها از نقطه پایانی https://www.googleapis.com/youtube/v3/videos است که فهرستی از ویدیوها را برمی گرداند که با پارامترهایی که در درخواست شما مشخص کرده اید مطابقت دارند.
نکته حرفه ای: از این نقطه پایانی برای ادغام ویدیوهای YouTube در وب سایت یا برنامه خود استفاده کنید و محتوای خود را با چند رسانه ای تقویت کنید.
چرا نقاط پایانی API مهم هستند؟
یکی از اولین سوالاتی که در مورد APIها میپرسید این است: چرا بسیاری از کسبوکارها دادههای خود را آزادانه و رایگان به اشتراک میگذارند؟
اغلب، پاسخ مقیاس است. با رشد شرکت ها، کارکنان آن شرکت ها متوجه می شوند که ایده های بیشتری نسبت به زمان و منابع برای توسعه آنها دارند. معمولاً کار با سایر شرکت های خارجی که در این ایده ها تخصص دارند آسان تر از ساختن آنها در داخل است.
با ایجاد API، یک شرکت به توسعه دهندگان شخص ثالث اجازه می دهد تا برنامه هایی بسازند که پذیرش و استفاده از پلتفرم آن را بهبود می بخشد. به این ترتیب، یک کسبوکار میتواند اکوسیستمی بسازد که به دادههای API خود وابسته میشود، که اغلب به فرصتهای درآمد اضافی منجر میشود.
API های HubSpot را به عنوان مثال دیگری در نظر بگیرید : با افشای عملکرد و داده های نرم افزار ما از طریق API ها، توسعه دهندگان می توانند برنامه های کاربردی خود را با فناوری ما ادغام کنند، در نتیجه یک اکوسیستم برنامه ایجاد می شود که دسترسی ما را افزایش می دهد و کار را برای مشتریانی که مایل به استفاده از برنامه های کاربردی دیگر در کنار HubSpot هستند بسیار آسان می کند. .
همانطور که یاد گرفتیم، نقاط پایانی به معنای واقعی کلمه مرکزی برای API ها هستند. آنها نقطه ای هستند که در آن مشتری و سرور با هم ارتباط برقرار می کنند. بدون نقاط پایانی با ساختار و عملکرد مناسب، یک API در بهترین حالت گیج کننده و در بدترین حالت شکسته خواهد بود. همانطور که داده های بیشتری را از طریق API خود در دسترس قرار می دهید، اطمینان از اینکه هر نقطه پایانی منابع ارزشمندی را برای مشتریان فراهم می کند، حیاتی است.
نحوه تست نقاط پایانی API
هنگام بحث در مورد وب APIها، ما معمولاً در مورد نوعی از API به نام REST API صحبت می کنیم که از روش های HTTP استفاده می کند که به API می گوید چه اقدامی انجام دهد. چهار متداول ترین روش HTTP در درخواست های API عبارتند از:
- GET : یک منبع را بازیابی می کند
- POST : یک منبع ایجاد می کند
- PUT : یک منبع موجود را به روز می کند
- DELETE : یک منبع را حذف می کند
بیایید ببینیم چگونه با نقطه پایانی جریان فیلتر شده Twitter API درخواست ارسال کنیم . درخواست ها با نوشتن روش HTTP و سپس URL نقطه پایانی فرمت می شوند. بنابراین، یک درخواست برای نقطه پایانی جریان فیلتر شده به این صورت خواهد بود: POST https://api.twitter.com/2/tweets/search/stream .
حال، تصور کنید که میخواهید از HubSpot در توییتر مطلع شوید. شما می خواهید به محض ارسال توییت ها از حساب @HubSpot دریافت کنید. همچنین، فرض کنید شما فقط توییت هایی می خواهید که حاوی پیوند به مقالات باشد.
در این صورت، استفاده از نقطه پایانی جریان فیلتر شده یک انتخاب عالی است. اما، برای اینکه API بداند کدام توییتها را برای شما ارسال کند، باید معیارهای فیلترینگ را تعریف کنید. در غیر این صورت، شما فقط از شما می خواهید که هر توییت ارسال شده را در زمان واقعی (قلم) ببینید.
ما میتوانیم معیارهای فیلتر را به شکل قوانین در نقطه پایانی اعمال کنیم. برای ایجاد این قوانین، از مجموعه ای از عملگرها استفاده خواهید کرد. برای این مثال، میتوانید از دو اپراتور API توییتر – from: و has:links – استفاده کنید تا فقط توییتهایی را از حسابهای خاصی که حاوی پیوند هستند، ببینید. برای اینکه به نقطه پایانی جریان فیلتر شده دستور دهید که فقط توییتهایی را از حسابهای @HubSpot که حاوی پیوند هستند نشان دهد، از قانون زیر استفاده کنید: from:HubSpot has:links .
در درخواست خود، از روش HTTP POST استفاده خواهید کرد . علاوه بر گنجاندن قانون ذکر شده در بالا در درخواست خود، نوع محتوا و مجوز را نیز درج خواهید کرد. در زیر نوع محتوا بهعنوان «application/json» تعریف میشود، بنابراین درخواست در قالب داده جاوا اسکریپت Object Notation (JSON) ارائه میشود.
چندین ابزار آنلاین برای آزمایش نقطه پایانی API وجود دارد. در اینجا ما از cURL استفاده خواهیم کرد ، یک ابزار خط فرمان که از HTTP پشتیبانی می کند. میتواند درخواستها، دریافت دادهها و ارسال دادهها را ارسال کند، بنابراین ابزاری عالی برای آزمایش APIها است .
در اینجا درخواست شما از API توییتر در خط فرمان باید به چه صورت باشد. برای احراز هویت درخواست خود، باید متن جایبان $BEARER_TOKEN را با توکن حامل منحصربهفرد برنامه خود که در پورتال برنامهنویس شما موجود است، جایگزین کنید.
curl -X POST ‘https://api.twitter.com/2/tweets/search/stream/rules’-H “Content-type: application/json”
-H “مجوز: حامل $BEARER_TOKEN” -d
‘{
“اضافه کردن”: [
{“value”: “from:HubSpot has:links”}
]
}’
آینده API ها در تجارت
ما در دنیایی زندگی میکنیم که اکنون انتظار محتوای باز و در دسترس را برای همه دارد – پیشرفت طبیعی این است که ناشران خودشان APIهای خود را منتشر کنند تا مشتریان بتوانند برنامههای کاربردی را با آنها توسعه دهند.
اشتراکگذاری API برای همه کسبوکارها اعمال میشود: نه فقط آنهایی که مبتنی بر وب هستند، بلکه برای هرکسی که ابزار یا مؤلفهای مبتنی بر وب در سازمان خود دارد. البته، این مفهوم برای برخی از سازمانها موانعی ایجاد میکند، یکی از اصلیترین آنها این است که همه در مورد نحوه عملکرد APIها یکسان باشند.
گرفتار شدن در اصطلاحات فنی APIها آسان است. با این حال، هنگامی که در موارد واقعی اعمال می شود، درک نحوه عملکرد و APIها به روشی که انجام می دهند آسان تر است. امیدواریم، اکنون درک بهتری از یکی از مؤلفههای کلیدی آنها، نقاط پایانی، داشته باشید.
یادداشت سردبیر: این پست در ابتدا در سپتامبر 2021 منتشر شد و برای جامعیت به روز شده است.