25年以上前の謙虚な始まり以来、ワールドワイドウェブは、最高のアナリストでさえ予測できなかった方法で進化してきました。本質的に研究者が情報を共有するのに役立つツールであったものを形成し、私たちの多くがそれなしでは生きていけない消費者向けツールに進化しました。それは私たちの生活の多くの側面を変えており、おそらく私たちが必要以上にそれに依存するようになりました。それは非常にありふれたものになり、小売業界を変えています。実店舗の大きなチェーンから、トップ小売業者は現在、ウェブベースの市場です。
成功するためには、オンライン小売業者だけでなくウェブ上に存在しますが、その機能を完全に活用する必要もあります。そのような機能の1つが位置情報です。このテクノロジーにより、小売業者はウェブサイトの訪問者の場所を知ることができます。これは、配送料の見積もりを表示したり、場所固有のオファーを提示したりするための便利な機能です。ジオロケーションのメリットを享受する最も簡単な方法の1つは、IPアドレスを供給でき、そのアドレスに関する関連情報を返す専用のAPIを使用することです。 の ipstack API そのような製品の1つであり、我々は発見しようとしていますどのようにその魔法を使い、あなたのために何ができるか。ツールの基本機能とその使用方法について説明します。製品のパフォーマンス、製品で利用可能なドキュメントとサポートの種類、およびその比較的単純な価格構造を確認します。

ipstackの紹介
その中心にあるipstackは、ジオロケーションAPIです。複数の相互接続されたISPを使用して、正確な地理データを提供します。ウェブサイトのコードからAPIを呼び出すと、ウェブサイトのユーザーに関する多数の地理データが返されます。もちろん、ユーザーの地理的な位置を取得します(これが主要なポイントではないでしょうか?)。しかし、それだけではありません。たとえば、このツールは、ユーザーの国旗の画像または絵文字バージョンへのリンクを返します。さらに、ユーザーがプロキシ経由でサイトにアクセスしているかどうかに関する情報を取得します。利用可能なモジュールの詳細を確認しながら、これらすべてについて詳細に説明します。
最初はfreegeoipと呼ばれるプロジェクト。ネットでは、2009年に開発者を支援するためのオープンソースイニシアチブとしての光を見ました。ユーザーからのフィードバックに基づいた継続的な改善により、約8年後、私たちが見ている本格的な製品に進化しました。この間、製品のユーザーベースは10万人を超える顧客を獲得しました。そして、彼らは単なる顧客ではありません。 MicrosoftやSamsungなどの巨人がAPIを使用しています。 AirbnbとHubSpotも同様です。
ipstack APIは非常に動的なスキームを使用しますデータベースを1日に複数回更新し、返された結果の整合性を確保します。この目的のために、ipstackは世界中のいくつかの大規模なISPと提携しています。このツールは、すべてのデータ転送を保護するために、HTTPSを使用して256ビットSSL暗号化チャネルですべての通信を実行します。結果は、特定のニーズに応じて、APIによってXMLまたはJSON形式で返されます。
ipstack APIの最良の部分の1つは、モジュール性。利用可能なさまざまなモジュールは、ユーザーの場所に関するデータをますます返します。それは非常に柔軟なツールになります。速度も製品の強みの1つです。適切なパラメーターでAPIを呼び出し、要求された結果を超高速で取得します。現在、ipstack APIは毎日20億件以上のリクエストを処理していますが、ほぼ瞬時に応答しています。さまざまなISPとのパートナーシップを通じて、この製品は約200万の場所と世界中の20万を超える都市をカバーできます。また、IPv4アドレスとIPv6アドレスの両方をサポートしています。
ジオロケーションの仕組み
先に進む前に、少しの間一時停止してジオロケーションの外観を簡単に確認してください。 ipstackの名前から推測できるように、IPアドレスに関係しています。 IPアドレスは、ある程度、郵便アドレスと比較できます。インターネットに接続された各デバイスには、一意のIPアドレスがあります。ただし、これらのIPアドレスは、すべてのデバイスにランダムに割り当てられるだけではありません。それにはある程度の意味があります。 IPアドレスの一部は接続された個々のデバイスを識別し、その一部は接続先のネットワークを識別します。また、ネットワーク部分自体は、コンピューターディスクのディレクトリツリーのように階層的に構成されています。 (読者のエンジニアがこの単純化を許してくれることを願っています。)
これは、番地がある住所に似ています番号、通りの名前、都市、そして最終的には国。また、英国の郵便局が米国の住所がどこにあるかわからないように、米国向けのメールをUSPSに送信し、USPSはメールを適切な場所にルーティングします。また、Googleマップなどのツールに郵便番号を入力して、正確に対応する場所を取得できるように、ipstack APIなどのツールにIPアドレスを照会してその場所を取得できます。
ただし、これにはいくつかの制限があります。 たとえば、IPアドレスから正確な場所を取得することはできません。取得できるのは、IPアドレスを提供するISPが提供できるものです。一部のプロバイダーは他のプロバイダーよりも多くの情報を返しますが、これは多くの場合、都市または一般的な近隣地域ほど正確ではありません。また、ユーザーがWebサイトにアクセスするためにVPNを訴えている場合、そのようなルックアップから得られるのは、使用しているVPNサーバーの場所です。
ipstack APIの主な機能
ipstack APIの開発者は、この製品でのモジュール式アプローチ。さまざまなモジュールで構成され、それぞれが異なるタイプの情報を返します。たとえば、タイムゾーン、通貨、さらにはセキュリティのモジュールがあります。要求をipstack APIに送信するときに適切なパラメーターを使用して、使用するモジュールを選択します。
このアプローチにはいくつかの利点があります。 まず、応答の処理が容易になります。 IPアドレスに関するすべての利用可能なデータを返すリクエストが1種類しかない場合、ウェブサイトのコードは必要な情報を取得するために回答全体を解析する必要があります。また、小さなリクエストを小さなレスポンスで送信すると、パフォーマンスが向上します。
利用可能なそれぞれについて詳しく見てみましょうモジュール、それらを呼び出す方法、およびそれらの典型的な応答がどのように見えるか。これにより、この強力なツールに何が期待できるかについて、かなり明確な概要が得られます。
ロケーションモジュール

ipstack APIの最も基本的なモジュールはロケーションモジュール。クエリで提供されたIPアドレスの物理的な場所に関する詳細を返します。 IPアドレスの国、その主要言語または公用語、およびユーザーエクスペリエンスをパーソナライズするために使用できる国旗の絵文字を取得します。
これは、ipstack APIへのクエリに対する典型的な応答です。最初の部分は、要求されたモジュールに関係なく、クエリに含まれます。
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
ご覧のとおり、取得する追加情報は主に国の首都、その場所で使用されているさまざまな言語、国の国旗の画像へのリンク、国の絵文字のUnicodeです。
通貨モジュール

Currencyモジュールを使用して、さらにウェブサイトのユーザーエクスペリエンスを改善します。これは、ユーザーの通貨で価格を表示できるため、ショッピングサイトに特に当てはまります。提供される詳細には、現地通貨の名前と記号、およびその複数名が含まれます。もちろん、APIは価格を適切な通貨に変換しませんが、別のAPIを使用して、訪問者に適した通貨に価格を変換できます。通貨モジュールからの出力がどのように見えるか見てみましょう:
currency: Object{} code: "CAD" name: "Canadian Dollar" plural: "Canadian dollars" symbol: "CA$" symbol_native: "$"
セキュリティモジュール

おそらく、以前ほど人気がなく、有用ではありません。モジュール、セキュリティモジュールはまだ興味深いです。着信接続のいくつかのセキュリティ面に関する情報を返します。たとえば、プロキシを介してサイトにアクセスしているかどうか、またアクセスしている場合はプロキシのタイプ、またはリクエストが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
タイムゾーンモジュール

に役立つ別のモジュールWebサイト訪問者のユーザーエクスペリエンスをパーソナライズするのがタイムゾーンモジュールです。あなたのウェブサイト訪問者について、あなたが推測した追加の詳細を返します。時間依存の情報を扱うサイトでこのような機能を使用できる場所の1つ。ユーザーの場所に基づいて正しい時刻を表示できます。
このサンプル応答からわかるように、モジュールは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
接続モジュール

最後になりましたが、接続モジュールです。 これはかなり単純です。返されるのは、ソースIPアドレスとISP名に関連付けられた自律システム(AS)番号だけです。まあ、実際にはISPではなくAS所有者の名前です。以下の例のように、一部の組織は独自の自律システムを登録します。
connection: Object{} asn: 395399 isp: "City of Montreal"
これはおそらくすべてのモジュールの中で最も有用ではありませんが、一部のモジュールはさまざまな分析目的に有用であることがわかります。
ipstack APIの使用
情報がどのようなものになるかを見てきましたipstack APIによって返されたので、今度はそれがどのように呼び出されるかを見てみましょう。 ipstack APIは、それぞれ異なるパラメーターを持つ3種類のクエリを提供します。標準ルックアップ、バルクルックアップ、リクエスタールックアップがあります。それらの違いを見てみましょう。これは素晴らしい機能です。たとえば、一括リクエストを使用すると、複数のリクエストを1つにまとめることができるため、総オーバーヘッドが削減され、より高速な結果が得られます。各タイプのリクエストを詳しく見てみましょう。
標準ルックアップ
ご想像のとおり、標準ルックアップは最も基本的なもの。 ipstack APIを呼び出すときに指定した単一のIPアドレスに関する詳細を返します。使い方は非常に簡単で、IPv4またはIPv6アドレスのいずれでも機能します。さらに簡単にするために、製品のドキュメントでは、PHP(cURL)とJavaScript(Jquery.ajax)の両方で標準リクエストのサンプルコードを提供しています。これらのいずれかを使用してWebサイトを構築する場合、APIの使用は簡単です。以下に、単純なHTMLコードを使用したAPIの典型的な呼び出しのサンプルを示します。
https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY
この例では、 YOUR_ACCESS_KEY 実際のアクセスキーに置き換えられますあなたがサービスにサインアップしたときに得た。この例では、ダミーのアドレスではなく、情報が必要な実際のIPアドレスも含めます。
標準ルックアップの結果には、すべてが含まれますデフォルトではモジュールですが、追加のパラメーターを使用すると、正確なニーズに合わせてリクエストを調整できます。使用可能なパラメーターの詳細はすべて、製品のドキュメントで明確に説明されています。同様に、デフォルトの応答はJSONオブジェクトですが、パラメーターはそれをXML形式に変更できます。
バルクとリクエスタのルックアップ
バルクルックアップでは、次に対してデータをリクエストできます。1つのリクエスト内に複数のIPアドレス。標準ルックアップと同様に、IPv4アドレスとIPv6アドレスの両方でデータを取得できます。 1つのリクエストで両方のタイプのアドレスを混在させることもできます。要求の形式は、複数の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
ipstackが提供する最後のタイプのリクエストAPIはリクエスタールックアップです。要求の送信元のIPアドレスに関する情報を返します。これは、クライアント側スクリプトを使用して実行するリクエストのタイプです。リクエスター検索呼び出しを行うには、IPアドレスの代わりにキーワード「check」を使用するだけです。他の利用可能なリクエストパラメータは、他のリクエストタイプと同じです。
https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY
ipstack APIはどのように機能しますか?
ipstack APIは、おそらく、何かリアルタイムのウェブサイトに統合します。たとえば、クライアントの場所に基づいて異なるコンテンツを提供したい場合があります。それを実現するには、非常に高速に実行するAPIが必要です。 API応答の遅延は、クライアントへのページの表示の遅延に変換されます。これは、おそらく避けたいものです。位置データを何に使用しても同じことが言えます。これが、使用しているツールの応答時間が最も重要な理由です。ジオロケーションAPIは非常に必要な機能を提供できますが、実行に失敗すると悲惨な影響を与える可能性があります。
これらの理由により、次のAPIを選択する必要があります良い応答時間。さまざまなシナリオをテストするために多くのハードワークを行い、単一または複数のIPアドレスでテストを実行しました。一部のオプションパラメータはより多く、一部はより少ないものです。結果に非常に満足しており、リクエストに関係なく、約100ミリ秒というかなり一貫した応答時間が得られました。また、応答は、パフォーマンスが低下する明らかな「ラッシュアワー」を伴わず、時間の経過とともに一貫しており、リクエストをどこから開始しても同様でした。 ipstackサーバーは、取得する負荷を処理するように構築されているようです。全体として、ipstack APIを使用しても、ユーザーの観点から見たWebサイトの応答にはほとんど影響がなかったようです。
製品のドキュメントとサポート
製品は同じくらい良いとよく言われますそのドキュメントとして。それが本当なら、ipstack APIはドキュメントが見つけやすく、使いやすく、理解しやすいので心配する必要はありません。また、ドキュメントの品質は、ソフトウェア発行者がユーザーをどの程度重視しているかの尺度を提供します。ここでも、心配することはありません。

この製品の最大の利点の1つ奇妙なことに、ドキュメンテーションはほとんどありません。すべてが、必要なものを簡単に見つけることができる単一の適切にレイアウトされたWebページに収まります。さらに、メニューペインを使用すると、特定のセクションに簡単にアクセスできます。ドキュメントには、さまざまなタイプのリクエストの使用からレスポンスのカスタマイズまで、すべてが網羅されています。
ありそうもない非常にまれなケースドキュメントで必要なものを見つけ、サポートも利用できます。最初に技術サポートに連絡するのに時間がかかる場合がありますが、一度連絡すると、かなり迅速に対応します。
価格
いくつかの価格プランが利用可能ですipstack API。最低レベルでは、無料プランがあります。その名前が示すように、これは無料です。また、ある程度制限されています。まず、1か月あたり最大10,000件のクエリしか実行できません。また、ロケーションモジュールのみが含まれ、サポートへのアクセスは制限されています。ただし、製品をテストし、環境にどのように統合できるかを確認するのに最適な方法です。
次のレベルは基本計画です。 これは月額9.99ドルまたは年額95.90ドル(20%の割引)で販売され、リクエストの制限は月額5万件までになります。また、通貨、タイムゾーン、接続モジュールを使用できます。さらに、SSL暗号化の使用によるセキュリティの強化だけでなく、強化されたサポートも計画に含まれています。
最も人気のあるプランはプロのプランです月額49.99ドルまたは年額479.90ドルで販売されています。基本プランに含まれるすべてのものが提供されますが、毎月のリクエスト制限が50万に引き上げられ、一括リクエストを行う機能も含まれています。
一番上は、プロフェッショナルプラスプランです。 月額99.99ドルまたは年額959.90ドルです。これはプロフェッショナルプランと同じですが、1か月あたり最大200万件のリクエストを許可し、セキュリティモジュールを含める唯一のプランです。
それが十分でない場合、もありますipstackに連絡して調整できるカスタマイズ可能なエンタープライズプラン。クライアントの特定のニーズに基づいたさまざまなカスタムソリューションだけでなく、必要に応じて毎月のリクエストを含めることができます。
結論として
ipstack APIは優れた製品であり、IPアドレスから取得できるデータをすばやく簡単に取得できます。驚異的な応答時間、優れたドキュメント、優れたサポートが組み合わされており、これらが組み合わさって、コストパフォーマンスに優れています。また、複数のインターネット大手がそれを使用しているという事実は、おそらく製品の価値の良い証拠です。
これは間違いなく私がお勧めする製品ですウェブサイトの訪問者のIPアドレスについて収集できるデータを活用することを検討しています。また、無料ではありますが限定的なプランが用意されているので、少なくとも試してはいけない理由はありません。
コメント