Od skromnych początków sprzed ponad 25 latsieć WWW ewoluowała w sposób, którego nawet najlepsi analitycy nie byliby w stanie przewidzieć. Z tego, co było zasadniczo narzędziem pomagającym badaczom w dzieleniu się informacjami, przekształciło się w narzędzie konsumenckie, bez którego wielu z nas po prostu nie może żyć. Zmieniło wiele aspektów naszego życia i zaczęliśmy na nim polegać, być może bardziej niż powinniśmy. Stało się tak powszechne, że zmienia branżę detaliczną. Z dużych sieci sklepów stacjonarnych najlepsi sprzedawcy detaliczni to teraz rynki internetowe.
Aby odnieść sukces, detaliści online potrzebują nie tylkobyć obecnym w Internecie, ale muszą także w pełni korzystać z jego funkcji. Jedną z takich funkcji jest geolokalizacja. Ta technologia może umożliwić detalistowi poznanie lokalizacji osoby odwiedzającej jego witrynę, co jest przydatną funkcją umożliwiającą wyświetlanie szacunkowych kosztów wysyłki lub przedstawianie ofert związanych z lokalizacją. Jednym z najprostszych sposobów skorzystania z geolokalizacji jest użycie dedykowanego interfejsu API, który może być zasilany adresem IP i który zwróci wszelkie istotne informacje o tym adresie. The ipstack API to jeden z takich produktów, który wkrótce odkryjemyjak robi swoją magię i co może dla ciebie zrobić. Przyjrzymy się podstawowej funkcjonalności narzędzia, a także sposobowi jego użycia. Zobaczymy, jak działa, jaki rodzaj dokumentacji i wsparcia jest dostępny dla produktu, i przyjrzymy się jego dość prostej strukturze cenowej.

Przedstawiamy ipstack
U podstaw ipstack jest interfejs API geolokalizacji, którykorzysta z wielu połączonych dostawców usług internetowych w celu zapewnienia dokładnych danych geograficznych. Wywołujesz interfejs API z kodu Twojej witryny, a on zwróci mnóstwo danych geograficznych o użytkownikach Twojej witryny. Otrzymasz oczywiście lokalizację geograficzną użytkownika (czy to nie główny punkt?), Ale to nie wszystko. Na przykład narzędzie zwróci link do obrazu flagi kraju użytkownika lub jego wersji emoji. Ponadto otrzymasz informacje o tym, czy użytkownik uzyskuje dostęp do Twojej witryny za pośrednictwem serwera proxy. Zagłębimy się w to szczegółowo, gdy przyjrzymy się dokładniejszym szczegółom dostępnych modułów.
Projekt początkowo nazywany freegeoip.net, widział światło w 2009 roku jako inicjatywa open source, aby pomóc programistom. Poprzez ciągłe doskonalenie oparte na opiniach użytkowników, ewoluowało około ośmiu lat później w pełnoprawny produkt, na który patrzymy. W tym czasie baza użytkowników produktu wzrosła do ponad stu tysięcy zadowolonych klientów. I nie są to tylko klienci. Giganci tacy jak Microsoft czy Samsung używają API. Podobnie jak Airbnb i HubSpot.
Interfejs API ipstack wykorzystuje wysoce dynamiczny schematktóry aktualizuje bazę danych wiele razy dziennie, zapewniając integralność zwracanych wyników. W tym celu ipstack nawiązał współpracę z kilkoma dużymi dostawcami usług internetowych na całym świecie. Narzędzie wykonuje całą komunikację za pośrednictwem 256-bitowego kanału szyfrowanego SSL - przy użyciu HTTPS - w celu zabezpieczenia wszystkich transferów danych. Wyniki mogą być zwracane przez API w formacie XML lub JSON, w zależności od konkretnych potrzeb.
Jedną z najlepszych części interfejsu API ipstack jest jegomodułowość. Różne dostępne moduły zwracają coraz więcej danych o lokalizacji użytkownika. To tworzy bardzo elastyczne narzędzie. Szybkość jest także jedną z mocnych stron tego produktu. Wywołujesz API z odpowiednimi parametrami i uzyskujesz żądane wyniki bardzo szybko. Obecnie interfejs API ipstack obsługuje ponad dwa miliardy żądań dziennie i wciąż odpowiada niemal natychmiast. Dzięki współpracy z różnymi dostawcami usług internetowych produkt może obejmować około 2 milionów lokalizacji i ponad dwieście tysięcy miast na całym świecie. Obsługuje także adresy IPv4 i IPv6.
Jak działa geolokalizacja
Zanim przejdziemy dalej, zatrzymajmy się na chwilę irzuć okiem na wygląd geolokalizacji. Jak można się domyślić na podstawie nazwy ipstack, ma ona związek z adresami IP. Adresy IP można porównać - do pewnego stopnia - z adresami pocztowymi. Każde urządzenie podłączone do Internetu ma unikalny adres IP. Ale te adresy IP nie są losowo przypisywane do każdego urządzenia. Jest w tym pewien sens. Część adresu IP identyfikuje pojedyncze podłączone urządzenie, a część identyfikuje sieć, do której jest podłączone. A sama część sieci jest zorganizowana hierarchicznie, podobnie jak drzewo katalogów dysku komputera. (Mam nadzieję, że inżynierowie spośród naszych czytelników wybaczą mi to uproszczenie).
Jest to podobne do adresu pocztowego z ulicąnumer, nazwa ulicy, miasto, a ostatecznie kraj. I podobnie jak poczta brytyjska nie ma pojęcia, gdzie znajduje się żaden adres w USA, wyśle pocztę kierowaną do USA do USPS, która zajmie się kierowaniem poczty do właściwej lokalizacji. I tak jak możesz wpisać prawie dowolny adres pocztowy w narzędziu takim jak mapa Google i uzyskać dokładną odpowiednią lokalizację, możesz zapytać narzędzie takie jak API ipstack z adresem IP, aby uzyskać jego lokalizację.
Ma to jednak pewne ograniczenia. Na przykład nie otrzymasz dokładnej lokalizacji z adresu IP. Otrzymasz wszystko od dostawcy ISP podającego adres IP. Często nie jest to dużo bardziej precyzyjne niż miasto lub ogólna okolica, chociaż niektórzy dostawcy zwracają więcej informacji niż inni. Ponadto, jeśli użytkownik pozywa VPN w celu uzyskania dostępu do Twojej witryny, możesz uzyskać lokalizację takiego serwera VPN, z którego korzysta.
Główne cechy interfejsu API ipstack
Twórcy interfejsu API ipstack postanowili użyćpodejście modułowe z tym produktem. Składa się z różnych modułów, z których każdy zwraca inny rodzaj informacji. Istnieją na przykład moduły strefy czasowej, waluty, a nawet bezpieczeństwa. Wybierz moduł, którego chcesz użyć, używając odpowiednich parametrów podczas wysyłania żądania do interfejsu API ipstack.
Podejście to ma kilka zalet. Po pierwsze, ułatwia reakcję. Jeśli istnieje tylko jeden typ żądania zwracającego wszystkie dostępne dane o adresie IP, kod witryny musiałby przeanalizować całą odpowiedź, aby pobrać potrzebne informacje. Ponadto wysyłanie mniejszych żądań - z mniejszymi odpowiedziami - może poprawić wydajność.
Przyjrzyjmy się bliżej każdemu dostępnemumoduł, jak do nich zadzwonić i jak wygląda ich typowa odpowiedź. To daje dość jasny przegląd tego, czego można oczekiwać od tego potężnego narzędzia.
Moduł lokalizacji

Najbardziej podstawowym modułem interfejsu API ipstack jestModuł lokalizacji. Zwraca szczegóły dotyczące fizycznej lokalizacji adresu IP podanego w zapytaniu. Otrzymasz kraj adresu IP, jego główny lub oficjalny język, a także emoji dla flagi kraju, którego możesz użyć do spersonalizowania doświadczenia użytkownika.
Oto typowa odpowiedź na zapytanie do interfejsu API ipstack. Pierwsza część jest dołączona do dowolnego zapytania, niezależnie od żądanego modułu:
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
Większość zwracanych atrybutów nie wymaga wyjaśnień, ale masz szczegółową dokumentację na stronie ipstack, jeśli potrzebujesz dalszej pomocy.
Ale ponieważ mówimy o module lokalizacji, przyjrzyjmy się, jakie dodatkowe informacje są zwracane podczas korzystania z niego:
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
Jak widać, dodatkowe informacje, które otrzymujesz, togłównie stolica kraju, różne języki używane w tej lokalizacji, link do obrazu flagi kraju i Unicode emoji kraju.
Moduł walutowy

Moduł Walutowy może być wykorzystany do dalszego rozwojupoprawić komfort użytkowania witryny. Jest to szczególnie prawdziwe w przypadku witryn zakupowych, ponieważ pozwoli Ci wyświetlać ceny w walucie użytkownika. Podane szczegóły obejmują nazwę i symbol lokalnej waluty oraz jej liczbę mnogą. Interfejs API oczywiście nie przelicza cen na odpowiednią walutę, ale pozwoli ci użyć innego interfejsu API do przeliczenia cen na odpowiednią walutę dla odwiedzających. Zobaczmy, jak wygląda wyjście z modułu walutowego:
currency: Object{} code: "CAD" name: "Canadian Dollar" plural: "Canadian dollars" symbol: "CA$" symbol_native: "$"
Moduł bezpieczeństwa

Prawdopodobnie nie tak popularne - ani przydatne - jak poprzedniemoduły, moduł bezpieczeństwa jest nadal interesujący. Zwraca informacje o kilku aspektach bezpieczeństwa połączenia przychodzącego. Na przykład powie ci, czy dostęp do witryny odbywa się za pośrednictwem serwera proxy, a jeśli tak, to rodzaj serwera proxy lub czy żądanie wpłynęło przez sieć Tor. Może również powiedzieć, że żądanie pochodzi od przeszukiwacza niż od faktycznego użytkownika. Tego rodzaju informacje mogą być wykorzystane do zapobiegania skrobaniu. Moduł zwraca również poziom zagrożenia związany z podanym adresem IP, potencjalnie umożliwiając surową ochronę przed złośliwymi żądaniami. Oto typowa odpowiedź z modułu bezpieczeństwa:
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
Moduł strefy czasowej

Kolejny moduł, który może się przydaćspersonalizuj sposób korzystania z witryny przez użytkowników jest modułem strefy czasowej. Zwraca kilka dodatkowych szczegółów na temat - zgadłeś - odwiedzających witrynę. Jedno z miejsc, w których można użyć takiej funkcji w witrynach zajmujących się informacjami ważnymi w czasie. Pozwala wyświetlić prawidłowy czas na podstawie lokalizacji użytkowników.
Moduł zapewnia takie informacje, jak przesunięcie GMT, aktualny czas użytkownika, kod czasowy i lokalizacja strefy czasowej, jak widać z przykładowej odpowiedzi:
time_zone: Object{} id: "America/Montreal" current_time: "2019-07-09T12:39:22-04:00" gmt_offset: -14400 code: "EDT" is_daylight_saving: true
Moduł połączeń

Ostatni, ale nie mniej ważny, to moduł połączeń. Ten jest raczej uproszczony. Zwraca tylko numer systemu autonomicznego (AS) powiązany ze źródłowym adresem IP oraz nazwą dostawcy usług internetowych. Właściwie to nazwa właściciela AS, a raczej dostawcy usług internetowych. Niektóre organizacje rejestrują własny system autonomiczny, jak ma to miejsce w poniższym przykładzie:
connection: Object{} asn: 395399 isp: "City of Montreal"
Jest to prawdopodobnie najmniej przydatny ze wszystkich modułów, ale niektórzy uznają go za przydatny do różnych celów analitycznych.
Praca z interfejsem API ipstack
Przyjrzeliśmy się, jakie mogą być informacjezwrócone przez interfejs ipstack API, teraz jest czas, aby sprawdzić, jak się nazywa. Interfejs API ipstack oferuje trzy różne typy zapytań o różnych parametrach. Dostępne jest wyszukiwanie standardowe, wyszukiwanie zbiorcze i wyszukiwanie żądań. Zobaczmy, jak się różnią. Jest to miła funkcja, ponieważ na przykład żądanie zbiorcze pozwala połączyć kilka żądań w jedno, zmniejszając w ten sposób całkowity narzut i pozwalając na szybsze wyniki. Przyjrzyjmy się dokładniej każdemu typowi żądania.
Wyszukiwanie standardowe
Jak można się domyślić, wyszukiwanie standardowe tonajbardziej podstawowy. Zwraca szczegóły dotyczące pojedynczego adresu IP, który podajesz podczas wywoływania interfejsu API ipstack. Jest dość prosty w obsłudze i będzie działał z adresami IPv4 lub IPv6. Aby jeszcze bardziej ułatwić sprawę, dokumentacja produktu zawiera przykładowy kod standardowego żądania w PHP (cURL) i JavaScript (Jquery.ajax). Jeśli twoja witryna jest budowana przy użyciu któregokolwiek z nich, użycie interfejsu API jest naprawdę łatwe. Oto przykład typowego wywołania interfejsu API za pomocą prostego kodu HTML:
https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY
W tym przykładzie YOUR_ACCESS_KEY zostałby zastąpiony przez rzeczywisty klucz dostępuotrzymane po zarejestrowaniu się w usłudze. W tym przykładzie należy również podać rzeczywisty adres IP, o którym chcesz uzyskać informacje, zamiast adresu zastępczego.
Wyniki standardowego wyszukiwania obejmują wszystkiemoduły domyślnie, ale dodatkowe parametry pozwalają dostroić żądanie dokładnie do twoich potrzeb. Wszystkie szczegóły dotyczące dostępnych parametrów są jasno wyjaśnione w dokumentacji produktu. Podobnie domyślną odpowiedzią jest obiekt JSON, ale parametry mogą go zmienić na format XML.
Wyszukiwanie zbiorcze i żądające
Wyszukiwanie zbiorcze umożliwia żądanie danychwiele adresów IP w ramach jednego żądania. Podobnie jak wyszukiwanie standardowe, możesz uzyskać dane zarówno na adresy IPv4, jak i IPv6. Możesz nawet mieszać oba typy adresów w jednym żądaniu. Format żądania jest taki sam, jak w przypadku standardowego wyszukiwania, z tym wyjątkiem, że podajesz wiele adresów IP oddzielonych przecinkami.
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
Ostatni rodzaj żądania oferowany przez ipstackAPI to wyszukiwanie żądań. Zwróci informacje o adresie IP, z którego nadchodzi żądanie. Jest to rodzaj żądania, które można uruchomić za pomocą skryptu po stronie klienta. Aby nawiązać połączenie z żądaniem, wystarczy użyć słowa kluczowego „sprawdź” zamiast adresu IP. Pozostałe dostępne parametry żądania są takie same jak w przypadku innych typów żądań.
https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY
Jak działa interfejs API ipstack?
Interfejs API ipstack jest bardziej niż prawdopodobnezintegrowałbyś się ze stroną internetową w czasie rzeczywistym. Na przykład możesz chcieć wyświetlać różne treści w zależności od lokalizacji klienta. Aby to osiągnąć, potrzebujesz interfejsu API, aby działać niesamowicie szybko. Wszelkie opóźnienia w odpowiedzi interfejsu API przełożą się na opóźnienia w wyświetlaniu strony Twojemu klientowi, czego bardziej niż prawdopodobnie chciałbyś uniknąć. To samo jest prawdą bez względu na to, do czego używasz danych lokalizacji. Dlatego czas reakcji używanego narzędzia ma ogromne znaczenie. Chociaż interfejs API geolokalizacji może zapewnić bardzo potrzebną funkcjonalność, jego niewykonanie może mieć katastrofalny wpływ.
Z tych powodów musisz wybrać interfejs API za pomocądobry czas reakcji. Wykonaliśmy wiele ciężkiej pracy, testując różne scenariusze i przeprowadziliśmy testy z jednym lub wieloma adresami IP, niektóre z bardziej opcjonalnymi parametrami, niektóre z mniejszymi. Byliśmy bardzo zadowoleni z wyników i otrzymaliśmy dość spójny czas odpowiedzi około 100 ms, niezależnie od żądania. Odpowiedź była również spójna w czasie, bez widocznych „godzin szczytu”, w których wydajność spadłaby, i była podobna bez względu na to, skąd wysłaliśmy żądania. Wygląda na to, że serwery ipstack są zbudowane do obsługi obciążeń, jakie otrzymują. Ogólnie rzecz biorąc, wydaje się, że użycie interfejsu API ipstack nie miało prawie żadnego wpływu na odpowiedź witryny widzianą z perspektywy użytkownika.
Dokumentacja i wsparcie produktu
Często mówi się, że produkt jest tak samo dobryjako dokumentacja. Jeśli to prawda, interfejs API ipstack nie ma się czego obawiać, ponieważ jego dokumentacja jest łatwa do znalezienia, użycia i zrozumienia. Jakość dokumentacji określa również, jak bardzo wydawca oprogramowania dba o swoich użytkowników. Tutaj znowu nie ma się czym martwić.

Jedna z najlepszych rzeczy w tym produkcieCo dziwne, dokumentacja jest niewielka. Wszystko mieści się na jednej, dobrze zorganizowanej stronie internetowej, na której łatwo znajdziesz wszystko, czego potrzebujesz. Aby jeszcze bardziej ułatwić, panel menu ułatwia dostęp do dowolnej sekcji. Dokumentacja obejmuje wszystko, od korzystania z różnych typów żądań po dostosowywanie odpowiedzi.
W bardzo mało prawdopodobnym przypadku, gdy nieznajdź to, czego potrzebujesz w dokumentacji, dostępne jest również wsparcie. Dotarcie do pomocy technicznej może trochę potrwać, ale kiedy to zrobisz, reagują dość szybko.
cennik
Dostępnych jest kilka planów cenowych dlaipstack API. Na najniższym poziomie jest bezpłatny plan. Jak sama nazwa wskazuje, ten jest bezpłatny. Jest również nieco ograniczony. Na początek możesz uruchomić do 10 000 zapytań miesięcznie. Obejmuje również tylko moduł lokalizacji, a dostęp do pomocy technicznej jest ograniczony. Może to być jednak świetny sposób na przetestowanie produktu i sprawdzenie, jak można go zintegrować ze środowiskiem.
Następny poziom to plan podstawowy. Ten sprzedaje za 9,99 USD / miesiąc lub 95,90 USD / rok (20% zniżki) i podnosi limit żądań do 50 000 / miesiąc. Umożliwia także korzystanie z modułów Waluta, Strefa czasowa i Połączenia. Ponadto w skład planu wchodzi również ulepszone wsparcie, a także zwiększone bezpieczeństwo dzięki zastosowaniu szyfrowania SSL.
Najpopularniejszym planem jest plan profesjonalnyktóra kosztuje 49,99 USD / miesiąc lub 479,90 USD / rok. Daje ci wszystko, co jest uwzględnione w abonamencie podstawowym, ale podnosi limit miesięcznych żądań do 500 000, a także możliwość wykonywania zgłoszeń zbiorczych.
Na górze jest plan plus. Kosztuje 99,99 USD / miesiąc lub 959,90 USD / rok. Jest identyczny z planem profesjonalnym, ale dopuszcza do 2 milionów żądań miesięcznie i jest jedynym planem zawierającym moduł bezpieczeństwa.
Jeśli to nie wystarczy, jest teżkonfigurowalny plan przedsiębiorstwa, który można ustawić, kontaktując się z ipstack. Może zawierać tyle miesięcznych żądań, ile może być potrzebnych, a także różne niestandardowe rozwiązania oparte na konkretnych potrzebach klienta.
Podsumowując
Interfejs API ipstack to doskonały produktpozwalają szybko i łatwo pobrać jak najwięcej danych z adresu IP. Ma niesamowity czas reakcji, doskonałą dokumentację i dobre wsparcie, które sprawiają, że jest to świetny stosunek jakości do ceny. Również fakt, że korzysta z niego kilku gigantów internetowych, jest prawdopodobnie dobrym świadectwem wartości produktu.
To zdecydowanie produkt, który poleciłbym, jeślichcesz wykorzystać dane, które mogą zostać zebrane dla adresu IP użytkownika witryny. A ponieważ dostępny jest bezpłatny - choć ograniczony - plan, nie ma powodu, dla którego nie powinieneś go wypróbować, przekonaj się, co może dla Ciebie zrobić.
Komentarze