次の方法で共有


プログラムによる保証付き取引の Microsoft 収益化広告サーバー

Microsoft 収益化 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 Service
https://api.appnexus.com/profile profile Profile Service
https://api.appnexus.com/line-item line-item (ALI) 明細 - ALI サービス

このガイドでは、すべての要求に cURL の例を使用します。 他の API 要求ツール ( Postman など) を使用できますが、それに応じて例を調整する必要があります。

前提条件

このセットアップを開始する前に、「 API の概要」を必ずお読みください。 テスト環境、使用制約、API セマンティクス (コマンドの実行、フィルター処理、並べ替えなど)、ベスト プラクティスに関する情報を提供します。

操作の順序

API オブジェクトは、多くの場合、他の API オブジェクトに依存しており、PG 取引を作成するときにオブジェクトの作成またはアクセスに従う必要がある順序があります。 たとえば、 advertiserinsertion-orderdealprofileの API オブジェクトの ID を指定する必要があります。 これらのオブジェクトの ID を取得するには、ID を作成するか、既にアクセスする必要があります。 このガイドの手順は、PG 取引を作成するために必要な一般的な操作順序に従います。

ベスト プラクティス

API を操作するときに従うベスト プラクティスの一般的な一覧については、「 API のベスト プラクティス」を参照してください。 取引明細の設定に固有のベスト プラクティスを次に示します。

  • 明細が完全に構成され、テストの準備が整うまで、取引明細の state フィールドを "inactive" に設定します。
  • 作成するオブジェクトの ID をメモします。 作成したオブジェクトの ID は、要求の応答本文で返されます。 多くの場合、これらの ID は後で必要になるため、返されたときに ID をコピーすると、取得するために行う必要がある追加の GET 要求の数を減らすことができます。

セットアップ手順

次の手順では、一般的な構成で取引明細を設定するプロセスについて説明します。

手順 1: 承認トークンを取得する

まず、承認トークンを取得する必要があります。 その後、後続のすべての要求にこの承認トークンを含める必要があります。 詳細については、「 認証サービス」を参照してください。 承認トークンを取得するには、次の操作を行います。

  1. ユーザー名とパスワードを含む JSON ファイルを作成します。

    {
        "auth": {
            "username" : "USERNAME",
            "password" : "PASSWORD"
        }
    }
    
  2. 要求本文にこの JSON ファイルを使用して、/auth エンドポイントにPOST要求を行います。 詳細については、「 認証サービス」を参照してください。 以下の cURL 要求では、返される承認トークンは "cookies" ファイルに格納されます。

    curl -c cookies -X POST -d @authentication.json 'https://api.appnexus.com/auth'
    
  3. 要求の応答本文を確認します (後述の 応答例 を参照)。 要求が成功した場合は、"OK" の "status" が取得され、[token] フィールドに認証トークンの値が入力されます。
    応答の例

    {
       "response" : {
          "token" : "authn:225692:2d787d1838283:lax1",
          "status" : "OK"      
       }
    }
    

手順 2: 広告主を作成またはアクセスする

取引の広告申込情報を作成する広告主を作成またはアクセスする必要があります。 取引広告申込情報の場合、広告主は拡張広告申込情報と同じ方法で設定されます。

使用する広告主がまだない場合は、次の手順を実行して広告主を作成します (詳細については、「 広告主サービス」を参照してください)。

  1. 広告主の JSON を作成する:

    $ cat advertiser.json
    {
        "advertiser": {
            "name": "Deal Line Item Example Advertiser",
            "timezone": "US/Pacific"
        }
    }
    
  2. この広告主の 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'
    
  3. 要求の応答本文を確認します。 要求が成功した場合は、"OK" の "status" が表示され、行った更新が表示されます。

  4. 応答本文の広告主 ID をメモして、 手順 6 - 取引の広告申込情報を作成するで取引広告申込情報を作成するときに使用できるようにします。

広告主の JSON フィールド (必須および便利な省略可能なフィールド)

フィールド 種類 必須またはオプション 説明
name string 必須 広告主の名前
timezone 列挙 省略可能 広告主のタイムゾーン。 詳細と受け入れられる値については、「 API タイムゾーン」を参照してください。
use_insertion_orders ブール値 必須 取引明細を作成するには、このフィールドを true に設定する必要があります。

手順 3: PG の挿入順序を作成またはアクセスする

PG 取引を作成するには、挿入順序を作成またはアクセスする必要があります。 取引明細にはシームレスな挿入順序が必要です (以下の必須フィールドを参照)。

使用する挿入順序がまだない場合は、次の手順を実行して挿入順序を作成します (詳細については、「 挿入順序サービス」を参照してください)。

  1. 挿入順序 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"
        }
    }
    
  2. この挿入順序 JSON と適切なadvertiser_idmember_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'
    
  3. 要求の応答本文を確認します。 要求が成功した場合は、"OK" の "status" が表示され、行った更新が表示されます。

  4. 手順 6 - 取引明細を作成するで PG 取引明細を作成するときに使用できるように、応答本文の挿入順序 ID をメモします。

シームレスな挿入順序の 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 取引明細に関連付ける取引を作成する必要があります。

取引を作成するには、次の操作を行います (詳細については、「 Deal Service」を参照してください)。

  1. 取引 JSON を作成します。

    $ cat deal.json
    {
        "deal": {
            "name": "Deal Line Item Example Deal",
            "buyer": {
                "id": 2379
            },
            "version": 2
        }
    }
    
  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'
    
  3. 要求の応答本文を確認します。 要求が成功した場合は、"OK" の "status" が表示され、行った更新が表示されます。

  4. 手順 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の通貨。 使用可能な通貨の完全な一覧については、読み取り専用 通貨サービスを使用します。 このフィールドの既定値は "USD"です。
use_deal_floor ブール型 必須 このフィールドは、 trueに設定する必要があります。 このフィールドを trueに設定すると、取引に floor_price が適用されます。 use_deal_floortrueされると、案件のフロア価格は、配置や収益管理プロファイルなど、他のフロアよりも優先されます。

手記: 2017 年の時点では、 ask_price のみが使用されています。 floor_priceuse_deal_floorを参照する API POST呼び出しとPUT呼び出しは、次のように機能します。
- API 呼び出しに ask_price のみが含まれている場合、これは使用される値です。
- API 呼び出しに floor_price 値のみが含まれている場合、この値は ask_price 値に変換されます。
便利な省略可能な 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 ブール値 取引が categories オブジェクトにリストされているカテゴリのみに制限されるかどうかを指定します ( 「Deal Service」を参照)。
- 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"
                }
            ]

メディアタイプ ( メディアサブタイプサービス および メディアタイプサービスを参照)

フィールド 種類 説明
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 フィールド ( 可視性プロファイル サービスを参照)

警告

このベータ機能は、すべてのクライアントで使用できるわけではありません。 ユース ケースがあるかどうかを説明するには、アカウント マネージャーに問い合わせてください。

ユーザー 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'

セグメントに追加する ( Deal Service を参照)

フィールド 種類 説明
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 取引明細プロファイルを作成するには、次の操作を行います (詳細については、「 プロファイル サービス」を参照してください)。

  1. 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": {
        }
    }
    
  2. この取引プロファイル 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'
    
  3. 要求の応答本文を確認します。 要求が成功した場合は、"OK" の "status" が表示され、行った更新が表示されます。

  4. 手順 6 - PG 取引明細を作成するで PG 取引明細を作成するときに使用できるように、応答本文のプロファイル ID をメモします。

取引明細プロファイルのオプションの JSON フィールド

取引明細プロファイルには、取引明細を対象とする多くのオプション フィールドがあります。 たとえば、インベントリ、インベントリの種類、許可リスト、ブロックリスト、デバイスの種類などに関連付けられているプロパティをターゲットにすることができます。 使用可能なフィールドの詳細については、 プロファイル サービスに関するページを参照してください。

手順 6: PG 取引明細を作成する

最後に、取引 ID と、「手順 5 - PG 取引明細プロファイルを作成する」で作成した取引明細プロファイルを関連付けるために 、取引明細を作成する必要があります

PG 取引明細を作成するには、次の操作を行います (詳細については、「 明細サービス」を参照してください)。

  1. 取引広告申込情報 JSON を作成します (既存の広告主 ID、挿入注文 ID、取引 ID、プロファイル ID が必要です)。

    JSON の例: 予算のない PG Deal Line Item

    > 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
            }
        }
    }
    
  2. この取引行項目 JSON と適切なadvertiser_idmember_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'
    

    要求の例: 取引明細の日次収益予算

    > 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'
    
  3. 要求の応答本文を確認します。 要求が成功した場合は、"OK" の "status" が表示され、行った更新が表示されます。

  4. 応答本文の明細 ID をメモして、後でこの取引明細項目を識別して、その state (active または inactive) を変更したりすることができます。

取引明細の JSON フィールド

フィールド 種類 必須またはオプション 説明
advertiser_id int 必須 広告申込情報が属する広告主の ID。
insertion_orders 配列 必須 この取引明細を関連付ける挿入順序 ID を含む配列。

手記: PG 取引明細では、1 つの挿入順序のみを使用できます。
name string 必須 取引明細項目の名前 (注: 購入者はこれを表示しません)
state 列挙 必須 PG 取引明細の状態。 既定値は activeであるため、取引をすぐに公開したくない場合は、 inactive に設定します。
priority int 必須 このフィールドの値を PG 取引の "5" に設定します。
ad_types 配列 必須 この取引広告申込情報に使用されるクリエイティブの種類。 使用可能な値:
"banner"

手記: 現時点では、SSP (サード パーティの広告サーバーのターゲット設定とペーシング) に対して PG のお得な情報にバナー (ディスプレイ) クリエイティブのみを使用できます。
line_item_type 列挙 必須 PG 取引明細を作成するには、 "standard_v2" に設定する必要があります。
profile_id int 必須 取引明細に関連付けられたプロファイル ID (手順 5 - 取引明細プロファイルを作成する)。
budget_intervals オブジェクトの配列 必須 常に start_dateを含めます。 無限のPG取引明細のnullとしてend_dateのままにします。
予算間隔配列の設定の例を次に します。
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 必須 このオブジェクトの min_revenue_value を PG 取引の null に設定する必要があります。
bid_object_type 列挙 必須 PG 取引明細の "deal" に設定する必要があります。
delivery_goal 列挙 必須 PG 取引の場合は、このフィールドを null に設定します。
delivery_model_type 列挙 必須 このフィールドの値を "guaranteed" に設定します。
line_item_subtype 列挙 必須 このフィールドの値を "pg_deal_3p_pacing" に設定します。
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_budgetdaily_budget_impslifetime_budgetlifetime_budget_impsなど、budget_intervals内のフィールドを使用して、取引に予算を設定します。 案件の広告申込情報に収益予算タイプがある場合はフィールドを使用し、取引明細に収益タイプのインプレッションがある場合は最後に _imp フィールドを使用します。 両方ではなく、1 日または一生の予算を使用できます。 フライト間に配置される有効期間の予算は、API を介して各フライトで分割されます。 取引に終了日がない場合は、予算を設定できないことに注意してください。