IP 範囲リスト サービス
IP 範囲リスト サービスは、 プロファイル サービスによるターゲット設定に使用できる IP 範囲のリストを管理するために使用されます。 このサービスによって提供される機能は、 ドメイン リスト サービスに似ています。
目的のユース ケース
このサービスの目的のユース ケースは、直接クライアント課金が有効になっているユーザーに広告を配信したいモバイル 購入者向けです。つまり、購入は運送業者に請求され、モバイル請求に追加されます。 このシナリオでは、キャンペーンは、直接通信事業者の課金を許可するセル タワーのゲートウェイの IP 範囲を対象とします。
ここで作成および管理する IP 範囲リストを実際にターゲットにするには、プロファイル サービスの [ip_range_list_targets
] フィールドに追加します。
注:
ブロック インベントリ (ブロックリスト) 用に設計されていません
このサービスは、IP (ブロックリストなど) をブロックするために設計されていません。 詳細については、以下の 制限事項を 参照してください。
制限事項
IP 範囲リスト サービスには、次の制限があります。
- 最大 100 個の IP 範囲リストを作成できます。
- 1 つの
"include"
IP 範囲リスト (include
true
に設定) には、3500 を超える範囲を含めることはできません。 - 1 つの
"exclude"
IP 範囲リスト (include
false
に設定) には、10 を超える範囲を含めることはできません。
さらに、IP 範囲リストをターゲットとする場合、 プロファイル サービス には次の制限があります。
プロファイルごとに、最大 10 個の "include"
IP 範囲リスト (include
true
に設定) をターゲットにし、1 "exclude"
IP 範囲リスト (include
false
に設定) を超えないことをターゲットにすることができます。 除外される IP 範囲は、含まれる IP 範囲のサブセットである必要があります。
REST API
HTTP メソッド | エンドポイント | 説明 |
---|---|---|
GET |
https://api.appnexus.com/ip-range-list | すべての IP 範囲リストを表示します。 |
GET |
https://api.appnexus.com/ip-range-list?id=LIST_ID | 特定の IP 範囲の一覧を表示します。 |
GET |
https://api.appnexus.com/ip-range-list/meta | フィルター処理および並べ替えの対象となるフィールドを確認します。 |
POST |
https://api.appnexus.com/ip-range-list | 新しい IP 範囲リストを追加します。 |
PUT |
https://api.appnexus.com/ip-range-list?id=LIST_ID | 既存の IP 範囲リストを変更します。 |
DELETE |
https://api.appnexus.com/ip-range-list?id=LIST_ID | IP 範囲リストを削除します。 |
JSON フィールド
フィールド | 種類 | 説明 |
---|---|---|
description |
string | この IP 範囲リストの説明 (省略可能)。 デフォルト: null |
id |
int | この IP 範囲リストの一意の ID。 必須: PUT |
include |
ブール値 |
プロファイル サービスを使用して、この一覧の IP 範囲をキャンペーン ターゲットに含めるかどうか。 デフォルト: false |
ip_ranges |
オブジェクトの配列 | この配列は、IP アドレスの範囲を保持します。 オブジェクト フィールドの詳細については、以下の IP 範囲 の表を参照してください。 必須のオン: POST そして PUT |
last_modified |
date | このオブジェクトが最後に更新されたとき。 読み取り専用。 |
name |
string | IP 範囲リストの名前。 必須のオン: POST そして PUT |
num_ip_ranges |
int | この一覧の IP 範囲の現在の数。 読み取り専用。 |
IP 範囲
ip_ranges
配列内の各オブジェクトには、次のフィールドが含まれています。
フィールド | 種類 | 説明 |
---|---|---|
from_ip |
string | 開始 IP アドレス。 次の to_ip フィールドが含まれていない場合、これは含めるか除外する唯一のアドレスとして扱われます。 この文字列は、有効な IPV4 アドレス形式である必要があります(つまり、 "198.2.1.1" )。必須 On: POST 、 PUT |
to_ip |
string | (省略可能) 終了 IP アドレス。 このフィールドが含まれていない場合、 from_ip フィールドの IP アドレスは単独で使用されます。 このフィールドが含まれている場合、フィールド間のアドレスは範囲を形成します。 範囲は 昇順 で表示する必要があります(例: {"from_ip":"192.168.2.1", "to_ip":"192.168.2.100"} . |
例
IP 範囲の一覧を表示する
$ curl -b cookies -c cookies 'https://api.appnexus.com/ip-range-list?id=2'
{
"response": {
"status": "OK",
"count": 1,
"start_element": 0,
"num_elements": 100,
"ip-range-list": {
"id": 2,
"name": "Sky IPs 1",
"description": "Targeted Sky IP Addresses",
"include": true,
"last_modified": "2014-02-19 15:04:36",
"ip_ranges": [
{
"from_ip": "2.120.0.0",
"to_ip": "2.120.0.0"
},
{
"from_ip": "2.216.0.0",
"to_ip": "2.216.0.0"
},
{
"from_ip": "5.64.0.0",
"to_ip": "5.64.0.0"
},
{
"from_ip": "90.192.0.0",
"to_ip": "90.192.0.0"
},
{
"from_ip": "94.0.0.0",
"to_ip": "94.0.0.0"
},
{
"from_ip": "151.224.0.0",
"to_ip": "151.224.0.0"
},
{
"from_ip": "176.24.0.0",
"to_ip": "176.24.0.0"
},
{
"from_ip": "176.248.0.0",
"to_ip": "176.248.0.0"
}
],
"num_ip_ranges": 8
}
}
IP 範囲リストを作成する
$ cat ip-range-list.json
{
"ip-range-list": {
"ip_ranges": [
{
"to_ip": "168.100.1.105",
"from_ip": "168.100.1.100"
},
{
"from_ip": "168.109.109.100"
}
],
"include": true,
"description": "Yet another nice little IP range list for testing.",
"name": "Rich's Second Ever IP range list"
}
}
$ curl -b cookies -X POST -d @ip-range-list.json 'https://api.appnexus.com/ip-range-list'
{
"response": {
"status": "OK",
"count": 1,
"id": 3,
"start_element": 0,
"num_elements": 100,
"ip-range-list": {
"id": 3,
"name": "Rich's Second Ever IP range list",
"description": "Yet another nice little IP range list for testing.",
"include": true,
"last_modified": "2014-02-25 20:21:12",
"ip_ranges": [
{
"from_ip": "168.100.1.100",
"to_ip": "168.100.1.105"
},
{
"from_ip": "168.109.109.100",
"to_ip": "168.109.109.100"
}
],
"num_ip_ranges": 2
}
}
}
IP 範囲の一覧を更新する
$ cat update-ip-range-list.json
{
"ip-range-list": {
"ip_ranges": [
{
"to_ip": "168.100.1.105",
"from_ip": "168.100.1.100"
},
{
"to_ip": "192.168.1.100",
"from_ip": "192.168.1.1"
},
{
"from_ip": "168.109.109.100"
}
]
}
$ curl -b cookies -X PUT -d @update-ip-range-list.json 'https://api.appnexus.com/ip-range-list?id=3'
{
"response":
"status": "OK",
"count": 1,
"id": "3",
"start_element": 0,
"num_elements": 100,
"ip-range-list": {
"id": 3,
"name": "Rich's First IP range list, now with updates!",
"description": "Just a nice little IP range list for testing. Recently updated.",
"include": true,
"last_modified": "2014-12-10 18:49:00",
"ip_ranges": [
{
"from_ip": "168.100.1.100",
"to_ip": "168.100.1.105"
},
{
"from_ip": "168.109.109.100",
"to_ip": "168.109.109.100"
},
{
"from_ip": "192.168.1.1",
"to_ip": "192.168.1.100"
}
],
"num_ip_ranges": 3
}
}
}
プロファイルに IP 範囲リストを追加する
$ cat profile-update.json
{
"profile": {
"ip_range_list_targets": [
{
"id":5
}
]
}
}
$ curl -b cookies -X PUT -d @profile-update.json 'https://api.appnexus.com/profile?id=294641&advertiser_id=41884'
{
"response":{
"num_elements":100,
"start_element":0,
"id":"294641",
"count":1,
"status":"OK"
"profile":{
"exelate_targets":null,
"segment_targets":null,
"publisher_targets":null,
"platform_publisher_targets":null,
"platform_placement_targets":null,
"platform_content_category_targets":null,
"placement_targets":null,
"deal_targets":null,
"content_category_targets":null,
"mobile_app_instance_list_targets":null,
"mobile_app_instance_targets":null,
"ip_range_list_targets": [
{
"id": 5
"include": false,
"description": "Test IP range list",
"name": "Test IP range list",
}
],
"operating_system_extended_targets":null,
"venue_targets":null,
"site_targets":null,
"position_targets":null,
"operating_system_family_targets":null,
"operating_system_targets":null,
"ip_targets":null,
"inventory_network_resold_targets":null,
"inventory_group_targets":null,
"intended_audience_targets":null,
"gender_targets":null,
"querystring_targets":null,
"device_model_targets":null,
"screen_size_targets":null,
"device_type_targets":null,
"supply_type_targets":null,
"carrier_targets":null,
"segment_group_targets":null,
"member_targets":null,
"postal_code_targets":null,
"size_targets":null,
"language_targets":null,
"domain_list_targets":null,
"domain_targets":null,
"dma_targets":null,
"browser_family_targets":null,
"browser_targets":null,
"daypart_targets":null,
"age_targets":null,
"inventory_attribute_targets":null,
"inventory_source_targets":null,
"inv_class_targets":null,
"city_targets":null,
"region_targets":null,
"country_targets":null,
"user_group_targets":null,
"mobile_app_instance_list_action_include":false,
"mobile_app_instance_action_include":false,
"use_operating_system_extended_targeting":false,
"operating_system_family_action":"exclude",
"created_on":"2013-09-16 17:22:30",
"is_template":false,
"allow_unaudited":false,
"trust":"seller",
"require_cookie_for_freq_cap":true,
"operating_system_action":"exclude",
"venue_action":"exclude",
"min_minutes_per_imp":null,
"max_page_imps":null,
"max_lifetime_imps":null,
"max_day_imps":null,
"max_session_imps":null,
"publisher_id":null,
"advertiser_id":41884,
"daypart_bitmap":null,
"non_audited_url_action":"include",
"is_expired":false,
"querystring_boolean_operator":"and",
"querystring_action":"exclude",
"location_target_longitude":null,
"location_target_latitude":null,
"location_target_radius":null,
"device_model_action":"exclude",
"screen_size_action":"exclude",
"device_type_action":"exclude",
"supply_type_action":"exclude",
"carrier_action":"exclude",
"session_freq_type":"platform",
"min_session_imps":null,
"segment_boolean_operator":"and",
"language_action":"exclude",
"inventory_action":"exclude",
"domain_list_action":"exclude",
"domain_action":"exclude",
"dma_action":"exclude",
"daypart_timezone":null,
"last_modified":"2014-02-05 19:52:32",
"use_inventory_attribute_targets":false,
"browser_action":"exclude",
"city_action":"exclude",
"region_action":"exclude",
"country_action":"exclude",
"description":null,
"code":null,
"id":294641
}
}
}