Afzalliklari:

Turlari

  • qaytish. Uchinchi tomon ilovasi belgilangan parametrlarga ega usulni so'raganda, server so'ralgan ma'lumotni ma'lum formatda taqdim etadi;
  • o'zgaruvchan. Mijoz yangi ma'lumotlarni kiritadigan yoki undagi ma'lum sozlamalarni o'zgartiradigan ba'zi server funksiyasini chaqiradi.

Yandex.Direct API

API veb-saytni ilgari surish uchun samarali.

  1. Unga asoslanib, ishlab chiquvchilar qidiruv tizimi xizmati bilan to'g'ridan-to'g'ri o'zaro aloqada bo'lgan ilovalarni yaratishi mumkin. Bunday dasturlar reklama beruvchilarga keng ko'lamli reklamani moslashuvchan boshqarish, ularning har biri bo'yicha statistik hisobotlar olish va byudjetlarni aniq prognoz qilish imkonini beradi.
  2. Direct API yordamida reklama agentliklari o'z mijozlarining to'liq ro'yxatini, mijozlar esa o'z vakillarini ko'rishlari mumkin.
  3. Agar qidiruv tizimini optimallashtirish uchun ishlatiladigan ba'zi iboralar kontekstli reklamada past CTR ko'rsatsa, ular uchun displey avtomatik ravishda o'chirib qo'yilishi mumkin. Tematik platformalarda siz API orqali tariflarni belgilashingiz mumkin; ba'zi donorlarni olib tashlash mumkin.
  4. Yandex.Direct API SOAP interfeysiga ega, ya'ni ilovalar yaratish uchun dasturlash tillarining keng tanlovini ta'minlaydi. Ushbu protokol Perl, Java, Python va boshqalar kabi tillar tomonidan qo'llab-quvvatlanadi. Ma'lumotlar almashinuvi JSON formatida ham amalga oshirilishi mumkin.

Agar siz hatto masofadan turib veb-ishlab chiqish sanoati yaqinida ishlasangiz, ushbu uchta mashhur harfni eshitishingizga 100% amin bo'lishingiz mumkin: API.

Ular haqida suhbatlar noobs va mutaxassislar o'rtasida tarqalib ketgan:

"Nega men API qo'ng'iroq qilishim kerak? Uning raqami bormi?

"Ushbu uchinchi tomon API-ga oddiy qo'ng'iroq sizga bunga erishishga yordam beradi."

“Biz siz uchun RESTful API yaratamiz; yangi tizimingiz boshqa xizmatlar bilan yaxshi ishlashiga ishonch hosil qiling.”

API-lar dastlab qo'rqinchli tuyulishi mumkin bo'lsa-da, ular ishlab chiquvchi sifatida hayotingizni tom ma'noda o'zgartirishi mumkin.

Nima uchun? Xo'sh, API-lardan qanday qilib to'g'ri foydalanishni o'rganish sizning ish jarayonini soddalashtirishi, tezlashtirishi va kuchaytirishi mumkin. API-larni yaratish yoki integratsiya qilish mijozlaringizga ham, o'zingizga ham katta foyda keltiradi.

Ishlab chiquvchilar sifatida siz tez-tez "g'ildirakni qayta ixtiro qilmang" degan maslahatni eshitasiz:

hazil:
dono maslahat: g'ildirakni qayta ixtiro qilmang
dasturchi: yaxshi
boshqa hech qachon maxsus kod yozmaydi

Hazillarni bir chetga surib qo'ysak, API-lar g'ildirakni qayta ixtiro qilmasligingizni ta'minlashda muhim rol o'ynaydi. Snipcart-da biz API asoslarini tushunish zamonaviy veb-ishlab chiquvchilar uchun asosiy mahorat ekanligiga qat'iy ishonamiz. Ushbu postda biz sizga buni qilishga yordam beramiz. Biz ko'rib chiqamiz:

API dan foydalanishning afzalliklari API nima aslida API ning qanday turlari mavjud API dan foydalanishning amaliy misollari

Xo'sh, unga sho'ng'ish vaqti kelmadimi?

API-larning afzalliklari: ularni nima uchun ishlatish kerak?

Mening dasturlash kareramdagi birinchi, eng muhim qadamlardan biri bu APIni to'g'ri tushunish edi.

Men ularni hali ham har kuni ishlataman.

Muhim masalaga kirishdan oldin, APIni tushunish vaqtingizga arziydi, deb sizni ishontirishga ijozat bering.

Chunki API-lardan foydalanishni o'rganish rivojlanish samaradorligini sezilarli darajada oshiradi.

Birinchidan, u mavjud bo'lgandan foydalanishga imkon beradi mantiq yoki qismlar, buni o'zingiz yozishingiz shart emas. Ba'zi narsalarni o'zingiz yoza olmasligingiz mumkin! Shuning uchun, qimmatli vaqtni tejash uchun, ishlab chiquvchi sifatida API qanday ko'rinishi haqida tasavvurga ega bo'lish juda muhimdir.

Ikkinchidan, siz duch keladigan ko'plab rivojlanish muammolari sizdan oldin boshqa birov tomonidan hal qilingan. Ushbu mavjud echimlar qanday shaklda bo'lishidan qat'i nazar (FaaS, kutubxonalar, veb-xizmatlar, SDK'lar, kontent API'lari va boshqalar), ular bilan ishlash uchun sizga API kerak bo'ladi.

Xo'sh, API nima?

Xo'sh, rasmiy, qo'rqinchli ta'rif:

Kompyuter dasturlashda amaliy dasturlash interfeysi (API) amaliy dasturiy ta'minotni yaratish uchun muntazam ta'riflar, protokollar va vositalar to'plamidir. Umuman olganda, bu turli xil dasturiy komponentlar o'rtasida aniq belgilangan aloqa usullari to'plamidir. Yaxshi API dasturchi yig'adigan barcha qurilish bloklarini taqdim etish orqali kompyuter dasturini ishlab chiqishni osonlashtiradi.

Bu qiyin, a? Keling, akademik nasrni bir pog‘onadan pastga tushiraylik. Mana uy API ning do'stona ta'rifi:

Oddiy qilib aytganda, API o'z mantig'i bilan o'zaro ta'sir qilish uchun interfeysni e'lon qiladi ichkarida nima bo'layotganini bilmasdan. Ushbu ta'rif siz mavjud bo'lgan har qanday til, protokol yoki muhitga nisbatan qo'llanilishi mumkin dastur darajasi(quyida bu haqda batafsilroq).

API-larga biroz oydinlik kiritish uchun keling, ular nima EMAS ekanligini sanab o'tamiz:

    API har doim ham tashqi xizmat emas. Masalan, siz kutubxonalarni to'g'ridan-to'g'ri yechimingizga kiritishingiz yoki ularni API orqali ishlatishingiz mumkin.

    API shunchaki interfeys emas. Bu ham spetsifikatsiya/format, ham amalga oshirish.

    API GUI (Grafik foydalanuvchi interfeysi) emas. Bu grafik darajada o'zaro ta'sir qilmaydi; u faqat dasturiy ta'minot darajasida yoki dasturlash tili yoki aloqa protokoli orqali ishlaydi.

API ham veb-kanca emas. Agar siz ikkalasi o‘rtasidagi farqni tushunishda qiynalayotgan bo‘lsangiz, bu yerda Web Hooks-ga kirish.

Turli xil API turlari

Barcha APIlar teng yaratilmagan.

Garchi ular asosan bir xil maqsadga ega bo'lsalar ham, ba'zilari bunga boshqalardan ko'ra yaxshiroq erishadilar. Bu silliq kirish bo'lishi kerakligi sababli, men APIni boshqalardan yaxshiroq qiladigan narsaga kirmayman. Ammo shuni yodda tutingki, odamlar API yaratishda turlicha yondashuvlarga ega. Agar siz ushbu mavzuga qiziqsangiz, Google "API dizayn naqshlari" va "API paradigmalari". Yoki shunchaki kirish darajasidagi ushbu toza maqoladan boshlang https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://blog.cloudobjects.io/api-design / 2017/04/10/api-dizayn-paradigmalar/&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhg_fNGb7u4xTwzw. :)

APIning maqsadi dasturchi sifatida hayotingizni osonlashtirishdir. Ular buni qanday qilishadi? Xususiyatlar/xususiyatlar to'plamini birlashtirish va ushbu xususiyatlarni so'nggi nuqtalar orqali ochish orqali (odatda API bilan o'zaro ishlash uchun ishlatiladigan URL naqshlari). Ushbu so'nggi nuqtalar har qanday API bilan o'zaro ishlashning yagona yo'lidir. Har bir so'nggi nuqta o'z so'rovlari va javoblari uchun o'ziga xos formatga ega bo'ladi - odatda bu formatni API hujjatlarida topasiz.

Oxirgi nuqtalar oddiy funktsiyalar bo'lishi mumkin yoki boshqa API'larni chaqiradigan ko'plab funktsiyalardan iborat bo'lishi mumkin va hokazo. Bu erda yagona muhim jihat shundaki, bu funktsiyalarning asosiy mantig'i butunlay mavhumdir. Ulardan foydalanish uchun ularning ichida nima bo'layotgani haqida hech qanday ma'lumot kerak emas. To'g'ri formatdan foydalansangiz, ulardan foydalanishingiz mumkin bo'ladi.

Xulosa qilib aytadigan bo'lsak, API har qanday interfeysga o'xshaydi: siz elektr toki qanday ishlashini bilasizmi yoki yo'qmi, yorug'lik tugmasi chiroqni yoqadi (yoki men yoshligimda uni elektr energiyasi uchun to'lash uchun to'lash kerakligini bilganman, lekin bu boshqa hikoya.)

APIdan qanday foydalanish: amaliy misollar

API hujjatlarini o'qish va tushunish

Hujjatlardan siz har bir ob'ekt funktsiyasi kiritish formati qanday bo'lishi kerakligini (raqam, raqamlar massivi va boshqalar) va chiqish formatini tavsiflashini ko'rishingiz mumkin. Shuni yodda tutingki, ushbu funktsiyalarni bajarish mantiqi haqida hech narsa aytilmagan. Misol uchun, agar siz ishlab chiquvchi konsoli va Math.sqrt (funktsiyani bajarmasdan) ishga tushirsangiz, ƒ sqrt() ( ) kabi biror narsa olasiz. Bu API ruhidir: operatsion tizimingizning API-laridan birini yoki veb-API-ni chaqirasizmi, bu tamoyillar bir xil bo'lib qoladi.

Asosiy API foydalanish misollari

Mashhur API provayderlari bilan bog'liq ko'plab narsalar mavjud. Masalan, Google Maps API ko'pincha real vaqtda displeylar va yo'l signallari asosidagi ma'lumotlar bilan foydalanuvchi tajribasini yaxshilash uchun ishlatiladi. Twitter API, yana bir kattasi, real vaqtda maqsadli tvitlarni filtrlash va ko'rsatish uchun ishlatilishi mumkin.

Endi, agar siz bizning blogimizni kuzatib borgan bo'lsangiz, menimcha, sizni hamma narsadan ko'ra veb-APIlar qiziqtiradi. Shunday qilib, keling, maxsus foydalanish holatlariga to'xtalib o'tamiz. E'tibor bering, biz misollarimizda Postmandan foydalanamiz. Albatta, bu Rest Client veb-muhit bilan bog'langan, ammo bunday vositalar odatda boshqa muhitlarda ham mavjud. Muayyan muhit bilan o'ynashni boshlashdan oldin, u uchun taqdim etilgan vositalarni ko'rib chiqishga arziydi; ko'p vaqtingizni tejashingiz mumkin.

Agar bizni kuzatib borishni istasangiz, Postman mijozini yuklab olishingiz kerak. https://www.getpostman.com/

Ma'lumotlarni olish uchun umumiy APIdan foydalanish

Bizning birinchi misolimiz juda oddiy, ammo matematikdan ko'ra qiziqarliroq bo'ladi.

Biz Dog API-dan foydalanamiz! Bu nafaqat qiziqarli API, balki u hech qanday autentifikatsiyani ham talab qilmaydi. Bundan tashqari, bu HTTP REST API, ya'ni bu veb-API. Ushbu muhit bilan bog'langanligi sababli, u bizdan protokolning ba'zi o'ziga xos xususiyatlariga rioya qilishni talab qiladi: bu holda HTTP fe'llari (GET, PUT, POST, DELETE va boshqalar). Bizning misolimizda biz uni soddalashtiramiz va faqat GET fe'lidan foydalanamiz. Qanday bo'lmasin, API sizga boshqa narsalarni qo'llab-quvvatlashga ruxsat bermaydi. Ko'pgina ommaviy APIlar faqat ma'lumotlarni iste'mol qilish imkonini beradi, ularni nashr etmaydi, masalan, GET fe'li.

Keling, Postman-ni ishga tushiramiz va uning foydalanuvchi interfeysi qanday ko'rinishini ko'rib chiqamiz.

Mening foydalanuvchi interfeysim qorong‘u mavzudan foydalanadi, shuning uchun u siznikidan biroz farq qilishi mumkin.

Dastlab hazm qilish uchun juda ko'p ma'lumotlar bo'lishi mumkin, shuning uchun keling, FE'L va URL bilan boshlaylik.

Birlamchi fe'l GET bo'lishi kerak, shuning uchun uni shunday qoldirib, quyidagi URL manzilini kiriting: https://dog.ceo/api/breeds/list/all

"Yuborish" tugmasini bosing va hammasi! Tegishli ma'lumotlar bilan javob olishingiz kerak. Voila! Siz hozirgina birinchi API chaqiruvingizni qildingiz. Endi ushbu misol uchun biz olingan ma'lumotlardan foydalanmaymiz. Lekin sizda bir fikr bor: foydalanuvchingizga turli xil it zotlarini ko'rsatishingiz va agar ular ustiga bossa, o'sha zotning rasmini ko'rsatishingiz mumkin.

Atrof-muhit bilan tanishish uchun ularning hujjatlaridagi turli marshrutlar bilan o'ynashingiz mumkin.

Ajoyib fakt: bu kichik loyiha ham ochiq manbadir, shuning uchun uni shu yerda tekshirishingiz mumkin https://github.com/ElliottLandsborough/dog-ceo-api.

Shaxsiy API yordamida autentifikatsiyani boshqarish

Bu erda biz koddan faqat Snipcart API https://docs.snipcart.com/api-reference/introduction bilan ishlash uchun foydalanamiz. Siz Postmanni yopishingiz mumkin, lekin uni qo'lingizda ushlab turing; API bilan ishlashda bunday vositadan foydalanish yaxshi.

Maqsad mijozlar uchun bir martalik chegirmalarni yaratish uchun oddiy CLI vositasini yaratish bo'ladi. Ushbu chegirmalar API orqali yaratiladi va barchasi butunlay sizning kompyuteringizda amalga oshiriladi.

Ushbu loyiha uchun yangi papka yarating, papkada npm init dan foydalaning va matn muharririni yuklang. Endi index.js faylini yarating, keyin package.json faylini oching. Unda yuqori darajadagi ob'ektga quyidagi qatorlarni qo'shing:

“bin”: (“chegirmalar”: “./index.js”)

Mijozdan ma'lumotlarni tahlil qilish uchun bizga qo'mondon paketi kerak bo'ladi. Shunday qilib, joriy papkada npm install -save commander-ni ishga tushiring. Biz identifikatorlarni yaratish uchun kichik kutubxonadan ham foydalanamiz; Siz uni npm install -save shortid yordamida o'rnatishingiz mumkin. Biz hozir bo'lganimizda, HTTP qo'ng'iroqlarini osonlashtirishimiz uchun npm install -save request lib-ni ham ishga tushiramiz. index.js faylingizga qayting va ushbu kodni joylashtiring:

#!/usr/bin/env node var programma = talab ('qo'mondon'); var shortid = require('shortid'); var so'rov = talab ('so'rov'); function CreateDiscount())( var chegirma = ( nomi: '20% OFF', trigger: 'Kod', turi: 'Baho', tarif: 20, maxNumberOfUsages: 1, kod: shortid.generate() ) so‘rov(( url) : “http://app.snipcart.com/api/discounts” , auth: ( 'foydalanuvchi': 'YOUR_API_KEY' ), usul: “POST”, json: true, tana: chegirma ), funksiya (xato, javob, body )( console.log(body.code); )); ) program .arguments(' ') .action(funksiya(raqam) ( for(var i = parseFloat(raqam); i > 0; i-)( CreateDiscount ( ); ) )).parse(process.argv);

Bu erda faqat so'rov funksiyasiga e'tibor qaratsak. Bu erda biz Snipcart-ga tashqi API chaqiruvini amalga oshirmoqdamiz. Ko'rishingiz mumkinki, biz usulga o'tmoqdamiz: "POST". Buning sababi, biz ma'lumotlarni Snipcart API-ga nashr qilmoqchimiz. Ushbu usulni belgilab, API chegirma ma'lumotlarini o'z ichiga olgan so'rov tanasini o'qishi uchun amalni to'g'ri bajaradi.

Biz hali foydalanmagan qiziqarli API xususiyati bu autentifikatsiya. Boshqa barcha misollarimiz umumiy API-larda edi: ular autentifikatsiyani talab qilmaydi. Ammo real stsenariylarda siz foydalanadigan ko'pgina APIlar Twitter API yoki Google Maps API kabi autentifikatsiyani talab qilishi mumkin. Bu API dunyosidagi standart "naqsh". Agar boshqa birovga ularning do‘konida chegirmalar yaratishga ruxsat bersak, mijozlarimiz bundan xursand bo‘lmaydi. ;)

Autentifikatsiya tushunchalari juda og'ir bo'lishi mumkin; Siz ushbu ajoyib postni o'qishingiz mumkin https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=http://blog.restcase.com/restful-api-authentication- asoslar /&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhjwWO5yc6nayLpXCQkh_X95B0OZMw mavzuni yaxshiroq oʻzlashtirish uchun.

Bizning maqsadimiz uchun biz https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://en.wikipedia.org/wiki/Application_programming_interface_key& API kalitini o'tkazamiz. =17259, 15700019,15700186,15700190,15700248,15700253&usg=ALkJrhhpSWyk-nV9379VcrY3TMcKiAdXlQ to'g'ridan-to'g'ri so'rovda serverni taniydi va bizni hurray! Keyin u faqat bizning hisobimizga maxsus so'rov yuborishi mumkin.

Agar siz bizning kichik dasturimizni sinab ko'rmoqchi bo'lsangiz, loyiha katalogida npm install -g ni ishga tushirishingiz va chegirmalarni x marta yaratish uchun shunchaki chegirmalarni ishga tushirishingiz mumkin. Siz Snipcart boshqaruv paneliga o'tishingiz mumkin (sinov rejimida abadiy bepul hisoblar) va chegirmalar to'g'ri yaratilganligiga ishonch hosil qiling. Bu qanchalik kuchli ekanligini tasavvur qilishingiz mumkin: agar siz ushbu chegirmalardan 200 tasini yaratishingiz kerak bo'lsa, buni bizning foydalanuvchi interfeysimiz orqali amalga oshirish juda ko'p vaqtni oladi. Biroq, API qanday ishlashi bilan tanishganingizdan so'ng, uni bir necha daqiqada bajarish mumkin. Kodni qayta ishlatish ham mumkin, shuning uchun agar siz bir oy ichida xuddi shu narsani qilishingiz kerak bo'lsa, unda siz tayyormiz!

Agar sizda API uchun maxsus foydalanish holatlari haqida gaplashmoqchi bo'lsangiz, ularni sharhlarda yozing. Biz ularni kontent yo‘l xaritamizga qo‘shishni ko‘rib chiqamiz! :)

Yakuniy fikrlar

Umid qilamanki, ushbu qo'llanma sizga API nima ekanligini va ularni ishlab chiqish jarayonida qanday ishlatishni yaxshiroq tushunishga yordam berdi.

Bir nechta takliflar:

  • API-lar tezlikni tezlashtiradi va rivojlanish imkoniyatlarini kengaytiradi. Ulardan foydalaning!
  • API-lar veb-ekotizim bilan bog'lanishi shart emas; Siz ularni hamma joyda ko'rasiz.
  • Siz foydalanmoqchi bo'lgan API hujjatlarini doimo diqqat bilan tekshiring.
  • Kodlashni boshlashdan oldin har doim ekotizimingizda mavjud vositalarni (API yoki boshqa) qidiring.

Endi bizning oxirgi misolimiz "ishlab chiqarish" tayyor emas, lekin u sizga real hayotda qanday ko'rinishga ega bo'lishi mumkinligi haqida yaxshi tasavvur beradi. Biz yaxshilashimiz mumkin bo'lgan ko'p narsalar mavjud, masalan, foydalanuvchiga chegirma turini tanlashga ruxsat berish va hokazo. Biz yaratilgan kodlardan ularni ro'yxatdan o'tkazish o'rniga ularni bevosita bir xil funktsiyada elektron pochta orqali yuborish uchun ham foydalanishimiz mumkin. Agar chegirma vositalariga yuqoriroq ehtiyojimiz bo'lsa, APIni o'zimiz yozishimiz mumkin edi. U yerdan, agar xohlasak, biz API bilan o'zaro aloqada bo'ladigan UI yaratishimiz mumkin. Nima bo'lganda ham, umid qilamanki, siz hozir fikrni tushunasiz! :)

Xo'sh, keyingi qadam nima? Rivojlanishdagi deyarli hamma narsa kabi, siz kodlash, kodlash, kodlash va yana bir nechta kodlash kerak! Bu sizni API boshqaruvi va integratsiyasi bilan tanishtiradi. Biroz vaqt o'tgach, siz ular bilan yanada samaraliroq bo'lasiz.

Va bu erda haqiqiy zavq boshlanadi.

Ertami-kechmi, har qanday dasturchi kabi tushunchaga duch keladi API. Biroq, bunday uchrashuv sodir bo'lganda, hamma ham nima ekanligini, nima uchun kerakligini va uni qanday ishlatishni bilmaydi. Va ushbu maqolada men ba'zilaringizning bilimidagi bu bo'shliqni to'ldirmoqchiman, shuningdek, o'z amaliyotimdan misol keltiraman.

API (amaliy dasturlash interfeysi) - Bu amaliy dasturlash interfeysi. Oddiyroq qilib aytganda, bu boshqa dasturlarda qo'llanilishi mumkin bo'lgan turli funktsiyalar, konstantalar, sinflar va so'rov formatlari to'plamidir.

Shunday deb hisoblash mumkin API- bu ma'lum bir ob'ekt, uni amalga oshirish biz bilmagan, ammo biz undan foydalanishimiz mumkin. Masalan, kompyuter - bu juda kam odam biladigan ob'ekt, ammo deyarli hamma undan ba'zi harakatlarni bajarish uchun foydalanishi mumkin: video tomosha qilish, Internetda kezish, matnni chop etish va hk. Bularning barchasi qanday ishlashini kam odam biladi, lekin deyarli hamma buni qila oladi.

Misol API hisoblanadi Windows API, OpenGL API, Direct3D API va hokazo.

Misol uchun, yaqinda men ham to'g'ridan-to'g'ri duch keldim API. Men pochta ro'yxati xizmatiga ro'yxatdan o'tdim" SmartResponder.ru" va odamlar obuna bo'lishni boshlagan axborot byulletenini ishga tushirdi. Vazifa quyidagicha edi: obuna bo'lgandan keyin 24 soat ichida bir kishi mening pullik video kursimni chegirma bilan sotib olishi mumkin. Obunachilar haqidagi barcha ma'lumotlar serverda saqlanganligi sababli " SmartResponder.ru", keyin oddiy kirish (masalan, orqali JB) Menda bu ma'lumotlarga kirish imkoni yo'q edi, lekin uni amalga oshirish kerak edi. Rahmat," SmartResponder.ru"o'zing bor API, men foydalangan.

Men ulardan topdim API natijada obuna sanasini olish uchun so'rov formati. Keyinchalik orqali cURL Men tegishli so'rovni yubordim va ma'lum bir obuna uchun kerakli sanani oldim elektron pochta manzillari. Keyingi - standart ishlov berish va natijani chiqarish.

Ehtimol siz "API" atamasini ko'rgansiz. Operatsion tizim, veb-brauzer va ilovalar yangilanishlari tez-tez ishlab chiquvchilar uchun yangi API-larni e'lon qiladi. Lekin API nima?

Ilova dasturlash interfeysi

API atamasi qisqartma bo'lib, u amaliy dasturlash interfeysi degan ma'noni anglatadi.

API restorandagi menyuga o'xshaydi. Menyuda siz buyurtma qilishingiz mumkin bo'lgan taomlar ro'yxati, shuningdek, har bir taomning tavsifi mavjud. Qaysi menyu elementlarini xohlayotganingizni aniqlaganingizda, restoran oshxonasi ishni bajaradi va tayyor ovqatlar bilan ta'minlaydi. Restoran bu taomni qanday tayyorlayotganini aniq bilmaysiz va bunga hojat ham yo‘q.

Xuddi shunday, API ishlab chiquvchilar foydalanishi mumkin bo'lgan ko'plab operatsiyalarni, shuningdek, ular nima qilayotganini tavsiflaydi. Ishlab chiquvchi, masalan, operatsion tizim qanday yaratilganligini bilishi shart emas va "Boshqa saqlash" dialog oynasi ko'rsatiladi. Ular faqat dasturda foydalanish uchun mavjudligini bilishlari kerak.

Bu mukammal metafora emas, chunki ishlab chiquvchilar natijalarga erishish uchun o'zlarining API ma'lumotlarini taqdim etishlari kerak bo'lishi mumkin, shuning uchun u oshxonaga ishlash uchun o'zingizning ba'zi ingredientlaringizni taqdim etishingiz mumkin bo'lgan ajoyib restoranga o'xshaydi.

API-lar ishlab chiquvchilarga muhim ishlarni bajarish uchun platformani amalga oshirish orqali vaqtni tejash imkonini beradi. Bu ishlab chiqiladigan kod miqdorini kamaytirishga yordam beradi va ayni platformadagi ilovalar o'rtasida muvofiqlikni yaratishga yordam beradi. API-lar apparat va dasturiy resurslarga kirishni boshqarishi mumkin.

APIlar ishlab chiquvchilar uchun hayotni osonlashtiradi

Aytaylik, siz iPhone ilovasini ishlab chiqmoqchisiz. Apple kompaniyasining iOS operatsion tizimi siz uchun buni osonlashtirish uchun har qanday boshqa operatsion tizim kabi juda ko'p API-larni taqdim etadi.

Misol uchun, agar siz bir yoki bir nechta veb-sahifalarni ko'rsatish uchun veb-brauzerni joylashtirmoqchi bo'lsangiz, o'z veb-brauzeringizni faqat ilovangiz uchun noldan dasturlashingiz shart emas. Siz
Ilovangizga WebKit (Safari) veb-brauzerini joylashtirish uchun WKWebView API dan foydalanishingiz mumkin.

Agar siz iPhone kamerasidan rasm yoki video olishni istasangiz, o'zingizning kamera interfeysingizni yozishingiz shart emas. Siz iPhone kamerasini ilovangizga joylashtirish uchun Camera API-dan foydalanishingiz mumkin. Agar API mavjud bo'lmasa, dastur ishlab chiquvchilari o'zlarining kamera dasturlarini yaratishlari va kamera apparati kirishlarini sharhlashlari kerak edi. Ammo Apple operatsion tizimini ishlab chiquvchilari bunchalik mashaqqatli ishlarni qilishdi, shuning uchun ishlab chiquvchilar kamerani joylashtirish uchun kamera API sidan foydalanishlari va keyin o‘z ilovalarini yozishni davom ettirishlari mumkin. Apple kamera API-ni yaxshilaganida, undan foydalanadigan barcha ilovalar avtomatik ravishda ushbu yaxshilanishdan foydalanadi.

Bu barcha platformalar uchun amal qiladi. Masalan, Windowsda dialog oynasini yaratmoqchimisiz? Buning uchun API mavjud. Androidda barmoq izi autentifikatsiyasini qo'llab-quvvatlamoqchimisiz? Buning uchun API mavjud, shuning uchun har bir Android ishlab chiqaruvchisidan har bir barmoq izi sensorini sinab ko'rishingiz shart emas. Ishlab chiquvchilar g'ildirakni qayta-qayta ixtiro qilishlari shart emas.

API resurslarga kirishni nazorat qiladi

API'lar, shuningdek, ilovaning foydalanishga ruxsati bo'lmasligi mumkin bo'lgan apparat qurilmalari va dasturiy ta'minot xususiyatlariga kirishni boshqarish uchun ishlatiladi. Shuning uchun API ko'pincha xavfsizlikda katta rol o'ynaydi.

Misol uchun, agar siz biron bir veb-saytga tashrif buyurgan bo'lsangiz va brauzeringizda veb-sayt sizning aniq joylashuvingizni so'raayotgani haqida xabarni ko'rsangiz, bu veb-sayt veb-brauzeringizda geolocation API-dan foydalanishga harakat qilmoqda. Veb-brauzerlar veb-ishlab chiquvchilarga joylashuvingizga kirishni osonlashtirish uchun API-larni taqdim etadi - ular shunchaki "qayerdasiz?" Deb so'rashi mumkin va brauzer jismoniy joylashuvingizni aniqlash uchun GPS yoki yaqin atrofdagi Wi-Fi tarmoqlariga kirish bo'yicha mashaqqatli ishni bajaradi. .

Biroq, brauzerlar ushbu ma'lumotni API orqali ham ochib beradi, chunki unga kirishni nazorat qilish mumkin. Veb-sayt sizning aniq manzilingizga kirishni xohlasa, uni olishning yagona yo'li - bu joylashuv API orqali. Va veb-sayt undan foydalanishga harakat qilganda, siz - foydalanuvchi - so'rovga ruxsat berishingiz yoki rad etishingiz mumkin. GPS sensori kabi apparat resurslariga faqat API orqali kirish mumkin, shuning uchun brauzer apparatga kirishni nazorat qilishi va ilovalar nima qila olishini cheklashi mumkin.

Xuddi shu printsip iOS va Android kabi zamonaviy mobil operatsion tizimlar uchun qo'llaniladi, bu erda mobil ilovalar API-larga kirishni nazorat qilish orqali amalga oshirilishi mumkin bo'lgan ruxsatlarga ega. Misol uchun, agar ishlab chiquvchi kamera API orqali kameraga kirishga harakat qilsa, siz ruxsat so'rovini rad qilishingiz mumkin va ilova qurilmangiz kamerasiga kira olmaydi.

Windows, Mac va Linux kabi ruxsatlardan foydalanadigan fayl tizimlari API fayl tizimi tomonidan amalga oshiriladigan huquqlarga ega. Odatiy dastur xom jismoniy qattiq diskka to'g'ridan-to'g'ri kirish imkoniga ega emas. Buning o'rniga, dastur API orqali fayllarga kirishi kerak.

API-lar xizmatlar o'rtasidagi aloqa uchun ishlatiladi

API'lar boshqa sabablarga ko'ra ham qo'llaniladi. Misol uchun, agar siz hech qachon veb-saytga o'rnatilgan Google Xaritalar ob'ektini ko'rgan bo'lsangiz, ushbu veb-sayt xaritani joylashtirish uchun Google Xaritalar API-dan foydalanadi. Google veb-ishlab chiquvchilar uchun shunga o'xshash API-larni taqdim etadi, ular keyinchalik API-lardan murakkab ob'ektlarni to'g'ridan-to'g'ri veb-saytlarida yig'ish uchun foydalanishlari mumkin. Agar bunday API mavjud bo'lmasa, veb-saytda kichik interaktiv xaritani joylashtirish uchun ishlab chiquvchilar o'zlarining xaritalarini yaratishlari va o'zlarining xarita ma'lumotlarini taqdim etishlari kerak bo'lishi mumkin.

Va bu API boʻlgani uchun Google uchinchi tomon veb-saytlarida Google Xaritalarga kirishni nazorat qilishi mumkin, masalan, Google Xaritalar veb-sayti koʻrsatadigan ramkani tasodifiy amalga oshirishga urinishdan koʻra, ulardan izchil foydalanishini taʼminlaydi.

Bu juda ko'p turli xil onlayn xizmatlarga tegishli. Google Translate-dan matn tarjimasini so'rash yoki veb-saytda Facebook sharhlari yoki Twitter tvitlarini ko'rsatish uchun API mavjud.

OAuth standarti, shuningdek, boshqa xizmat orqali saytga kirish imkonini beruvchi bir qator API-larni belgilaydi, masalan, Facebook, Google yoki Twitter akkauntlari orqali yangi veb-saytga yangi foydalanuvchi hisobini yaratmasdan kirish uchun. API-lar standart shartnomalar bo'lib, ishlab chiquvchilarning xizmat bilan o'zaro munosabatini va ishlab chiquvchilar olishni kutishlari kerak bo'lgan mahsulot turini belgilaydi.

Agar siz ushbu maqolani o'qigan bo'lsangiz, API nima ekanligini yaxshiroq tushunasiz. Oxir oqibat, agar siz dasturchi bo'lmasangiz, API nima ekanligini bilishingiz shart emas. Ammo, agar siz dasturiy ta'minot platformasi yoki xizmati turli apparat yoki xizmatlar uchun yangi API qo'shganini ko'rsangiz, ishlab chiquvchilarga bunday xususiyatlardan foydalanish osonroq bo'lishi kerak.

API - bu ilovani dasturlash, ma'lumot olish va ichki xizmatlar bilan bog'liq dasturlarni soddalashtirilgan ishlab chiqish uchun ma'lum bir protokol yordamida saytlarga kirish uchun tashqi interfeys.

API nimani anglatadi?

API-dan foydalanishning eng oddiy o'xshashligi murakkab hisob-kitoblarni amalga oshirish uchun kalkulyatordan foydalanish bo'ladi. Aytaylik, sizda vazifa bor, uning mohiyatini tushunishingiz, tenglamalar va grafiklar qurishingiz mumkin, lekin siz raqamlar bilan arifmetik amallarni bajarishni bilmaysiz. Sizning yoningizda bu operatsiyalarni osonlikcha bajara oladigan kalkulyator mavjud. Siz kompyuter ichida nima bo'layotganini bilmaysiz va bilishingiz shart emas. Siz o'zingizning maqsadlaringiz uchun zarur bo'lgan ma'lumotni bir shaklda berasiz va boshqa shaklda olasiz.

Har qanday API ushbu printsip asosida ishlaydi. Dastur javobni qanday olishi, uning ichida so'rov qanday yo'l tutishi, hisob-kitoblar qanday amalga oshirilishi sizni qiziqtirmaydi. Siz faqat bitta narsaga ishonchingiz komil - javob sifatida operatsiyaning muvaffaqiyati yoki uning xatosi haqida standartlashtirilgan ma'lumotlar beriladi.

API interfeysi sizga "yangi velosiped" sotib olishga vaqt, pul va kuch sarflamaslik imkonini beradi. Siz ishlab chiqish maqsadlari uchun kerakli hajmdagi ma'lumotlarni qabul qiladigan va yuboradigan ishlaydigan ma'lumot portiga ega bo'lasiz.

Taroziga soling:

  • O'z interfeysingizni ishlab chiqishda tejash.
  • Muammoning nuanslarini tushunishning hojati yo'q.
  • API-lar professionallar tomonidan ishlab chiqilgan va sizning yechimingizni yaratishda siz bilmagan ichki jarayonlarning barcha omillarini hisobga oladi.
  • Boshqa protokollar orqali yopilgan xizmatlar bilan bog'lanish imkonini beradi.

Kamchiliklari:

  • Agar maqsadli xizmat yangilangan bo'lsa, API har doim ham to'liq funksionallikni olmaydi.
  • Siz xatolarni ushlay olmaysiz va jarayon boshqa birovning kodida qanday ishlashini bilmaysiz.
  • API har doim ham vaqt bo'yicha eng optimallashtirilgan natijani bermaydi, chunki u aniq ishlarni emas, balki umumiy ishlarni ko'rib chiqish uchun mo'ljallangan.

API misollari

API integratsiyasi ilovani tashqi ma'lumotlar interfeysiga ulash jarayonidir. API bilan ishlash foydalanilgan hujjatlar va protokollarni o'rganishdan boshlanadi, so'ngra dasturingizni interfeysga bevosita integratsiyalashadi. Keling, o'z API-ga ega bo'lgan eng mashhur xizmatlarni ko'rib chiqaylik.

VKAPI

Mashhur VKontakte ijtimoiy tarmog'ining mijozlar bilan, shuningdek, brauzer va server ilovalari bilan o'zaro aloqasi uchun tashqi interfeys. Tegishli kirish kalitlari bo'lsa, jamoa xabarlarini, guruh panellarini, foydalanuvchi sahifalarini boshqarish imkonini beradi.

Barcha so'rovlar manzilga yuboriladi https://api.vk.com/method/

Egri chiziqdan keyin ishlatiladigan API usulining nomi keladi va so'rovning GET parametrlari uzatiladi. Javob HTTPS orqali JSON formatida ham keladi.

TELEGRAM BOT API

Eng mashhur APIlardan biri. U Telegram messenjerida botlarni boshqarish uchun ishlatiladi. @botfather orqali bot yaratganingizdan va kerakli kirish kalitlarini olganingizdan so'ng, siz backend bilan ishlashni boshlashingiz mumkin.

Quyidagilarga murojaat qilish mumkin: https://api.telegram.org/bot0000000:token/

Bu erda bot0000000 botingizning noyob identifikatori bilan almashtiriladi va token maxfiy kalitni ifodalaydi.

So'rovlar HTTPS ulanishlari orqali yuboriladi, usul nomi asosiy manzilga chiziq bilan ko'rsatiladi. Javob JSON formatida keladi.

OB-havo xaritasini ochish API

Ko'pincha ob-havo ma'lumotlarini uchinchi tomon vidjetlari va pullik ilovalardan foydalanmasdan olish kerak bo'ladi. OpenWeatherMap xizmati ochiq va bepul API bilan yordamga keladi. Ro'yxatga olish va identifikatsiya ma'lumotlarini olgandan so'ng, siz butun dunyo bo'ylab server skriptlaridan ob-havo so'rovlarini yuborishingiz mumkin. Shahar identifikatoriga javoban resurs hozirgi ob-havo haqida eng batafsil ma'lumotlarni qaytaradi va yaqin kelajak uchun prognozni beradi.

Format: api.openweathermap.org/data/2.5/weather?id= orqali kerakli shaharning identifikatsiya raqamini ko'rsatuvchi HTTP uzatish. Server javobi: JSON.

GOOGLE MAPS API

Veb-saytdagi interaktiv dunyo xaritasidan yaxshiroq nima bo'lishi mumkin? Ayniqsa, agar bu Google Xaritalardagi qo'shimcha shablon emas, balki shaxsiy markerlar klasterlari bilan mashhur xaritaning shaxsiy nashri bo'lsa. Xarita saytdagi boshqa skriptlar bilan o'zaro aloqada bo'lib, bosish va koordinatalar haqida ma'lumot yuboradi.

Google Maps JavaScript API ham xuddi shunday imkoniyatlarni taqdim etadi. Modul butunlay skriptlangan va brauzer tomonida ishlaydi, shuning uchun bizga PHP-dan HTTP so'rovlari va boshqa API-larda bo'lgani kabi server tomonida sarlavhalarni shakllantirish kerak emas.

Masalan, xaritaga marker qo'yish quyidagicha ko'rinadi:

var belgisi = yangi google.maps.Marker((
pozitsiyasi: myPOS,
xarita: xarita,
sarlavha: "Salom!"
});

APIdan foydalanishning zarurati va afzalliklari nimada?

Juda ko'p foydali funktsiyalar mavjud.

Birinchi jihat

Siz ijtimoiy tarmoqlar va messenjerlar bilan interaktiv foydalanuvchi o'zaro aloqasini o'rnatishingiz, valyuta kurslari, ob-havo va boshqa muhim ma'lumotlarni ko'rsatish uchun uchinchi tomon hisoblash tizimlarining imkoniyatlaridan foydalanishingiz mumkin.

API-dan foydalanib, siz bir zumda boshqa manbalar va dasturiy echimlarni serverlarga ulashingiz mumkin, bu odatda bir necha hafta davom etadi. API noyob dastur kerak bo'lmagan hayotni soddalashtiradi va ishonchlilik va xavfsizlik ustuvor hisoblanadi.

Ikkinchi jihat

Agar siz murakkab hisoblash quvvati, ommabop xizmat yoki ommaviy yoki yarim xususiy kirish uchun ma'lumotlarni saqlash egasi bo'lsangiz, o'zingizning API-ni oshirish yaxshi qadam bo'ladi. U nima beradi:

  • Mijozlarning katta oqimi.
  • Hamkorlar uchun xizmatlaringizga soddalashtirilgan kirish.
  • Xizmatdan foydalanishni statistik tahlil qilish qulayligi.

Uchinchi jihat

Ikkinchisi bilan deyarli bir xil. Lekin ochiq kirish API-ni amalga oshirish kerak bo'lmasdan. Agar sizda portal bo'lsa va u uchun Android/IOS da mobil ilova yaratmoqchi bo'lsangiz, tizimni yagona API ostida qayta yozish eng yaxshi yechim hisoblanadi. Barcha ma'lumotlar tuzilmasi tizimlashtirilgan. Sayt va ilova yagona ma'lumot kanallari orqali ishlaydi.