Microsoft Monetize Ad Server を通じてプログラマティック保証 (PG) 取引の API 実装を設定するには、さまざまな API オブジェクトにさまざまなプロパティを構成する必要があります。 このガイドでは、API を使用して PG 取引を作成および構成するプロセスについて説明します。
概要
PG 取引は、固定価格取引のために事前にパッケージ化されたユーザーフレンドリーな購入ツールを提供することで、ネットワークおよびパブリッシャー クライアントが購入者をより適切にサポートできるようにする強力な機能です。
PG 取引を設定するには、次の API サービス エンドポイントに要求を行い、対応する API オブジェクトにアクセスまたは作成する必要があります。
| API エンドポイント | API オブジェクト | 詳細なリファレンス |
|---|---|---|
| https://api.appnexus.com/advertiser | 広告主 | 広告主サービス |
| https://api.appnexus.com/insertion-order | insertion-order | 広告掲載オーダー サービス |
| https://api.appnexus.com/deal | deal | ディール サービス |
| https://api.appnexus.com/profile | profile | プロファイル サービス |
| https://api.appnexus.com/line-item | ラインアイテム (ALI) | ライン項目 - ALI サービス |
このガイドでは、すべてのリクエストについて cURL の例を使用します。 他の API リクエスト ツール ( Postman など) を使用することもできますが、その後適宜例を調整する必要があります。
前提条件
このセットアップを開始する前に、「API はじめに」を必ずお読みください。 テスト環境、使用上の制約、API セマンティクス (コマンドの実行、フィルター処理、並べ替えなど)、ベスト プラクティスに関する情報を提供します。
操作の順序
多くの場合、API オブジェクトは他の API オブジェクトに依存しており、PG 取引を作成するときは、オブジェクトの作成またはアクセスにおいて従わなければならない順序があります。 たとえば、 advertiser、 insertion-order、 deal、 profile の API オブジェクトの ID を指定する必要があります。 これらのオブジェクトの ID を取得するには、それらを作成するか、既にアクセス権を持っている必要があります。 このガイドの手順は、PG 取引を作成するために必要な操作の一般的な順序に従います。
ベスト プラクティス
API を操作する際に従うベスト プラクティスの一般的な一覧については、「 API のベスト プラクティス」を参照してください。 以下に、取引品目の設定に固有のベスト プラクティスをいくつか示します:
- 明細行品目が完全に構成され、テストの準備が整うまで、取引明細行品目の
stateフィールドを"inactive"に設定します。 - 作成するオブジェクトの ID をメモします。 作成したオブジェクトの ID は、要求の応答本文で返されます。 多くの場合、これらの ID は後で必要になるため、返されたときにコピーすることで、ID を取得するために行う必要のある追加の
GET要求の数を減らすことができます。
セットアップ手順
次の手順では、一般的な構成で取引品目を設定するプロセスを説明します:
- 手順 1 - 承認トークンを取得する
- 手順 2 - 広告主を作成またはアクセスする
- 手順 3 - PG の広告掲載オーダーを作成またはアクセスする
- 手順 4 - PG 取引を作成する
- 手順 5 - PG 取引品目プロファイルの作成
- 手順 6 - PG 取引品目の作成
手順 1: 承認トークンを取得する
まず、承認トークンを取得する必要があります。 その後、後続のすべての要求にこの承認トークンを含める必要があります。 詳細については、「 認証サービス」を参照してください。 承認トークンを取得するには、次の手順を実行します。
ユーザー名とパスワードを含む JSON ファイルを作成します。
{ "auth": { "username" : "USERNAME", "password" : "PASSWORD" } }要求本文にこの JSON ファイルを含め、
/authエンドポイントに対してPOST要求を行います。 詳細については、「 認証サービス」を参照してください。 次のcURL要求では、返された承認トークンは "cookies" ファイルに格納されます。curl -c cookies -X POST -d @authentication.json 'https://api.appnexus.com/auth'要求の応答本文を確認します (下記 の応答の例 を参照)。 要求が成功した場合は、"
status" が "OK" になり、"token" フィールドに認証トークンの値が入力されます。
応答例{ "response" : { "token" : "authn:225692:2d787d1838283:lax1", "status" : "OK" } }
手順 2: 広告主を作成またはアクセスする
取引ライン アイテムを作成するには、広告主を作成するか、広告主にアクセスする必要があります。 取引広告申込情報の場合、広告主は拡張広告申込情報と同じ方法で設定されます。
使用する広告主がまだない場合は、次の手順に従って広告主を作成します (詳細については、「 広告主サービス」を参照してください)。
広告主の JSON を作成します。
$ cat advertiser.json { "advertiser": { "name": "Deal Line Item Example Advertiser", "timezone": "US/Pacific" } }この広告主の JSON と適切な
member_idを使用して、https://api.appnexus.com/advertiser エンドポイントにPOST要求を行います。curl -b cookies -c cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser?member_id=2378'要求の応答本文を確認します。 要求が成功した場合は、"
OK" の "status" が表示され、行った更新が表示されます。手順 6 - 取引品目の作成で取引品目を作成するときに使用できるように、応答本文の広告主 ID をメモします。
広告主用の JSON フィールド (必須フィールドと役立つオプション フィールド)
| フィールド | 種類 | 必須またはオプション | 説明 |
|---|---|---|---|
name |
string | 必須 | 広告主の名前 |
timezone |
列挙 | 省略可能 | 広告主のタイムゾーン。 詳細と使用できる値については、「 API タイムゾーン」を参照してください。 |
use_insertion_orders |
ブール値 | 必須 | 取引品目を作成するには、このフィールドを true に設定する必要があります。 |
手順 3: PG の広告掲載オーダーを作成またはアクセスする
PG 取引を作成するには、広告掲載オーダーを作成するか、広告掲載オーダーにアクセスする必要があります。 取引ライン アイテムには、シームレスな広告掲載オーダーが必要です (以下の必須フィールドを参照してください)。
使用する広告掲載オーダーがまだない場合は、次の手順に従って広告掲載オーダーを作成します (詳細については、「 広告掲載オーダー サービス」を参照してください)。
広告掲載オーダーの JSON を作成します (2 つの例を次に示します):
JSON の例: 終了日なし、予算無制限
$ cat insertion-order-noenddate.json { "insertion-order": { "name": "PG Deal Example IO", "state": "active", "budget_intervals": [{ "start_date": "2022-10-10 00:00:00", "end_date": null, "daily_budget": null, "daily_budget_imps": null, "enable_pacing": true, "lifetime_budget": null, "lifetime_budget_imps": null }], "budget_type": "impression" } }この広告掲載オーダー JSON と適切な
advertiser_idとmember_idを使用して、https://api.appnexus.com/insertion-order エンドポイントにPOST要求を行います。要求の例: 終了日なし、予算無制限
curl -b cookies -c cookies -X POST -d @insertion-order-noenddate.json 'https://api.appnexus.com/insertion-order?advertiser_id=2605036&member_id=2378'要求の応答本文を確認します。 要求が成功した場合は、"
OK" の "status" が表示され、行った更新が表示されます。応答本文の広告掲載オーダー ID をメモしておき、 手順 6 - 取引品目の作成で PG 取引品目を作成するときに使用できるようにします。
シームレスな広告掲載オーダー用の JSON フィールド (必須フィールドと便利なオプション フィールド)
| フィールド | 種類 | 必須またはオプション | 説明 |
|---|---|---|---|
name |
string | 必須 | 広告掲載オーダーの名前 |
state |
列挙 | 必須 | 広告掲載オーダーの状態 ( active または inactive |
budget_intervals(課金期間) |
オブジェクトの配列 | 必須 | シームレスに API を使用して PG 取引の広告掲載オーダーを作成するには、 budget_intervals フィールドを使用する必要があります。 次の配列オブジェクトは、次の値に設定する必要があります。- "end_date":
null
- "lifetime_budget":
null
- "lifetime_budget_imps":
null
- "daily_budget":
null
- "daily_budget_imps":
null
- "enable_pacing":
false
- "lifetime_pacing":
false
- "lifetime_pacing_pct":
null
|
budget_type |
列挙 | 必須 | 予算タイプは、広告掲載オーダーの下にあるすべての取引に変換されます。 PG 取引の場合、 budget_type フィールドは "impression" または "flexible" のいずれかの値に設定できます。 広告掲載オーダーのインプレッション予算の種類を選択した場合、その広告掲載オーダーに関連付けられた収益予算を持つ取引ライン アイテムを持つことはできません。 ただし、予算タイプが "flexible" の広告掲載オーダーには、インプレッション予算タイプまたは収益予算タイプのいずれかの取引ライン アイテムを含めることができます。 |
pacing |
必須 |
手順 4: PG 取引を作成する
PG 取引品目に関連付ける取引を作成する必要があります。
取引を作成するには、次の手順を実行します (詳細については、「 取引サービス」を参照してください)。
取引 JSON の作成:
$ cat deal.json { "deal": { "name": "Deal Line Item Example Deal", "buyer": { "id": 2379 }, "version": 2 } }この取引 JSON と適切な
member_idを使用して、https://api.appnexus.com/deal エンドポイントにPOST要求を行います。curl -b cookies -c cookies -X POST -d @deal.json 'https://api.appnexus.com/deal?member_id=2378'要求の応答本文を確認します。 要求が成功した場合は、"
OK" の "status" が表示され、行った更新が表示されます。手順 6 - 取引品目の作成で取引品目を作成するときに使用できるように、応答本文の取引 ID をメモします。
取引の JSON フィールド
| フィールド | 種類 | 必須またはオプション | 説明 |
|---|---|---|---|
name |
string | 必須 | 取引の名前。 (注: 購入者にはこの名前が表示されます。) |
active |
ブール型 | 省略可能 | 広告掲載オーダーの状態 ( true または false)。 このフィールドの既定値は true です。 |
buyer |
object |
buyer_seats フィールドを使用しない場合は必須 |
購入入札者およびこの取引をターゲットにできるメンバー。 取引では、 buyer フィールドまたは buyer_seats フィールドのみが使用され、両方は使用されません。 詳細については、 ディール サービスの「買い手」セクションを参照してください。メモ: PG 取引の購入者は 1 人しかいません。 警告: buyer フィールドは廃止される予定です。 今後、 "buyer_seats" フィールドまたは "buyer_members" フィールドを使用する前に備えておきます。 |
buyer_seats |
object |
buyer フィールドを使用しない場合は必須 |
この取引をターゲットにできる購入入札者およびシート。 取引では、購入者フィールドまたは buyer_seats フィールドのみが使用され、両方は使用されません。 詳細については、 取引サービスの「購入者シート」セクションを参照してください。 |
version |
int | 必須 | このフィールドは "2" に設定する必要があります。 |
auction_type |
object | 必須 | このオブジェクトのフィールドは、PG 取引に応じて設定する必要があります。 - "id":
3
- "name":
"Fixed Price"
メモ: このフィールドは作成時に設定する必要がありますが、取引明細行品目では使用されません。 明細行品目が更新されてオークションに上がった場合は更新されません。品目の値のみが考慮されます。 |
type |
object | 必須 | このオブジェクトのフィールドは、PG 取引に応じて設定する必要があります。 - "id":
4
- "name":
"Programmatic Guaranteed"
|
ask_price |
double | 必須 | これは購入者に表示される価格です。 これは、在庫をめぐって競争するために最低限の入札額です。 |
currency |
列挙 | 必須 |
floor_priceの通貨。 使用可能な通貨の完全な一覧については、読み取り専用の Currency Service を使用してください。 このフィールドの既定値は "USD" です。 |
use_deal_floor |
ブール型 | 必須 | このフィールドは true に設定する必要があります。 このフィールドが true に設定されている場合、 floor_price が取引に適用されます。
use_deal_floorがtrueの場合、取引の下限価格は、プレースメントや収益管理プロファイルなどにある他の下限価格を上書きします。メモ: 2017年現在、 ask_price のみ使用されています。
floor_price と use_deal_floor を参照する API POSTと PUT 呼び出しは、次のように動作します。- API 呼び出しに ask_price のみが含まれている場合は、これが使用される値です。- API 呼び出しに floor_price 値のみが含まれている場合、この値は ask_price 値に変換されます。 |
priority |
int | 省略可能 | 優先度の設定はオプションです。ただし、明細行品目で指定されている場合は、取引オブジェクトにも同じ値を設定する必要があります。 取引と対応する明細行品目に割り当てられる優先度の値は同じである必要があります。 使用可能な値: 1 から 20 (最も高い優先度は 20)。 既定値: 5。 注: この設定だけでは、PG 取引の優先順位は決まりません。明 細行品目を作成するときにも、優先度を適切に設定する必要があります。 |
便利なオプションの JSON フィールド
許可されているクリエイティブの JSON フィールド
ブランド ( 「ブランド サービス」を参照)
| フィールド | 種類 | 説明 |
|---|---|---|
brand_restrict |
ブール値 |
-
true: セールは、リストされているブランドのみに制限されています。- false: 他のブランドも提供できます。 |
brands |
オブジェクトの配列 | 対象となるブランドの配列。 |
id |
int |
brands内のフィールド: 取引の対象となるブランドの ID。 |
name |
string |
brands内のフィールド: 取引の対象となるブランドの名前。 |
override |
ブール値 |
brands内のフィールド: true に設定すると、広告品質プロファイルでブロックされている場合でも、特定のブランドが取引に提供されます。 |
ブランドの例
"brand_restrict": true,
"brands": [
{
"id": 2,
"name": "1800Flowers",
"override": true
},
{
"id": 4,
"name": "Acura",
"override": false
}
]
言語 ( 「言語サービス」を参照)
| フィールド | 種類 | 説明 |
|---|---|---|
language_restrict |
ブール値 |
-
true: 取引は、リストされている言語にのみ制限されています。- false: 他の言語での配信が許可されています。 |
languages |
オブジェクトの配列 | 対象言語の配列。 |
id |
int |
languages内のフィールド: 取引の対象となる言語の ID。 |
name |
string |
languages内のフィールド: 取引の対象となる言語の名前。 |
override |
ブール値 |
languages内のフィールド: true に設定すると、広告品質プロファイルでブロックされた場合でも、特定の言語を案件に提供できます。 |
言語の例
"language_restrict": true,
"languages": [
{
"id": 1,
"name": "English",
"override": false
},
{
"id": 2,
"name": "Chinese",
"override": true
}
]
信頼レベル
| フィールド | 種類 | 説明 |
|---|---|---|
audit_status_option |
string | 取引でクリエイティブを処理する方法を指定します。 - max_trust: 最大 - この取引に広告プロファイルの制限は適用されません。- provisional: 保留中のクリエイティブを許可する - "pending" 監査状態のクリエイティブが機能します。 これらのクリエイティブが監査されると、既存の広告品質設定が使用されます。- none: 既定 - クリエイティブは既存の広告品質設定を使用します。 |
信頼レベルの例
"audit_status_option": "max_trust"
クリエイティブ カテゴリ
| フィールド | 種類 | 説明 |
|---|---|---|
category_restrict |
ブール値 | 取引をカテゴリ オブジェクトにリストされているカテゴリのみに制限するかどうかを指定します ( 「取引サービス」を参照)。 - true: 取引は、一覧表示されているカテゴリのみに制限されます。- false: 他のカテゴリも配信できます。 |
categories |
オブジェクトの配列 | 取引の対象となるクリエイティブを表すカテゴリ。 |
id |
int |
categories内のフィールド: 取引の対象となるカテゴリの ID。 |
name |
string |
categories内のフィールド: 取引の対象となるカテゴリの名前。 |
override |
ブール値 |
categories内のフィールド: true に設定すると、広告品質プロファイルによってブロックされた場合でも、カテゴリが取引に提供されます。 |
クリエイティブ カテゴリの例
"categories": [
{
"id": 1,
"name": "Airlines",
"override": false
},
{
"id": 2,
"name": "Apparel",
"override": true
}
],
"category_restrict": true
特定のクリエイティブ
| フィールド | 種類 | 説明 |
|---|---|---|
creatives |
オブジェクトの配列 | 取引に対して特に承認または禁止されているクリエイティブのリスト。 このリストは、他の広告品質設定を上書きします。 |
id |
int |
creatives内のフィールド: 取引で承認または禁止されたクリエイティブの ID。 |
status |
string |
creatives内のフィールド: このクリエイティブの案件での処理方法を指定します。- approved: このクリエイティブは、他の広告品質設定やオーバーライドに関係なく、常にこの取引で機能します。- banned: このクリエイティブは、他の広告品質設定やオーバーライドに関係なく、この取引では絶対に配信できません。 |
特定のクリエイティブの例
"creatives": [
{
"id": 161501729,
"status": "banned"
},
{
"id": 161501882,
"status": "approved"
}
]
Media Type ( 「Media Subtype Service 」および 「Media Type Service」を参照)
| フィールド | 種類 | 説明 |
|---|---|---|
allowed_media_subtypes |
オブジェクトの配列 | 取引で許可されているメディア サブタイプ。 |
id |
int |
allowed_media_subtypes内のフィールド: 取引に許可されているメディア サブタイプの ID。 |
allowed_media_types |
オブジェクトの配列 | 取引に許可されているメディアの種類。 |
id |
int |
allowed_media_types内のフィールド: 取引に許可されているメディア タイプの ID。 |
メディア タイプの例
"allowed_media_subtypes": [
{
"id": 2,
"last_modified": "2015-09-17 19:19:21",
"media_type": {
"id": 2,
"media_type_group_id": 2,
"name": "Pop",
"uses_sizes": "sometimes"
},
"name": "Popup",
"native_assets": null,
"permitted_sizes": null
}
],
"allowed_media_types": [
{
"id": 1,
"last_modified": "2012-03-16 21:36:10",
"media_type_group_id": 1,
"name": "Banner",
"uses_sizes": "always"
},
{
"id": 4,
"last_modified": "2016-08-22 16:23:12",
"media_type_group_id": 1,
"name": "Video",
"uses_sizes": "never"
}
]
技術属性 ( 「技術属性サービス」を参照)
| フィールド | 種類 | 説明 |
|---|---|---|
technical_attribute_restrict |
ブール値 | 取引を technical_attributes オブジェクトにリストされている技術属性のみに制限するかどうかを指定します。- true: 取引は、一覧表示されている技術属性のみに制限されます。- false: その他の技術属性も提供できます。 |
technical_attributes |
オブジェクトの配列 | 取引の対象となるクリエイティブの技術属性。 |
id |
int |
technical_attributes内のフィールド: 取引の対象となる技術属性の ID。 |
override |
ブール値 |
technical_attributes内のフィールド: [true] に設定すると、広告品質プロファイルによってブロックされる場合でも、技術属性を取引に提供できます。 |
技術属性の例
"technical_attribute_restrict": false,
"technical_attributes": [
{
"id": 1,
"name": "Image",
"override": true
}
]
取引データ保護用の JSON フィールド ( Visibility プロファイル サービスを参照)
警告
このベータ版機能は、すべてのクライアントで利用できるわけではありません。 ユース ケースがある場合は、担当のアカウント マネージャーにお問い合わせください。
ユーザー ID とデバイス ID
| フィールド | 種類 | 説明 |
|---|---|---|
expose_device_id_default |
ブール値 |
trueの場合は、パブリッシャーが指定したデバイス ID が入札要求で渡されます。 |
expose_user_id_default |
ブール値 |
trueの場合は、パブリッシャーが指定したユーザー ID が入札要求で渡されます。 |
name |
string | 表示プロファイルの名前。 |
ユーザー ID とデバイス ID を保護する例
手順 1: 表示範囲プロファイルを作成する
> cat visibility_profile.json
{
"visibility-profile": {
"expose_device_id_default": false,
"expose_user_id_default": false,
"name": "Deal Visibility Profile"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
手順 2: 可視性プロファイルを取引に関連付け、データ保護を有効にする
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
IP アドレス
| フィールド | 種類 | 説明 |
|---|---|---|
expose_ip_default |
ブール値 |
trueの場合、パブリッシャーが指定した IP アドレスが入札要求で渡されます。 |
ip_exposure_default |
列挙 | 入札要求での IP アドレスの表示。 |
name |
string | 表示プロファイルの名前。 |
IP アドレスを保護する例
手順 1: 表示範囲プロファイルを作成する
> cat visibility_profile.json
{
"visibility-profile": {
"expose_ip_default": false,
"ip_exposure_default": "truncated",
"name": "Deal Visibility Profile - Hidden"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
手順 2: 可視性プロファイルを取引に関連付け、データ保護を有効にする
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
URL
| フィールド | 種類 | 説明 |
|---|---|---|
url_exposure_default |
列挙 | 入札要求でのインベントリ URL の表示状態。 使用可能な値: - full: 入札要求で完全な URL が渡されます。- domain: 入札要求では URL のドメインのみが渡されます。- hidden: URL は入札要求で渡されません。 |
ドメインの保護の例
手順 1: 表示範囲プロファイルを作成する
> cat visibility_profile.json
{
"visibility-profile": {
"name": "Deal Visibility Profile - Hidden",
"url_exposure_default": "hidden"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
手順 2: 可視性プロファイルを取引に関連付け、データ保護を有効にする
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
セグメントに追加 ( ディール サービスを参照)
| フィールド | 種類 | 説明 |
|---|---|---|
allow_creative_add_on_view |
ブール値 |
falseを設定して、購入者が表示中のセグメントにユーザーを追加できないようにします。 |
allow_creative_add_on_click |
ブール値 | 購入者がクリック時にユーザーをセグメントに追加できないように false を設定します。 |
クリック時または表示時のセグメントへの追加を禁止する例の例
> cat add_segment.json
{
"deal": {
"allow_creative_add_on_click": false,
"allow_creative_add_on_view": false
}
}
> curl -b cookies -c cookies -X PUT -d @add_segment.json 'https://api.appnexus.com/deal?id=123456'
手順 5: 取引ライン アイテム プロファイルを作成する
次に、取引品目のターゲティングに使用する取引品目プロファイルを作成します。 後で使用できるように、このプロファイルの ID を必ずメモしておいてください。 詳細については、「 プロファイル サービス」を参照してください。
PG 取引ライン アイテム プロファイルを作成するには、次の手順を実行します (詳細については、「 プロファイル サービス」を参照してください)。
PG 取引ライン アイテム プロファイル JSON の作成:
例: 国、頻度/最新期間の上限、表示率/完了率のしきい値を含むプロファイルの作成
$ cat profile.json { "profile": { "country_action": "include", "country_targets": [{ "active": true, "code": "US", "id": 233, "name": "United States" }], "engagement_rate_targets": [{ "engagement_rate_pct": 25, "engagement_rate_type": "video_completion" }, { "engagement_rate_pct": 50, "engagement_rate_type": "predicted_iab_video_view_rate" } ], "max_day_imps": 10, "min_minutes_per_imp": 300 } }例: ターゲティングなしのプロフィール作成
> cat profile.json { "profile": { } }この取引プロファイル JSON と適切な
advertiser_idを使用して、https://api.appnexus.com/profile エンドポイントにPOST要求を行います。例: 国、頻度/最新期間の上限、表示率/完了率のしきい値を含むプロファイルの作成
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'例: ターゲティングなしのプロフィール作成
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'要求の応答本文を確認します。 要求が成功した場合は、"
OK" の "status" が表示され、行った更新が表示されます。手順 6 - PG 取引品目の作成で PG 取引品目を作成するときに使用できるように、応答本文のプロファイル ID をメモします。
取引ライン アイテム プロファイルのオプションの JSON フィールド
取引ライン アイテム プロファイルには、取引ライン アイテムでターゲットを設定するために使用できるオプション フィールドが多数あります。 たとえば、インベントリ、インベントリの種類、許可リスト、ブロックリスト、デバイスの種類などに関連するプロパティをターゲットにすることができます。 使用可能なフィールドについて詳しくは、 プロファイルサービスを参照してください。
手順 6: PG 取引品目を作成する
最後に、取引明細項目を作成して、取引 ID と 「手順 5 - PG 取引明細項目プロファイルの作成」で作成した取引明細項目プロファイルを関連付ける必要があります。
PG 取引明細品を作成するには、次の手順を実行します (詳細については、「 明細品サービス」を参照してください)。
取引広告申込情報 JSON を作成します (既存の広告主 ID、広告掲載オーダー ID、取引 ID、プロフィール ID が必要です)。
JSON の例: 予算のない PG 取引ライン アイテム
> cat deal_line_item.json { "line-item": { "ad_types": ["banner"], "auction_event": { "kpi_auction_type_id": 1, "payment_auction_type_id": 1, "revenue_auction_type_id": 1 }, "bid_object_type": "deal", "budget_intervals": [{ "start_date": "2022-08-11 12:00:00" }], "deals": [{ "id": 618159 }], "insertion_orders": [{ "id": 1363850 }], "line_item_type": "standard_v2", "name": "Deal Line Item Example Line Item", "revenue_type": "cpm", "revenue_value": "5", "supply_strategies": { "managed": true, "rtb": false, "programmatic_guaranteed": false }, "profile_id": 112548354, "valuation": { "min_revenue_value": null } } }JSON の例: PG 取引ライン アイテムの有効期間のインプレッション予算
> cat deal_line_item_lifetime.json { "line-item": { "ad_types": ["banner"], "auction_event": { "kpi_auction_type_id": 1, "payment_auction_type_id": 1, "revenue_auction_type_id": 1 }, "bid_object_type": "deal", "budget_intervals": [ { "end_date": "2022-10-18 23:59:59", "lifetime_budget_imps": 2586, "start_date": "2022-10-11 12:00:00", "timezone": "US/Pacific" } ], "deals": [{ "id": 618159 }], "insertion_orders": [{ "id": 1363850 }], "line_item_type": "standard_v2", "name": "Deal Line Item Example Line Item", "revenue_type": "cpm", "revenue_value": "5", "supply_strategies": { "managed": true, "rtb": false, "programmatic_guaranteed": false }, "profile_id": 112548354, "valuation": { "min_revenue_value": null } } }この取引ライン アイテム JSON と適切な
advertiser_idとmember_idを使用して、https://api.appnexus.com/line-item エンドポイントにPOST要求を行います。要求の例: 取引ライン アイテムに予算がない
> curl -b cookies -c cookies -X POST -d @deal_line_item.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'要求の例: 取引ライン アイテムの有効期間のインプレッション予算
> curl -b cookies -c cookies -X POST -d @deal_line_item_lifetime.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'要求の例: 取引ライン アイテムの 1 日あたりの収益予算
> curl -b cookies -c cookies -X POST -d @deal_line_item_daily.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'要求の応答本文を確認します。 要求が成功した場合は、"
OK" の "status" が表示され、行った更新が表示されます。応答本文のライン アイテム ID をメモして、後でこの取引ライン アイテムを特定して、その
state(activeまたはinactive) を変更したり変更したりできるようにします。
取引ライン アイテムの JSON フィールド
| フィールド | 種類 | 必須またはオプション | 説明 |
|---|---|---|---|
advertiser_id |
int | 必須 | 広告申込情報が属する広告主の ID。 |
insertion_orders |
配列 | 必須 | この取引品目を関連付ける広告掲載オーダー ID を含む配列。 メモ: PG 取引品目では、1 つの広告掲載オーダーのみを使用できます。 |
name |
string | 必須 | 取引品目の名前 (注: 購入者には表示されません) |
state |
列挙 | 必須 | PG 取引品目の状態。 既定値は active なので、すぐに取引を有効にしたくない場合は inactive に設定します。 |
priority |
int | 必須 | PG 取引の優先順位を設定します。 この優先度の値は、フィールド deprioritize_rtb と組み合わせて、PG 取引がオープンまたはプライベートのどちらとしてオークションにかけられるかを決定します。 オープン PG 取引を作成するには、メンバーの再販優先度の下に優先度を設定します。 プライベート PG 取引を作成するには、メンバー ID が GDALI (広告サーバー クライアント) も作成している場合は、メンバーのリセラー優先度よりも低い優先度を設定します。または、メンバー ID が GDALI (SSP クライアント) を作成していない場合は、メンバーの再販優先度以上に優先度を設定します。 |
deprioritize_rtb |
ブール値 | 必須 |
true に設定すると、PG 取引は非公開と見なされ、オープン取引やオープン RTB 入札よりも常に優先されます。 false に設定すると、PG 取引はオープンと見なされ、同じ優先度でオープン RTB 入札のオープン取引と価格で競合します。 詳細については、 取引のオークション ロジック を確認してください。 |
ad_types |
配列 | 必須 | この取引品目に使用されているクリエイティブのタイプ。 使用可能な値:"banner"メモ: 現在、バナー (ディスプレイ) クリエイティブは、SSP (サードパーティの広告サーバーのターゲット設定とペーシング) の PG 取引にのみ使用できます。 |
line_item_type |
列挙 | 必須 | PG 取引明細行品目を作成するには、 "standard_v2" に設定する必要があります。 |
profile_id |
int | 必須 | 取引ライン アイテムに関連付けられているプロファイル ID (手順 5 - 取引ライン アイテム プロファイルを作成する)。 |
budget_intervals |
オブジェクトの配列 | 必須 | 常に start_dateを含めます。 無限の PG 取引品目については、end_datenullとしておきます。 予算間隔の配列設定 の例 を次に示します。 |
deals |
オブジェクトの配列 | 必須 | 取引内の id フィールドは、 手順 4 - 取引の作成で作成した取引の ID である必要があります。メモ: 挿入できる PG 取引 ID は 1 つだけです。 |
supply_strategies |
object | 必須 | ターゲットにする在庫供給ソースを指定するために使用されるいくつかのブール型フィールドを含むオブジェクト。 このオブジェクトには、PG 取引に対して次のフィールドと値が設定されている必要があります。 - "managed": true- "rtb": false- "deals": false- "programmatic_guaranteed": false |
revenue_type |
列挙 | 必須 | PG 取引の場合は、このフィールドを "cpm" に設定します。 |
revenue_value |
double | 必須 | PG 取引の場合は、このフィールドを "5" に設定します。 |
auction_event |
object | 必須 | PG 取引の場合、 auction_event オブジェクトのフィールドと値は 次のように設定する必要があります。 |
valuation |
object | 必須 | PG 取引の場合、このオブジェクトの min_revenue_value を null に設定する必要があります。 |
bid_object_type |
列挙 | 必須 | PG 取引品目の場合は "deal" に設定する必要があります。 |
delivery_goal |
列挙 | 必須 | PG 取引の場合は、このフィールドを null に設定します。 |
delivery_model_type |
列挙 | 必須 | このフィールドの値を "guaranteed" に設定します。 |
line_item_subtype |
列挙 | 必須 | このフィールドの値を "pg_deal_imp" に設定します。 |
budget_intervals 例文
"budget_intervals": [
{
"id": 18770835,
"object_id": 18601984,
"object_type": "campaign_group",
"start_date": "2022-08-08 00:00:00",
"end_date": "2022-08-17 23:59:59",
"timezone": "Europe/Paris",
"code": null,
"parent_interval_id": null,
"creatives": null,
"subflights": null,
"lifetime_budget": null,
"lifetime_budget_imps": 100,
"lifetime_pacing": false,
"enable_pacing": true,
"daily_budget_imps": null,
"lifetime_pacing_pct": 105,
"daily_budget": null,
"daily_budget_imps_opt": null,
"daily_budget_opt": null,
"underspend_rollover_state": false
}
]
auction_event 例文
"auction_event": {
"payment_auction_event_type_code": "impression",
"payment_auction_event_type": "impression",
"payment_auction_type_id": 1,
"revenue_auction_event_type_code": "impression",
"revenue_auction_event_type": "impression",
"revenue_auction_type_id": 1,
"kpi_auction_event_type_code": "impression",
"kpi_auction_event_type": "impression",
"kpi_auction_type_id": 1,
"kpi_value_type": null,
"kpi_value": null
}
取引ライン アイテムの便利なオプションの JSON フィールド
| フィールド | 種類 | 説明 |
|---|---|---|
budget_intervals |
オブジェクトの配列 |
daily_budget、daily_budget_imps、lifetime_budget、lifetime_budget_imps などのbudget_intervals内のフィールドを使用して、取引の予算を設定します。 取引ライン アイテムに収益予算タイプがある場合は imp のないフィールドを使用し、取引ライン アイテムに収益タイプのインプレッションがある場合は、末尾に _imp のフィールドを使用します。 1 日あたりの予算または生涯予算のどちらかを設定できます。両方は設定できません。 フライト間で保持される有効期間予算は、最終的に API を介して各フライト間で分割されます。 取引に終了日が設定されていない場合、予算を設定できないことに注意してください。 |