- - Безкоштовне геолокація відвідувачів веб-сайту за допомогою API ipstack (огляд)

Безкоштовне геолокація відвідувачів веб-сайту за допомогою API ipstack (огляд)

З часу свого скромного початку понад 25 років тому,всесвітня павутина розвивалася таким чином, який навіть найкращі аналітики ніколи не могли передбачити. Створюючи те, що було по суті інструментом для допомоги дослідникам в обміні інформацією, воно перетворилося на споживчий інструмент, без якого багато з нас просто не можуть жити. Це змінило багато аспектів нашого життя, і ми почали покладатися на нього, можливо, більше, ніж нам слід. Це стало настільки звичним явищем, що воно змінює галузь роздрібної торгівлі. З великих мереж цегельно-будівельних магазинів, найпопулярніші роздрібні торговці зараз є веб-базарами.

Щоб досягти успіху, інтернет-роздрібним торговцям потрібно не тількищоб бути присутнім в Інтернеті, але вони також повинні повністю використовувати його функції. Однією з таких особливостей є геолокація. Ця технологія може дозволити роздрібному продавцю знати місце розташування відвідувача свого веб-сайту, що є корисною функцією, щоб вони могли відображати передбачувані витрати на доставку або представляти конкретні пропозиції. Один з найпростіших способів отримати перевагу від геолокації - це використання спеціалізованого API, який може подаватися з IP-адресою, який повертає будь-яку відповідну інформацію про цю адресу. The ipstack API є одним із таких продуктів, і ми збираємось відкритияк вона робить свою магію і що може зробити для вас. Ми ознайомимось з основними функціональними можливостями інструменту, а також способом його використання. Ми побачимо, як він працює, який тип документації та підтримки доступний для продукту та ознайомимось з його досить простою структурою ціноутворення.

Представляємо ipstack

За своєю суттю ipstack - це геолокаційний API, якийвикористовує безліч взаємопов’язаних Інтернет-провайдерів для надання точних географічних даних. Ви телефонуєте API з коду свого веб-сайту, і він поверне безліч географічних даних про користувачів вашого веб-сайту. Ви, звичайно, отримаєте географічне розташування користувача (чи це не головне?), Але це ще не все. Наприклад, інструмент поверне посилання на зображення прапора країни або прапорці емоджи. Крім того, ви отримаєте інформацію про доступ користувача до вашого веб-сайту через проксі. Ми детально розберемося про все це, як детальніше розглянемо доступні модулі.

Проект, спочатку називався freegeoip.net, побачив світ ще в 2009 році як ініціатива з відкритим кодом для допомоги розробникам. Завдяки постійному вдосконаленню, заснованому на відгуках користувачів, він через вісім років перетворився на повноцінний продукт, який ми розглядаємо. За цей час база користувачів продукту зросла до ста тисяч задоволених клієнтів. І вони не просто клієнти. Гіганти, такі як Microsoft або Samsung, використовують API. Так само Airbnb і HubSpot.

API ipstack використовує дуже динамічну схемуяка оновлює свою базу даних кілька разів на день, забезпечуючи цілісність повернених результатів. Для цього ipstack співпрацює з кількома великими провайдерами по всьому світу. Інструмент здійснює всю комунікацію по 256-бітному каналу, зашифрованому SSL - за допомогою HTTPS - для захисту всіх передач даних. Результати можуть бути повернуті API у форматі XML або JSON, залежно від ваших конкретних потреб.

Однією з найкращих частин API ipstack є йогомодульність. Різні доступні модулі повертають все більше даних про місцезнаходження користувача. Це робить дуже гнучким інструментом. Швидкість також є одним із форте продуктів. Ви зателефонуєте в API з відповідними параметрами і отримаєте запитувані результати дуже швидко. Наразі API ipstack обробляє більше двох мільярдів запитів щодня, і він все ще відповідає майже миттєво. Завдяки партнерству з різними Інтернет-провайдерами продукт може охопити близько 2 мільйонів місць та понад двісті тисяч міст у всьому світі. Він також підтримує адреси IPv4 та IPv6.

Як працює геолокація

Перш ніж піти далі, давайте коротко зробимо паузу ташвидко ознайомтеся з тим, як виглядає геолокація. Як ви здогадалися з імені ipstack, це стосується IP-адрес. IP-адреси можна порівняти - певною мірою - з поштовими адресами. Кожен пристрій, підключений до Інтернету, має унікальну IP-адресу. Але ці IP-адреси не просто випадковим чином призначаються кожному пристрою. У цьому є певний сенс. Частина IP-адреси ідентифікує окремий підключений пристрій, а частина ідентифікує мережу, до якої він підключений. А сама мережева частина є ієрархічно організованою, дещо схожою на дерево директорій комп'ютерних дисків. (Я сподіваюся, що інженери серед наших читачів пробачать мене за це надмірне спрощення.)

Це схоже на поштову адресу з вулицеюномер, назва вулиці, місто та, зрештою, країна. І так само, як Британська пошта не має уявлення, де розташована будь-яка адреса США, вона відправить пошту, пов'язану з США, USPS, яка подбає про направлення пошти в потрібне місце. І так само, як ви могли ввести майже будь-яку поштову адресу в такий інструмент, як карта Google і отримати точне відповідне місце розташування, ви можете запитати такий інструмент, як API ipstack з IP-адресою, щоб отримати його місцезнаходження.

Однак це має деякі обмеження. Наприклад, ви не отримаєте точне місцезнаходження з IP-адреси. Ви отримаєте все, що може надати провайдер, що надає IP-адресу. Це часто не набагато точніше, ніж місто чи загальний мікрорайон, хоча деякі постачальники повертають більше інформації, ніж інші. Крім того, якщо користувач подає позов до VPN, щоб отримати доступ до вашого веб-сайту, ви отримаєте від такого пошуку місце розташування сервера VPN, який він використовує.

Основні особливості API ipstack

Розробники API ipstack вирішили використовуватимодульний підхід до цього продукту. Він складається з різних модулів, кожен з яких повертає різний тип інформації. Наприклад, є модулі часового поясу, валюти або навіть безпеки. Ви вибираєте, який модуль використовувати, використовуючи відповідні параметри при надсиланні запиту в API ipstack.

У цього підходу є кілька переваг. По-перше, це полегшує обробку відповіді. Якщо був лише один тип запиту, який повертав усі доступні дані про IP-адресу, код вашого веб-сайту повинен був би проаналізувати всю відповідь, щоб отримати будь-яку інформацію, яка йому потрібна. Крім того, надсилання менших запитів (з меншими відповідями) може підвищити продуктивність.

Давайте детальніше розглянемо кожен із доступнихмодуль, як викликати їх і як виглядає їх типова відповідь. Це дасть вам досить чіткий огляд того, чого можна очікувати від цього потужного інструменту.

Модуль розташування

ipstack API - Модуль локації

Основний модуль API ipstack - цеМодуль розташування Він повертає інформацію про фізичне розташування IP-адреси, наданої у запиті. Ви отримаєте країну IP-адреси, її основну чи офіційну мову, а також смайлик для прапора країни, який можна використовувати для персоналізації досвіду користувача.

Ось типова відповідь на запит до API ipstack. Перша частина входить до будь-якого запиту, незалежно від запитуваного модуля:

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

Більшість повернених атрибутів не пояснюються, але ви маєте детальну документацію на веб-сайті ipstack, якщо вам потрібна додаткова допомога.

Але оскільки ми говоримо про модуль локації, давайте подивимося, яка додаткова інформація повертається під час її використання:

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

Як бачите, ви отримуєте додаткову інформаціюголовним чином столиця країни, різні мови, які використовуються в цьому місці, посилання на зображення прапора країни та унікод емоцій країни.

Валютний модуль

API ipstack - валютний модуль

Модуль Валюта може використовуватися для подальшого використанняпокращити роботу користувачів на веб-сайті. Особливо це стосується торгового сайту, оскільки він дозволить відображати ціни у валюті користувача. Надані реквізити включають назву та символ місцевої валюти, а також назву множини. API, звичайно, не буде конвертувати ціни у відповідну валюту, але це дозволить використовувати інший API для конвертації цін у потрібну валюту для відвідувачів. Давайте подивимось, як виглядає вихід з валютного модуля:

currency: Object{}
code: "CAD"
name: "Canadian Dollar"
plural: "Canadian dollars"
symbol: "CA$"
symbol_native: "$"

Модуль безпеки

ipstack API - модуль безпеки

Напевно, не настільки популярний чи корисний, як попередніймодулі, модуль безпеки все ще цікавий. Він повертає інформацію про декілька аспектів безпеки вхідного з'єднання. Наприклад, він розповість, чи доступ до сайту здійснюється через проксі-сервер, а якщо так, то тип проксі-сервера чи запит надходить через мережу tor. Це також може сказати вам, що запит надходить від сканера, а не від реального користувача. Цей тип інформації може бути використаний для запобігання вискоблюванню. Модуль також повертає рівень загрози, пов’язаної з наданою IP-адресою, що потенційно дозволяє захищати від шкідливих запитів. Ось перегляд типової відповіді з модуля безпеки:

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

Модуль часової зони

API ipstack - Модуль часової зони

Ще один модуль, який може стати в нагодіперсоналізувати досвід відвідувачів вашого веб-сайту - це модуль часової зони. Він повертає деякі додаткові відомості про - ви здогадалися - відвідувачах вашого веб-сайту. Одне з місць, де можна було використовувати таку функцію на веб-сайтах, що займаються інформацією, що залежить від часу. Це дозволяє відображати правильний час залежно від місцезнаходження ваших користувачів.

Модуль надає таку інформацію, як зміщення GMT, поточний час користувача, часовий код та розташування часового поясу, як видно з цього зразка відповіді:

time_zone: Object{}
id: "America/Montreal"
current_time: "2019-07-09T12:39:22-04:00"
gmt_offset: -14400
code: "EDT"
is_daylight_saving: true

Модуль підключення

ipstack API - модуль підключення

Останнє, але не менш важливе значення - це модуль підключення. Цей досить спрощений. Все, що він повертає, - це номер автономної системи (AS), пов'язаний з IP-адресою джерела, а також ім'ям провайдера. Ну, це власне ім'я власника AS, а не провайдера. Деякі організації реєструють власну автономну систему, як це відбувається у наведеному нижче прикладі:

connection: Object{}
asn: 395399
isp: "City of Montreal"

Це, мабуть, найменш корисний з усіх модулів, але деякі вважають його корисним для різних аналітичних цілей.

Робота з API ipstack

Ми розглядали, якою може бути інформаціяповернуте API ipstack, тепер саме час ознайомитися з тим, як його називають. API ipstack пропонує три різні типи запитів, кожен з яких має різні параметри. Існує стандартний пошук, груповий пошук та пошук запитувача. Подивимося, чим вони відрізняються. Це приємна особливість, оскільки, наприклад, масовий запит дозволяє об'єднати кілька запитів в один, тим самим зменшивши загальний накладний обсяг і забезпечивши швидші результати. Давайте детальніше розглянемо кожен тип запиту.

Стандартний пошук

Як ви могли здогадатися, стандартний пошук єнайосновніший. Він повертає деталі про одну IP-адресу, яку ви надаєте під час виклику API ipstack. Він досить простий у використанні, і він буде працювати з IPv4 або IPv6 адресами. Щоб зробити це ще простішим, документація продукту надає зразок коду для стандартного запиту як PHP (cURL), так і JavaScript (Jquery.ajax). Якщо ваш веб-сайт створений за допомогою будь-якого з них, використання API насправді не вимагає. Ось зразок типового дзвінка в API за допомогою простого HTML-коду:

https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY

У цьому прикладі YOUR_ACCESS_KEY буде замінено фактичним вами ключем доступуотримав, коли ви підписалися на послугу. У цей приклад ви також включите фактичну IP-адресу, про яку ви хочете отримати інформацію, а не манекен.

Результати для стандартного пошуку включають усімодулі за замовчуванням, але додаткові параметри дозволяють налаштувати запит на ваші точні потреби. Всі деталі про доступні параметри чітко пояснені в документації на виріб. Так само відповідь за замовчуванням є об'єктом JSON, але параметри можуть змінити його у формат XML.

Масові і запитні запити

Масовий пошук дозволяє запитувати дані протикілька IP-адрес у межах одного запиту. Як і у стандартному пошуку, ви можете отримувати дані як за IPv4, так і за IPv6 адресами. Ви навіть можете змішати обидва типи адрес в одному запиті. Формат запиту такий же, як у стандартного пошуку, за винятком того, що ви вказуєте кілька IP-адрес, розділених комами.

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

Останній тип запиту, запропонований ipstackAPI - це пошук запитувача. Він поверне інформацію про IP-адресу, з якої надходить запит. Це тип запиту, з якого ви запускаєте скрипт на стороні клієнта. Щоб здійснити виклик пошуку запиту, все, що ви робите, - це використовувати ключове слово "чек" замість IP-адреси. Інші доступні параметри запиту такі ж, як і для інших типів запиту.

https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY

Як працює API ipstack?

API ipstack - це більш ніж ймовірно щосьви інтегруєтесь у веб-сайт у реальному часі. Наприклад, ви можете подавати різний вміст залежно від місцезнаходження клієнта. Для цього вам потрібно API, щоб виконувати надзвичайно швидко. Будь-яка затримка відповіді API призведе до затримок із відображенням сторінки вашому клієнту, чого б ви хотіли більше уникати. Те саме відбувається незалежно від того, для чого ви використовуєте дані про місцезнаходження. Ось чому час реакції інструменту, який ви використовуєте, має надзвичайно важливе значення. Хоча API геолокації може надавати дуже потрібну функціональність, його невиконання може мати катастрофічний вплив.

З цих причин потрібно вибрати API зхороший час відгуку. Ми багато працювали над тестуванням різних сценаріїв і проводили тести з однією або декількома IP-адресами, деякі з додатковими параметрами, деякі з меншими. Ми були дуже задоволені результатами і отримали досить послідовний час відповіді близько 100 мс, незалежно від запиту. Відповідь також була послідовною з часом, не маючи очевидних «годин пік», коли продуктивність постраждає, і це було також подібне, незалежно від того, звідки ми запускали запити. Схоже, сервери ipstack побудовані для обробки навантаження, яке вони отримують. Загалом, схоже, що використання API ipstack мало вплинуло на реакцію веб-сайту, яку бачили з точки зору користувача.

Документація та підтримка продукту

Часто кажуть, що продукт настільки ж хорошийяк його документація. Якщо це правда, API ipstack не має чого боятися, оскільки його документацію легко знайти, використати та зрозуміти. Якість документації також дає міру того, наскільки дбайливий видавець програмного забезпечення про своїх користувачів. І тут знову нема чого хвилюватися.

API ipstack - Домашня документація

Одне з найкращих у цьому продуктідокументація, як не дивно, як мало. Все вміщується на одній, добре викладеній веб-сторінці, де ви легко знайдете все необхідне. А щоб зробити це ще простіше, панель меню робить доступ до будь-якого розділу легко. Документація охоплює все - від використання запитів різних типів до налаштування відповіді.

У вкрай малоймовірному випадку, коли б ви цього не зробилизнайдіть те, що вам потрібно в документації, також доступна підтримка. Спочатку можна зайняти деякий час для отримання технічної підтримки, але, як тільки ви це зробите, вони реагують досить швидко.

Ціноутворення

Існує кілька планів ціноутворення дляipstack API. На найнижчому рівні існує вільний план. Як випливає з назви, ця безкоштовна. Він також дещо обмежений. Для початку ви можете запускати до 10 000 запитів на місяць. Він також включає модуль локації, і доступ до підтримки обмежений. Однак це може бути чудовим способом протестувати продукт та побачити, як він може інтегруватися у ваше оточення.

Наступний рівень - базовий план. Цей продається за $ 9,99 / місяць або $ 95,90 / рік (знижка 20%) і приносить ліміт запитів до 50 000 / місяць. Він також дозволяє використовувати модулі валюти, часової зони та з'єднання. Крім того, в план також входить розширена підтримка, а також посилена безпека за допомогою використання шифрування SSL.

Найпопулярніший план - професійнийякий продається за $ 49,99 / місяць або $ 479,90 / рік. Він дає вам усе, що включено в основний план, але збільшує ліміт щомісячних запитів до 500 000, а також включає можливість робити масові запити.

Вгорі - професійний план плюс. Коштує $ 99,99 / місяць або $ 959,90 / рік. Він ідентичний професійному плану, але дозволяє до 2 мільйонів запитів на місяць, і єдиний план включає модуль захисту.

Якщо цього недостатньо, є такожнастроюваний план підприємства, який можна оформити, зв’язавшись з ipstack. Він може включати стільки щомісячних запитів, скільки вам може знадобитися, а також різноманітні спеціальні рішення на основі конкретних потреб клієнта.

У висновку

API ipstack - чудовий продукт, який будедозволить швидко та легко захопити стільки даних, які ви можете отримати з IP-адреси. Це чудовий час відгуку, відмінна документація та хороша підтримка, які поєднують свою цінність. Крім того, сам факт, що кілька Інтернет-гігантів використовують це, мабуть, є хорошим свідченням цінності продукту.

Це, безумовно, продукт, який я б рекомендував, якщови шукаєте використання даних, які можна зібрати для IP-адреси відвідувача вашого веб-сайту. А оскільки доступний безкоштовний - хоч і обмежений - план, немає жодної причини, чому ви не хотіли б хоч спробувати, самі бачите, що він може зробити для вас.

Коментарі