Nuo nuolankaus jo pradžios daugiau nei prieš 25 metus,internetas vystėsi taip, kad net geriausi analitikai niekada negalėjo nuspėti. Iš esmės tai buvo įrankis, padedantis tyrėjams keistis informacija, ir jis tapo vartotojų įrankiu, be kurio daugelis iš mūsų tiesiog negali gyventi. Tai pakeitė daugelį mūsų gyvenimo aspektų ir mes pasitikėjome ja, galbūt labiau nei turėtume. Tai tapo taip įprasta, kad keičiasi mažmeninės prekybos pramonė. Iš didžiųjų plytų ir skiedinio parduotuvių tinklų dabar didžiausi mažmenininkai yra internetinės prekyvietės.
Norint sėkmingai veikti, internetiniams mažmenininkams reikia ne tikbūti žiniatinklyje, tačiau jie taip pat turi visapusiškai išnaudoti jo funkcijas. Viena iš tokių savybių yra geografinė vieta. Ši technologija gali leisti mažmenininkui sužinoti savo svetainės lankytojo vietą. Tai yra naudinga funkcija, leidžianti parodyti numatomus pristatymo mokesčius arba pateikti konkrečios vietos pasiūlymus. Vienas iš paprasčiausių būdų, kaip gauti naudos iš geografinės padėties, yra naudoti tam skirtą API, kurią galima tiekti su IP adresu ir kuri grąžins visą reikiamą informaciją apie tą adresą. Į „ipstack“ API yra vienas iš tokių produktų, kurį ketiname atrastikaip tai daro savo magiją ir ką ji gali padaryti tau. Pažiūrėsime apie pagrindines įrankio funkcijas ir kaip jį naudoti. Pažiūrėsime, kaip jis veikia, kokio tipo dokumentaciją ir palaikymą produktui siūloma įsigyti, ir pažiūrėsime į jo gana paprastą kainų struktūrą.

Pristatome „ipstack“
„Ipstack“ esmė yra geografinės vietos nustatymo API, kuritiksliam geografiniam duomenų pateikimui naudoja kelis sujungtus IPT. Jūs paskambinsite API iš savo svetainės kodo ir ji gaus daugybę geografinių duomenų apie jūsų svetainės vartotojus. Jūs, be abejo, sužinosite vartotojo geografinę vietą (ar tai ne pagrindinis punktas?), Tačiau tai dar ne viskas. Pvz., Įrankis grąžins nuorodą į vartotojo šalies vėliavos atvaizdą arba jaustuko versiją. Be to, gausite informacijos apie tai, ar vartotojas į jūsų svetainę patenka per tarpinį serverį. Mes įsigilinsime į visa tai išsamiau, kai įsigilinsime į galimus modulius.
Projektas, iš pradžių vadinamas freegeoip.„net“, tai pamatė dar 2009 m. kaip atvirojo kodo iniciatyva, skirta padėti kūrėjams. Nuolat tobulindamas, remdamasis vartotojų atsiliepimais, po aštuonerių metų jis išsivystė į visavertį produktą, į kurį žiūrime. Per tą laiką produkto vartotojų bazė išaugo iki šimto tūkstančių patenkintų klientų. Jie nėra vieninteliai klientai. Tokie milžinai kaip „Microsoft“ ar „Samsung“ naudoja API. Taip pat yra „Airbnb“ ir „HubSpot“.
„Ipstack“ API naudoja labai dinamišką schemąkuris atnaujina savo duomenų bazę kelis kartus per dieną, užtikrindamas grąžintų rezultatų vientisumą. Šiuo tikslu „ipstack“ bendradarbiauja su keliais dideliais IPT visame pasaulyje. Įrankis vykdo visą ryšį per 256 bitų SSL užšifruotą kanalą - naudodamas HTTPS - kad būtų užtikrintas visų duomenų perdavimas. Rezultatus API gali grąžinti XML arba JSON formatu, atsižvelgiant į jūsų specifinius poreikius.
Viena geriausių „ipstack API“ dalių yra josmoduliškumas. Įvairūs galimi moduliai pateikia vis daugiau duomenų apie vartotojo buvimo vietą. Dėl to labai lanksti priemonė. Greitis taip pat yra vienas iš produkto privalumų. Paskambinate API su tinkamu (-ais) parametru (-ais) ir labai greitai gaunate prašomus rezultatus. Šiuo metu „ipstack API“ kasdien tvarko daugiau nei du milijardus užklausų ir vis tiek reaguoja beveik akimirksniu. Bendradarbiaudamas su įvairiais IPT, produktas gali apimti apie 2 milijonus vietų ir daugiau nei du šimtus tūkstančių miestų visame pasaulyje. Tai taip pat palaiko ir IPv4, ir IPv6 adresus.
Kaip veikia geografinė padėtis
Prieš eidami toliau, trumpam pauzėsime irgreitai pažiūrėkite, kaip atrodo geografinė vieta. Kaip jūs spėjote iš „ipstack“ pavadinimo, tai turi būti susiję su IP adresais. IP adresus galima tam tikru mastu palyginti su pašto adresais. Kiekvienas prie interneto prijungtas įrenginys turi unikalų IP adresą. Bet šie IP adresai nėra atsitiktinai priskiriami kiekvienam įrenginiui. Yra tam tikra prasmė. Dalis IP adreso identifikuoja prijungtą įrenginį, kita dalis - tinklą, prie kurio jis yra prijungtas. Ir pati tinklo dalis yra organizuota hierarchiškai, panašiai kaip kompiuterio disko katalogo medis. (Tikiuosi, kad mūsų skaitytojų inžinieriai man atleis už šį perdėtą supaprastinimą.)
Tai panašu į pašto adresą su gatvenumeris, gatvės pavadinimas, miestas ir galiausiai šalis. Panašiai kaip britų paštas neturi supratimo, kur yra bet koks JAV adresas, jis siųs JAV siunčiamus laiškus USPS, kurie pasirūpins pašto nukreipimu į reikiamą vietą. Panašiai kaip į įrankį, pvz., „Google map“, galite įvesti bet kurį pašto adresą ir gauti tikslią atitinkamą vietą, galite užduoti užklausą tokiam įrankiui kaip „ipstack“ API su IP adresu, kad gautumėte jo vietą.
Vis dėlto tai turi tam tikrų apribojimų. Pvz., Iš IP adreso negausite tikslios vietos. Gausite bet ką, ką gali suteikti IP adresą tiekiantis IPT. Tai dažnai nėra daug tiksliau nei miestas ar rajonas, nors kai kurie teikėjai pateikia daugiau informacijos nei kiti. Be to, jei vartotojas kreipiasi į VPN norėdamas patekti į jūsų svetainę, tai, ką gautumėte iš tokios informacijos, yra jūsų naudojamo VPN serverio vieta.
Pagrindinės „ipstack“ API savybės
„Ipstack“ API kūrėjai pasirinko naudoti „a“modulinis požiūris į šį gaminį. Jį sudaro įvairūs moduliai, iš kurių kiekvienas grąžina skirtingo tipo informaciją. Pavyzdžiui, yra laiko juostos, valiutos ar net saugumo moduliai. Siunčiant užklausą į „ipstack“ API, pasirenkate, kokį modulį naudoti.
Yra keletas šio požiūrio pranašumų. Pirma, tai palengvina reagavimą. Jei buvo tik viena užklausos rūšis, grąžinanti visus turimus duomenis apie IP adresą, jūsų svetainės kodas turės analizuoti visą atsakymą, kad būtų galima gauti bet kurią jai reikalingą informaciją. Be to, mažesnių užklausų, mažesnių atsakymų, siuntimas gali pagerinti našumą.
Pažvelkime giliau į kiekvieną iš galimųmodulis, kaip jiems paskambinti ir kaip atrodo tipiška jų reakcija. Tai suteiks jums gana aiškią apžvalgą, ko galima tikėtis iš šio galingo įrankio.
Vietos modulis

Pats svarbiausias „ipstack“ API modulis yraVietos modulis. Tai grąžina informaciją apie užklausoje pateikto IP adreso fizinę vietą. Gausite IP adreso šalį, jos pagrindinę ar oficialiąją kalbą, taip pat jaustukus su šalies vėliava, kuriuos galite naudoti norėdami suasmeninti savo vartotojo patirtį.
Čia yra tipiškas atsakymas į užklausą į „ipstack“ API. Pirma dalis yra įtraukta į bet kokią užklausą, neatsižvelgiant į reikalaujamą modulį:
ip: "142.243.254.224" hostname: "142.243.254.224" type: "ipv4" continent_code: "NA" continent_name: "North America" country_code: "CA" country_name: "Canada" region_code: "QC" region_name: "Quebec" city: "Montreal" zip: H2V latitude: 45.5178 longitude: -73.6046
Daugelis grąžintų atributų yra savaime suprantami, tačiau turėdami išsamią dokumentaciją „ipstack“ svetainėje turėtumėte prireikti papildomos pagalbos.
Bet kadangi mes kalbame apie vietos nustatymo modulį, pažiūrėkime, kokia papildoma informacija grąžinama jį naudojant:
location: Object {} geoname_id: null capital: "Ottawa" languages: Object {} code: "en" name: "English" native: ""English"" code: "fr" name: "French" native: ""Français"" country_flag: "http://assets.ipstack.com/flags/ca.svg" country_flag_emoji: "??" country_flag_emoji_unicode: "U+1F1E8 U+1F1E6" calling_code: "1" is_eu: false
Kaip matote, gaunama papildoma informacijadaugiausia šalies sostinė, įvairios toje vietoje vartojamos kalbos, nuoroda į šalies vėliavos atvaizdą ir šalies jaustukų unikodas.
Valiutos modulis

Valiutos modulį galima naudoti toliaupagerinti savo svetainės vartotojo patirtį. Tai ypač pasakytina apie apsipirkimo svetainę, nes ji leis jums parodyti kainas vartotojo valiuta. Pateiktoje informacijoje yra vietinės valiutos pavadinimas ir simbolis bei daugiskaitos pavadinimas. Žinoma, API nekeis kainų į reikiamą valiutą, tačiau ji leis jums naudoti kitą API, kad galėtumėte konvertuoti savo kainas į lankytojams tinkamą valiutą. Pažvelkime, kaip atrodo valiutų modulio išvestys:
currency: Object{} code: "CAD" name: "Canadian Dollar" plural: "Canadian dollars" symbol: "CA$" symbol_native: "$"
Apsaugos modulis

Tikriausiai ne tokia populiari ar naudinga kaip ankstesnėmoduliai, saugos modulis vis dar įdomus. Tai grąžina informaciją apie kelis gaunamo ryšio saugumo aspektus. Pvz., Jis jums pasakys, ar į svetainę patenkama per tarpinį serverį, ir, jei taip, apie įgaliotojo serverio tipą, ar užklausa pateikta per „tor“ tinklą. Jis taip pat gali pasakyti, kad užklausą teikia tikrintuvas, o ne tikrasis vartotojas. Šios rūšies informacija gali būti naudojama norint išvengti įbrėžimų. Modulis taip pat grąžina grėsmės lygį, susijusį su pateiktu IP adresu, galimai suteikdamas neapdorotą apsaugą nuo kenkėjiškų užklausų. Čia pateikiamas tipiškas saugos modulio atsakymas:
security: Object{} is_proxy: false proxy_type: null is_crawler: false crawler_name: null crawler_type: null is_tor: false threat_level: "low" threat_types: null
Laiko juostos modulis

Kitas modulis, kuris gali būti naudingassuasmeninkite savo svetainės lankytojų patirtį, naudodami laiko juostos modulį. Čia pateikiama tam tikra papildoma informacija apie jūsų svetainės lankytojus - jūs atspėjote. Viena iš vietų, kur tokią funkciją galėtumėte naudoti svetainėse, kuriose nagrinėjama su laiku susijusi informacija. Tai leidžia rodyti teisingą laiką atsižvelgiant į jūsų vartotojo vietą.
Kaip matote iš šio pavyzdžio atsakymo, modulyje pateikiama tokia informacija kaip GMT poslinkis, dabartinis vartotojo laikas, laiko kodas ir laiko juostos vieta:
time_zone: Object{} id: "America/Montreal" current_time: "2019-07-09T12:39:22-04:00" gmt_offset: -14400 code: "EDT" is_daylight_saving: true
Ryšio modulis

Paskutinis, bet ne mažiau svarbus dalykas yra ryšio modulis. Tai gana paprasta. Viskas, ką jis grąžina, yra autonominės sistemos (AS) numeris, susietas su šaltinio IP adresu, taip pat IPT vardas. Na, tai iš tikrųjų yra IS savininko vardas, o IPT. Kai kurios organizacijos registruoja savo autonominę sistemą, kaip yra pavyzdyje žemiau:
connection: Object{} asn: 395399 isp: "City of Montreal"
Tai turbūt mažiausiai naudinga iš visų modulių, tačiau kai kuriems tai bus naudinga įvairiems analizės tikslams.
Darbas su „ipstack“ API
Pažvelgėme, kokia gali būti informacijagrįžo „ipstack“ API, dabar pats laikas pasižvalgyti, kaip ji vadinama. „Ipstack“ API siūlo tris skirtingų tipų užklausas, kurių kiekviena turi skirtingus parametrus. Čia yra standartinė paieška, masinė paieška ir prašytojo paieška. Pažiūrėkime, kuo jie skiriasi. Tai yra maloni savybė, nes, pavyzdžiui, masinė užklausa leidžia sujungti kelias užklausas į vieną, taip sumažinant bendrą pridėtinę kainą ir užtikrinant greitesnius rezultatus. Pažvelkime giliau į kiekvieno tipo užklausas.
Standartinė peržiūra
Kaip jau galėjote atspėti, standartinė paieška yrapats paprasčiausias. Tai grąžina išsamią informaciją apie vieną IP adresą, kurį nurodėte skambindami „ipstack“ API. Tai gana paprasta naudoti ir jis veiks su IPv4 arba IPv6 adresais. Kad būtų dar lengviau, produkto dokumentacijoje pateiktas standartinės užklausos pavyzdinis kodas tiek PHP (cURL), tiek „JavaScript“ (Jquery.ajax). Jei jūsų svetainė kuriama naudojant bet kurį iš šių būdų, naudoti API iš tikrųjų nereikia. Čia yra tipiško API kvietimo, naudojant paprastą HTML kodą, pavyzdys:
https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY
Šiame pavyzdyje YOUR_ACCESS_KEY būtų pakeistas tikru prieigos raktugavote, kai jūs užsiregistravote į paslaugą. Šiame pavyzdyje taip pat įtrauktumėte faktinį IP adresą, apie kurį norite gauti informacijos, o ne netikruosius.
Į standartinės paieškos rezultatus įeina visimoduliai pagal numatytuosius nustatymus, tačiau papildomi parametrai leidžia suderinti užklausą pagal jūsų poreikius. Visa išsami informacija apie galimus parametrus yra aiškiai paaiškinta gaminio dokumentacijoje. Taip pat numatytasis atsakymas yra JSON objektas, tačiau parametrai gali jį pakeisti į XML formatą.
Masinės ir prašytojų paieškos
Tūrinė peržiūra leidžia prašyti duomenų prieškeli IP adresai per vieną užklausą. Kaip ir standartinėje paieškoje, galite gauti duomenis ir apie IPv4, ir IPv6 adresus. Jūs netgi galite sujungti abiejų tipų adresus į vieną užklausą. Prašymo formatas yra toks pat kaip ir standartinės paieškos, išskyrus tai, kad nurodote kelis IP adresus, atskirtus kableliais.
https://api.ipstack.com/123.123.123.123,124.124.124.124,125.125.125.125, 126.126.126.126?access_key=YOUR_ACCESS_KEY
Paskutinio tipo užklausa, kurią siūlo „ipstack“API yra prašytojo paieška. Ji grąžins informaciją apie IP adresą, iš kurio gaunama užklausa. Tai yra užklausos, kurią vykdėte pateikę kliento scenarijų, tipas. Norėdami paskambinti „Requester Lookup“ skambučiu, vietoj IP adreso jums tereikia naudoti raktinį žodį „patikrinti“. Kiti galimi užklausos parametrai yra tokie patys kaip kitų tipų užklausos.
https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY
Kaip veikia „ipstack“ API?
„Ipstack“ API yra kažkas daugiau nei tikėtinabūtumėte integruoti į realaus laiko svetainę. Pvz., Galbūt norėsite pateikti skirtingą turinį, atsižvelgiant į kliento vietą. Kad tai atliktumėte, reikia API, kuri veiktų nepaprastai greitai. Bet koks API atsakymo uždelsimas reikš, kad puslapio rodymas klientui bus atidėtas, o to labiau norėtumėte išvengti. Tas pats pasakytina ir nesvarbu, kam naudojate vietos duomenis. Štai kodėl naudojamo įrankio reakcijos laikas yra nepaprastai svarbus. Nors geografinės padėties nustatymo API gali suteikti labai reikalingą funkciją, jos neveikimas gali sukelti pražūtingą poveikį.
Dėl šių priežasčių turite pasirinkti API sugeras reakcijos laikas. Atlikome daug sunkaus darbo, bandydami įvairius scenarijus, ir atlikome bandymus su vienu ar keliais IP adresais, kai kuriuose - daugiau pasirenkamų parametrų, kituose - mažiau. Mes buvome gana patenkinti rezultatais ir gavome gana nuoseklų atsakymo laiką - maždaug 100 ms, neatsižvelgiant į prašymą. Laikui bėgant reakcija buvo nuosekli ir nebuvo akivaizdaus „piko valandomis“, kai nukentės našumas, ir taip pat buvo panašiai, nesvarbu, iš kur mes pateikėme užklausas. Panašu, kad „ipstack“ serveriai yra sukurti sutvarkyti gautą apkrovą. Apskritai atrodo, kad „ipstack“ API naudojimas beveik neturėjo jokios įtakos svetainės reakcijai, žiūrint iš vartotojo perspektyvos.
Produkto dokumentacija ir palaikymas
Dažnai sakoma, kad produktas yra tik toks geraskaip jos dokumentus. Jei tai tiesa, „ipstack“ API nėra ko bijoti, nes jos dokumentaciją lengva rasti, naudoti ir suprasti. Dokumentacijos kokybė taip pat parodo, kiek programinės įrangos leidėjas rūpinasi savo vartotojais. Vėlgi, nėra ko jaudintis.

Vienas geriausių šio produkto dalykųdokumentai, kaip bebūtų keista, kiek jų yra. Viskas telpa viename, gerai išdėstytame tinklalapyje, kuriame lengvai rasite viską, ko jums reikia. Kad tai būtų dar lengviau, meniu juosta leidžia lengvai pasiekti bet kurią skyrių. Dokumentacija apima viską nuo įvairių tipų užklausų naudojimo iki atsakymo tinkinimo.
Labai mažai tikėtinu atveju, kai to nepadarytumėtedokumentacijoje raskite tai, ko jums reikia, taip pat yra palaikymas. Iš pradžių gali prireikti šiek tiek laiko, kol pasiekiama techninė pagalba, tačiau, kai tik tai padarysite, jie reaguoja gana greitai.
Kainodara
Galimi keli kainodaros planai„ipstack“ API. Žemiausiame lygyje yra laisvas planas. Kaip rodo jo pavadinimas, šis yra nemokamas. Tai taip pat yra šiek tiek ribotas. Pradedantiesiems galite atlikti tik iki 10 000 užklausų per mėnesį. Tai taip pat apima tik Vietos modulį, o prieiga prie paramos yra ribota. Tačiau tai gali būti puikus būdas išbandyti gaminį ir pamatyti, kaip jis gali integruotis į jūsų aplinką.
Kitas lygis yra pagrindinis planas. Šis parduodamas už 9,99 USD / mėn. Arba 95,90 USD / metus (20% nuolaida) ir padidina užklausų limitą iki 50 000 / mėn. Tai taip pat leidžia naudoti modulius Valiuta, Laiko juosta ir Ryšys. Be to, į planą taip pat įtrauktas patobulintas palaikymas ir padidintas saugumas naudojant SSL šifravimą.
Populiariausias planas yra profesionaluskuris parduodamas už 49,99 USD per mėnesį arba 479,90 USD per metus. Tai suteikia jums viską, kas įtraukta į pagrindinį planą, tačiau padidina mėnesio užklausų skaičių iki 500 000 ir taip pat apima galimybę atlikti masines užklausas.
Viršuje yra profesionalaus pliuso planas. Tai kainuoja 99,99 USD / mėn. Arba 959,90 USD / metus. Tai yra identiška profesionaliam planui, tačiau leidžia per mėnesį gauti iki 2 milijonų užklausų ir tai yra vienintelis planas, į kurį turi būti įtrauktas saugos modulis.
Jei to nepakanka, yra irtinkinamas įmonės planas, kurį galima išdėstyti susisiekus su „ipstack“. Tai gali būti tiek mėnesio užklausų, kiek jums gali prireikti, tiek įvairūs pritaikyti sprendimai, atsižvelgiant į konkrečius kliento poreikius.
Apibendrinant
„Ipstack“ API yra puikus produktasleis jums greitai ir lengvai surinkti kuo daugiau duomenų, kuriuos galite gauti iš IP adreso. Jis pasižymi nuostabiu reagavimo laiku, puikia dokumentacija ir gera palaikymu, kurie kartu suteikia didelę pinigų vertę. Tai, kad keli interneto milžinai ja naudojasi, tikriausiai yra geras produkto vertės įrodymas.
Tai tikrai produktas, kurio rekomenduočiaujūs ketinate išnaudoti duomenis, kuriuos galima surinkti jūsų svetainės lankytojo IP adresui. Ir kadangi yra nemokamas, nors ir ribotas, planas, nėra jokios priežasties, kodėl neturėtumėte bent jau pamėginti, įsitikinkite patys, ką jis gali padaryti už jus.
Komentarai