Sedan dess ödmjuka början för över 25 år sedan,världswebben har utvecklats på sätt som även de bästa analytikerna aldrig kunde ha förutspått. Forma det som i huvudsak var ett verktyg för att hjälpa forskare att dela information, det har utvecklats till ett konsumentverktyg som många av oss helt enkelt inte kan leva utan. Det har förändrat många aspekter av våra liv och vi har förlitat oss på det, kanske mer än vi borde. Det har blivit så vanligt att det förändrar detaljhandeln. Från stora kedjor av tegel- och murbrukaffärer är de bästa detaljhandlarna nu webbaserade marknadsplatser.
För att lyckas behöver onlinehandlare inte baraför att vara närvarande på webben, men de måste också utnyttja dess funktioner fullt ut. En sådan funktion är geolokalisering. Denna teknik kan göra det möjligt för en återförsäljare att känna till platsen för sin webbplats besökare, en användbar funktion för att låta dem visa uppskattade fraktkostnader eller presentera platsspecifika erbjudanden. Ett av de enklaste sätten att dra nytta av geolokalisering är att använda ett dedikerat API som kan matas med en IP-adress och som kommer att returnera all relevant information om den adressen. De ipstack API är en sådan produkt och vi håller på att upptäckahur den gör sin magi och vad den kan göra för dig. Vi tittar på verktygets grundläggande funktionalitet och hur det ska användas. Vi får se hur den presterar, vilken typ av dokumentation och support som finns för produkten och titta på dess ganska enkla prissättningstruktur.

Vi introducerar ipstack
I grunden är ipstack ett geolocation API somanvänder flera sammankopplade internetleverantörer för att ge exakta geografiska data. Du ringer API från din webbplats kod och det kommer att ge en mängd geografiska data om din webbplats användare. Du kommer naturligtvis att få användarens geografiska plats (är inte det huvudpoängen?) Men det är inte allt. Till exempel kommer verktyget att returnera en länk till en bild av användarens landsflagga eller en emoji-version av den. Dessutom får du information om användaren får åtkomst till din webbplats genom en proxy. Vi kommer att gå in djupare detaljer om allt detta när vi tittar på djupare detaljer på tillgängliga moduler.
Projektet, ursprungligen kallad freegeoip.net, såg ljuset tillbaka 2009 som ett open source-initiativ för att hjälpa utvecklare. Genom kontinuerlig förbättring baserad på användaråterkoppling utvecklades den cirka åtta år senare till den fullfjädrade produkten som vi tittar på. Under denna tid växte produktens användarbas upp till över hundra tusen nöjda kunder. Och de är inte bara några kunder. Jättar som Microsoft eller Samsung använder API: et. Så är Airbnb och HubSpot.
Ipstack-API: n använder ett mycket dynamiskt schemasom uppdaterar sin databas flera gånger om dagen, vilket säkerställer integriteten hos de returnerade resultaten. För detta ändamål har ipstack samarbetat med flera stora Internetleverantörer över hela världen. Verktyget utför all kommunikation över 256-bitars SSL-krypterad kanal - med HTTPS - för att säkra alla dataöverföringar. Resultaten kan returneras med API i antingen XML- eller JSON-format, beroende på dina specifika behov.
En av de bästa delarna av ipstack API är dessmodularitet. Olika tillgängliga moduler ger allt mer information om användarens plats. Det är ett mycket flexibelt verktyg. Speed är också en av produktens forte. Du anropar API med lämpliga parametrar och får de önskade resultaten supersnabbt. För närvarande hanterar ipstack API mer än två miljarder förfrågningar dagligen och det svarar fortfarande nästan direkt. Genom ett partnerskap med olika internetleverantörer kan produkten täcka cirka 2 miljoner platser och över två hundra tusen städer över hela världen. Det stöder också både IPv4- och IPv6-adresser.
Hur Geolocation fungerar
Innan vi går längre, låt oss kort pausa ochtitta snabbt på hur geolokalisering ser ut. Som du antar från ipstacks namn, har det att göra med IP-adresser. IP-adresser kan jämföras - i viss utsträckning - med postadresser. Varje Internet-ansluten enhet har en unik IP-adress. Men dessa IP-adresser tilldelas inte bara slumpmässigt till alla enheter. Det finns lite förnuft i det. En del av en IP-adress identifierar den enskilda anslutna enheten och en del av den identifierar nätverket den är ansluten till. Och själva nätverksdelen är hierarkiskt organiserad, ungefär som ett katalogträd för datordiskar. (Jag hoppas att ingenjörerna bland våra läsare kommer att förlåta mig för denna överförenkling.)
Detta liknar en postadress med en gatanummer, ett gatunamn, en stad och så småningom ett land. Och precis som det brittiska inlägget inte har någon aning om var någon amerikansk adress finns, kommer den att skicka USA-bunden post till USPS som kommer att ta hand om att dirigera posten till rätt plats. Och precis som du kan ange ganska mycket postadress i ett verktyg som Google map och få exakt motsvarande plats, kan du fråga om ett verktyg som ipstack API med en IP-adress för att få dess plats.
Detta har dock vissa begränsningar. Till exempel får du inte den exakta platsen från IP-adressen. Vad du får är vad ISP som levererar IP-adressen kan ge. Detta är ofta inte mycket mer exakt än staden eller allmänna stadsdel, även om vissa leverantörer returnerar mer information än andra. Om användaren stämmer ett VPN för att få åtkomst till din webbplats, vad du får från en sådan uppslagning är platsen för VPN-servern de använder.
Huvudfunktioner i ipstack API
Utvecklarna av ipstack API valde att använda enmodulär metod med denna produkt. Den består av olika moduler, var och en returnerar en annan typ av information. Det finns till exempel moduler av tidszon, valuta eller till och med säkerhet. Du väljer vilken modul du vill använda med hjälp av lämpliga parametrar när du skickar förfrågan till ipstack API.
Det finns några fördelar med detta tillvägagångssätt. För det första gör det svaret lättare att hantera. Om det bara fanns en typ av förfrågan som returnerar alla tillgängliga data om en IP-adress, måste webbplatsens kod kalkulera hela svaret för att hämta all information den behöver. Att skicka mindre förfrågningar - med mindre svar - kan också förbättra prestandan.
Låt oss titta djupare på var och en av de tillgängligamodul, hur man ringer dem och hur deras typiska svar ser ut. Det ger dig en ganska klar överblick över vad du kan förvänta dig av detta kraftfulla verktyg.
Platsmodulen

Ipstack API: s mest grundläggande modul ärPlatsmodul. Det returnerar information om den fysiska platsen för den IP-adress som anges i frågan. Du får IP-adressens land, dess huvudsakliga eller officiella språk samt en emoji för landets flagga som du kan använda för att anpassa din användares upplevelse.
Här är ett typiskt svar på en fråga till ipstack API. Den första delen ingår i alla frågor, oavsett vilken modul som begärs:
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
De flesta av de returnerade attributen är självförklarande men du har detaljerad dokumentation på ipstacks webbplats om du behöver ytterligare hjälp.
Men eftersom vi talar om platsmodulen, låt oss titta på vilken extra information som returneras när vi använder den:
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
Som du ser är den extra information du fårfrämst landets huvudstad, de olika språken som används på den platsen, en länk till en bild av landets flagga och unicoden för landets emoji.
Valutamodulen

Valutamodulen kan användas för att fortsättaförbättra din webbplats användarupplevelse. Detta gäller särskilt en shoppingwebbplats eftersom det gör att du kan visa priser i din användares valuta. Informationen inkluderar namnet och symbolen för lokal valuta samt dess namn på plural. API konverterar naturligtvis inte priser till rätt valuta, men det låter dig använda ett annat API för att konvertera dina priser till rätt valuta för dina besökare. Låt oss titta på hur utdata från valutamodulen ser ut:
currency: Object{} code: "CAD" name: "Canadian Dollar" plural: "Canadian dollars" symbol: "CA$" symbol_native: "$"
Säkerhetsmodulen

Förmodligen inte lika populär - eller användbar - som föregåendemoduler är säkerhetsmodulen fortfarande intressant. Det ger information om flera säkerhetsaspekter av den inkommande anslutningen. Till exempel kommer det att berätta om webbplatsen nås via en proxy och, i så fall, typen av proxy eller om begäran kom in via tor-nätverket. Det kan också säga att en begäran kommer från en sökrobot snarare än en faktisk användare. Denna typ av information kan användas för att förhindra skrapning. Modulen returnerar också hotnivån förknippad med den angivna IP-adressen, vilket möjliggör grovt skydd mot skadliga begäranden. Här är en titt på det typiska svaret från säkerhetsmodulen:
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
Tidszonmodulen

En annan modul som kan vara praktiskt attAnpassa dina besökares användarupplevelse är Time Zone-modulen. Det ger några extra detaljer om - du gissade det - dina webbplatsbesökare. En av platserna där du kan använda en sådan funktion på webbplatser som hanterar tidskänslig information. Det låter dig visa rätt tid baserat på användarnas plats.
Modulen tillhandahåller information som GMT-offset, aktuell användartid, tidskod och tidszonplats som du kan se från detta exempelsvar:
time_zone: Object{} id: "America/Montreal" current_time: "2019-07-09T12:39:22-04:00" gmt_offset: -14400 code: "EDT" is_daylight_saving: true
Anslutningsmodulen

Sist men inte minst är anslutningsmodulen. Den här är ganska enkel. Allt det returnerar är det autonoma systemnummeret (AS) som är kopplat till källens IP-adress samt ISP-namnet. Det är faktiskt namnet på AS-ägaren snarare ISP. Vissa organisationer registrerar sitt eget autonoma system, som är fallet i exemplet nedan:
connection: Object{} asn: 395399 isp: "City of Montreal"
Detta är förmodligen det minst användbara av alla moduler men vissa kommer att finna det användbart för olika analysändamål.
Arbeta med ipstack API
Vi har tittat på vilken information som kan varareturneras av ipstack API, nu är det dags att titta på hur det heter. Ipstack API erbjuder tre olika typer av frågor med var och en med olika parametrar. Det finns Standard Lookup, Bulk Lookup och Request Lookup. Låt oss se hur de skiljer sig åt. Detta är en trevlig funktion eftersom till exempel massförfrågan gör att man kan kombinera flera förfrågningar till en, vilket därmed minskar den totala omkostnaden och ger snabbare resultat. Låt oss titta djupare på varje typ av begäran.
Standarduppslag
Som du kanske gissat är Standard Lookupden mest grundläggande. Det returnerar detaljerna om en enda IP-adress som du anger när du ringer ipstack-API: t. Det är ganska enkelt att använda och det fungerar med antingen IPv4- eller IPv6-adresser. För att göra saken ännu enklare tillhandahåller produktens dokumentation provkod för standardbegäran i både PHP (cURL) och JavaScript (Jquery.ajax). Om din webbplats byggs med någon av dessa, är API: n verkligen en no-brainer. Här är ett exempel på ett typiskt samtal till API med enkel HTML-kod:
https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY
I det här exemplet YOUR_ACCESS_KEY skulle ersättas av den faktiska åtkomstnyckeln dufick när du registrerade dig för tjänsten. Du kan också inkludera den faktiska IP-adressen du vill ha information om snarare än den dummy i detta exempel.
Resultaten för en standarduppslag inkluderar allamoduler som standard men extra parametrar låter dig ställa in förfrågan till dina exakta behov. Alla detaljer om tillgängliga parametrar förklaras tydligt i produktdokumentationen. På samma sätt är standardsvaret ett JSON-objekt men parametrar kan ändra det till ett XML-format.
Bulk- och förfrågningsuppslag
Med massuppslag kan du begära data motflera IP-adresser inom en enda begäran. Precis som standarduppslaget kan du få data på både IPv4- och IPv6-adresser. Du kan till och med blanda båda typerna av adresser i en enda begäran. Formatet för begäran är detsamma som för standarduppslag, förutom att du anger flera IP-adresser separerade med kommatecken.
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
Den sista typen av begäran som erbjuds av ipstackenAPI är Requester Lookup. Det kommer att returnera information om IP-adressen från vilken begäran kommer. Det är den typ av förfrågan du skulle få från ett klient-skript. För att ringa ett förfrågningsuppkopplingssamtal, behöver du bara använda nyckelordet "check" i stället för en IP-adress. De andra tillgängliga förfrågningsparametrarna är desamma som för andra förfrågningstyper.
https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY
Hur fungerar ipstack API?
Ipstack-API: et är mer än troligt någotdu kommer att integreras i en realtidssida. Till exempel kanske du vill servera olika innehåll baserat på klientens plats. För att åstadkomma det behöver du API: n för att prestera brinnande snabbt. Varje försening i API-svaret kommer att översätta till förseningar som visar sidan för din klient, något du mer än troligt vill undvika. Detsamma gäller oavsett vad du använder platsinformationen för. Det är därför svarstiden för det verktyg du använder är av största vikt. Medan en geolocation-API kan ge en välbehövlig funktionalitet, kan dess misslyckande att utföra en katastrofell inverkan.
Av dessa skäl måste du välja ett API medbra responstid. Vi har gjort mycket av det hårda arbetet med att testa olika scenarier och kört test med enstaka eller flera IP-adresser, några med fler valfria parametrar, andra med mindre. Vi var ganska nöjda med resultaten och fick en ganska konsekvent responstid på cirka 100 ms, oavsett förfrågan. Svaret var också konsekvent över tid utan några synliga "rusningstider" när prestanda skulle drabbas och det var också liknande oavsett var vi lanserade förfrågningarna från. Det verkar som om ipstack-servrarna är byggda för att hantera belastningen de får. Sammantaget verkar det som att använda ipstack-API: n knappt hade någon effekt på webbplatsens svar sett från en användares perspektiv.
Produktdokumentation och support
Det sägs ofta att en produkt bara är lika brasom sin dokumentation. Om det är sant har ipstack-API inget att frukta eftersom dokumentationen är lätt att hitta, använda och förstå. Kvaliteten på dokumentationen ger också ett mått på hur mycket en programförläggare bryr sig om sina användare. Här igen är det inget att oroa sig för.

En av de bästa sakerna med den här produktendokumentation är, konstigt nog, hur lite det finns. Allt passar på en enda, väl utformad webbsida där du enkelt hittar allt du behöver. Och för att göra saken ännu enklare, gör en menyfönster åtkomst till varje given sektion en bris. Dokumentationen täcker allt från att använda de olika typerna av förfrågningar till anpassning av svaret.
I det mycket osannolika fallet när du inte skulle göra dethitta vad du behöver i dokumentationen, support finns också tillgängligt. Det kan ta lite tid att börja nå teknisk support men när du gör det svarar de ganska snabbt.
Prissättning
Flera prissättningsplaner finns tillgängliga föripstack API. På den lägsta nivån, där gratisplanen. Som namnet antyder är den här gratis. Det är också något begränsat. Till att börja med kan du bara köra upp till 10 000 frågor per månad. Den innehåller också bara platsmodulen och tillgången till support är begränsad. Det kan dock vara ett bra sätt att testa produkten och se hur den kan integreras i din miljö.
Nästa nivå är grundplanen. Den här säljer för $ 9,99 / månad eller $ 95,90 / år (20% rabatt) och ger förfrågningsgränsen upp till 50 000 / månad. Det låter dig också använda valuta-, tidszon- och anslutningsmodulerna. Dessutom ingår förbättrad support också i planen samt förbättrad säkerhet genom användning av SSL-kryptering.
Den mest populära planen är den professionella planensom säljer för $ 49,99 / månad eller $ 479,90 / år. Det ger dig allt som ingår i den grundläggande planen men höjer den månatliga begäran gränsen till 500 000 och inkluderar också möjligheten att göra bulkförfrågningar.
Överst är den professionella plusplanen. Det kostar $ 99,99 / månad eller $ 959,90 / år. Det är identiskt med den professionella planen men det tillåter upp till 2 miljoner förfrågningar per månad och det är den enda planen som inkluderar säkerhetsmodulen.
Om det inte räcker, finns det också enanpassningsbar företagsplan som kan ordnas genom att kontakta ipstack. Det kan innehålla så många månatliga förfrågningar som du kan behöva samt olika anpassade lösningar baserade på en klients specifika behov.
Sammanfattningsvis
Ipstack API är en utmärkt produkt som kommer att göra detlåter dig ta så mycket av den information du kan få från en IP-adress snabbt och enkelt. Det har fantastisk responstid, utmärkt dokumentation och bra stöd som kombinerar för att göra detta till ett stort värde för pengarna. Det faktum att flera internetjättar använder det är förmodligen ett gott bevis på produktens värde.
Detta är definitivt en produkt jag skulle rekommendera omdu tittar på att utnyttja data som kan samlas in för din webbplats besökares IP-adress. Och eftersom det finns en gratis - om än begränsad - plan finns det ingen anledning till varför du inte åtminstone ska prova är att se själv vad det kan göra för dig.
kommentarer