入札者を統合する
このページでは、入札者と Xandr を統合する方法について説明します。 統合のさまざまな "レイヤー" の概要から始まり、テスト環境ですばやく起動して実行できる単純な統合の (実際の API 呼び出しを使用して) 作業した例で終わります。 また、Wiki の他の場所の詳細情報へのリンクも提供しています。
システムの概要
大まかに言うと、入札者のセットアップ時に関係する必要があるシステムには、次の 2 つの "レイヤー" があります。
Real-Time レイヤー (RTB): これは、入札者がリアルタイムオークションに参加するアクションの中心です。
当社のサーバーは、Web ページ (または SSP パートナー) から入札要求を受け取り、入札者に送信する準備としてフォーマットします。
bidder インスタンス (および bidder オブジェクト) の設定を使用して、要求をサーバーに送信します。
- 要求がヒットするエンドポイントは、要求の種類によって異なります。
構成レイヤー (API): これは、インプレッションに対して入札できるように、入札者の "ビジネス ロジック" を構成する場所です。つまり、不要なインプレッションを除外したり、ユーザーを設定したり、メンバーが配信したいクリエイティブを追加したりします。
オブジェクト階層に関する注意
プラットフォーム オブジェクトが相互にどのように関連しているかを理解することが重要です。 オブジェクト階層の概要を次に示します。
入札者、メンバー、シート
- Bidders は、購入側階層で最も高いオブジェクトです。 これは、Microsoft プラットフォームでのエンティティのプレゼンスを表します。
- その下にはメンバーがいます。 以前は 1 対多のリレーションシップでした。入札者には複数のメンバー ブレークアウトが存在する可能性があります。
- これはもはや当てはめなくなりました。 追加のメンバー ブレークアウトはサポートされなくなったため、1 対 1 になりました。
- 1 つのメンバーと統合されます。これは"既定のメンバー" と参照されます。
- メンバーは、インプレッション バスを通じて購入 (または販売) する契約契約を結んでいるエンティティと見なされます (詳細については、 メンバー サービスを参照してください)。
- クリエイティブは、入札者ではなく、既定のメンバーに関連付けられます。
- 入札者自身がメンバーではなく、メンバーのテクノロジ プロバイダーです。
- bidder は、Xandr との接続を設定する場所です (受信する要求の種類、エンドポイントなど)。
- メンバーは、クリエイティブなどのキャンペーン関連のオブジェクトを設定する場所です。
- 入札者は、私たちのUIに統合されています。 インプレッション バスは、入札者をアグリゲーター、広告交換、ネットワーク再販在庫など、さまざまな在庫ソースに接続します。
- シートは、オークションへの入札に使用できる内部エンティティであり、対応する内部 ID を使用してインプレッションを購入できます。
- 次の図は、この階層を示しています
- 前のメンバーブレークアウトでは、どの入札者のシートがどのブレークアウトメンバーに対応するかをマッピングしました。 これにより、入札者は内部 ID を 100% の時間で入札することができました。
- 1 人のメンバーとのみ統合され、購入者のシート入札と統合されるため、既定のメンバーは 1 つだけであり、シートメンバーのマッピングについて心配する必要はありません。
ユーザー
従来、入札者は自分の代わりに行動することも、複数のサードパーティメンバーを持つことができます。
メンバーは、第三者に代わって行動するかどうかに関係なく、少なくとも 1 人のユーザーを持っている必要があります (詳細については、「 ユーザー サービス」を参照してください)。
- メンバーには多数のユーザーを含めることができます。
入札者は、テクノロジ プロバイダーとしても、少なくとも 1 人のユーザーを持っています。
入札者のユーザーは、入札者プロファイルの調整、入札者インスタンスの追加などを行います。
メンバー ユーザーは、そのメンバーのクリエイティブをアップロードします。
入札者がメンバーと同じ法人であり、入札者が自身の代理としてのみ行動する場合でも、入札者は同じ方法でメンバーとは論理的に異なります。
入札者を設定する方法
このセクションでは、プラットフォームで入札者を設定するプロセス全体について説明します。 まず、パイプをフックするために必要な API 呼び出しを行います。
ヒント
API
ほとんどのクライアント テストは、運用 API で行われます。 また、オブジェクトの作成とワークフローの更新のテストを可能にするテスト環境 API もあります。
以下の呼び出しの例のほとんどは、運用環境の API 環境で行われます。
API で認証する
他の操作を行う前に、ログインする必要があります。 使用できる認証 json の例を次に示します。 運用環境とテスト環境の認証プロセスは同じです。 唯一の違いはエンドポイントです。
ヒント
API を使用した認証の詳細については、 認証サービスに関するページを参照してください。
認証 JSON の例
$ cat auth.json
{
"auth":
{
"username" : "rloveland",
"password" : "AppNexus1!"
}
}
運用 API に投稿して認証します。
運用 API での認証呼び出しの例
$ export IB="https://api.adnxs.com";
$ curl -b cookies -c cookies -X POST -d @auth.json $IB/auth
{ response": { "status": "OK", ... } }
同様に、テスト環境に投稿して認証します。
テスト API での認証呼び出しの例
$ export IB_TESTING="https://api-test.adnxs.com";
$ curl -b cookies -c cookies -X POST -d @auth.json $IB_TESTING/auth
{ response": { "status": "OK", ... } }
入札者オブジェクトを表示する
bidder オブジェクトは、システム内の入札者を表します。 そのため、入札者がプラットフォームと対話する方法を構成するために使用できる多くのフィールドがあります。 これは、構成の残りの多くをハングさせる中央の "フック" と考えてください。 Bidder オブジェクトは、Xandr 担当者によって既に作成されている必要があります。
次の例では、bidder オブジェクトを表示する呼び出しを行 GET
いますが、その詳細については説明しません。 bidder オブジェクトの詳細については、 Bidder サービスに関するページを参照してください。
呼び出しの例の展開
$ export IB="https://api.adnxs.com";
$ curl -b cookies $IB/bidder/123
{
"response": {
"bidder": {
"active": true,
"always_send_owned_segments": true,
"audit_notify_uri": null,
"bid_percent": 100,
"bid_uri": "/xandr/bid",
"child_profiles": null,
"click_uri": null,
"daily_budget": null,
"daily_budget_imps": null,
"default_currency": "USD",
"default_member": {
"id": 9876,
"name": "Example Bidder's Default Member Name"
},
"dongle": null,
"exclude_unowned": false,
"id": 123,
"last_activity": "2021-02-03 19:47:25",
"lifetime_budget": null,
"lifetime_budget_imps": null,
"max_allowed_profiles": 5,
"max_seats": 10000,
"name": "ExampleBidder",
"notify_full_auction": false,
"notify_uri": null,
"num_conns": 3,
"object_limit_notify_email": null,
"parent_profile_id": null,
"pixel_uri": null,
"protocol_id": 10,
"protocol_name": "openrtb2",
"ready_uri": "/status/ready",
"send_class_2": true,
"send_class_3": true,
"send_owned_blocklist": false,
"send_public_deals": false,
"send_unaudited": true,
"setuid_function": null,
"short_name": "examplebidder",
"supports_deal_buyers": "seats",
"userdata_entity_id": null,
"userdata_javascript": null,
"vendor_id": null
},
"count": 1,
"dbg": {
"output_term": "bidder",
"version": "1.0.5",
"warnings": [
]
},
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}
Bidder オブジェクトの構成
"Bidder" オブジェクトの次のフィールドでは、パスの前に IP アドレス/ホスト名を含めないようにしてください。
IP アドレス は、 統合プロセスの次の手順で "Bidder Instance" オブジェクトで個別に構成されます。
フィールド | 必須 | 説明 |
---|---|---|
bid_uri | 入札要求の宛先を指定するパス/ファイル名 (例: "/bidder") | |
ready_uri | 準備完了要求の宛先を指定するパス/ファイル名 (例: "/ready") | |
notify_uri | 通知要求の送信先を指定するパス/ファイル名 (例: "/notify") | |
pixel_uri | オプション | 宛先を指定するパス/ファイル名 |
click_uri | オプション | Click Requests の宛先を指定するパス/ファイル名 |
audit_notify_uri | オプション | 監査通知要求の宛先を指定するパス/ファイル名 (例: "https://examplebidder.com/audit_notify_endpoint") |
メンバー オブジェクトを表示する
入札者を通じて購入するメンバーが少なくとも 1 人必要です。 オンボード プロセスの一環として、Xandr の担当者によってメンバーを作成してもらう必要があります。 メンバーは、ユーザー セグメント、クリエイティブなど、"ビジネス ロジック" の大部分を構成する場所です。
ヒント
次の例では、メンバー オブジェクトを GET
表示するための呼び出しを行いますが、その詳細については説明しません。 表示されるフィールドの一部は非推奨になる場合があります。 現在サポートされているフィールドなど、メンバー オブジェクトの詳細については、 メンバー サービスに関するページを参照してください。
呼び出しの例の展開
$ export IB="https://api.adnxs.com";
$ curl -b $IB/member/1234
{
"response": {
"count": 1,
"dbg": {
"output_term": "member",
"version": "1.18.1651",
"warnings": [
]
},
"member": {
"account_owner_user": {
"first_name": "Peter",
"id": 123456,
"last_name": "Driver"
},
"active": true,
"active_contract": null,
"age_segment_id": null,
"agent_id": null,
"allow_ad_profile_override": true,
"allow_priority_audit": false,
"audit_notify_email": null,
"bidder_id": 1234,
"billing_address_1": null,
"billing_address_2": null,
"billing_city": null,
"billing_country": null,
"billing_name": "ExampleMemberName",
"billing_postal_code": null,
"billing_region": null,
"buyer_clearing_fee_pct": null,
"buyer_credit_limit": 2500,
"code": null,
"contact_email": null,
"contact_info": null,
"contracts": null,
"curation_deductions_allowed": false,
"daily_imps_self_audited": null,
"daily_imps_unaudited": null,
"daily_imps_verified": null,
"deal_visibility_profile_id": null,
"default_accept_data_provider_usersync": true,
"default_accept_demand_partner_usersync": true,
"default_accept_supply_partner_usersync": true,
"default_ad_profile_id": null,
"default_buyer_group_id": null,
"default_content_retrieval_timeout_ms": 0,
"default_creatives": null,
"default_enable_for_mediation": false,
"default_external_audit": false,
"default_tag_id": null,
"description": null,
"developer_id": null,
"domain_blocklist_email": null,
"dongle": null,
"email_code": null,
"enable_click_and_imp_trackers": false,
"enable_facebook": false,
"expose_eap_ecp_placement_settings": false,
"gender_segment_id": null,
"id": 1234,
"is_iash_compliant": false,
"last_activity": "2020-03-19 06:00:39",
"max_hosted_video_size": null,
"native_custom_keys": null,
"platform_exposure": "public",
"plugins_enabled": false,
"pops_enabled_UI": false,
"price_buckets": null,
"prioritize_margin": false,
"reporting_decimal_type": "decimal",
"seller_member_groups": null,
"seller_revshare_pct": null,
"serving_domain": null,
"sherlock_notify_email": null,
"short_name": null,
"tax_region_id": null,
"thirdparty_pixels": null,
"timezone": "EST5EDT",
"vendor_id": null,
"visibility_profile_id": null,
"xd_coop": false
},
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}
入札者プロファイルを作成する
この手順では、受信トラフィックを形成するのに役立つ入札者プロファイルのオプションを確認します。 入札者プロファイルは、API と 入札者 UI の両方を使用して更新できます。 これらのメインドキュメントは次のとおりです。
- API: 拡張入札者プロファイル
- Bidder UI: 新しい Bidder プロファイルを作成する
- 入札者 UI には、メトリックやレポートなど、他の多くのサービスが用意されています。 これらは次の場所にあります。
次の例では、ターゲット設定は次のように分類されます。
- Direct Exchange メンバーのみを含める
- 米国ベースのトラフィックのみを受け入れる
- すべてのサイズのバナー トラフィック
- Web トラフィック
- 不明なユーザーを許可する
Bidder プロファイルの JSON の例
$ cat create-bidder-profile-json
{
"bidder_profile": {
"active": true,
"bidder_id": 1234,
"description": "Example Bidder Profile",
"targeting": {
"ad_types": {
"audio": {
"action": "exclude"
},
"banner": {
"action": "include",
"sizes": [
]
},
"native": {
"action": "exclude"
},
"video": {
"action": "exclude"
}
},
"countries": {
"action": "include",
"targets": [
{
"active": true,
"code": "US",
"id": 233,
"name": "United States"
}
]
},
"exchanges": {
"action": "exclude",
"targets": [
{
"id": 2,
"name": "Connect"
},
{
"id": 3,
"name": "Network"
}
]
},
"supply_types": {
"action": "include",
"targets": [
"web"
]
}
},
"unknown_users_action": "include"
}
}
テスト プロファイル
- Xandr 統合エンジニアは、テスト用の入札者プロファイルを設定するのに役立ちます。
- このプロファイルは、テスト発行元から送信されるトラフィックを除くすべてのプラットフォーム トラフィックをブロックします
- テスト メンバーからのトラフィックにより、支出を気にすることなく、入札ストリームをシミュレートできます。
テスト クリエイティブを追加する
この手順では、クリエイティブを追加します。 このクリエイティブをアップロードしたら、適切な形式の入札応答で 入札リクエスト に返信するように 入札者を設定する必要があります。 入札応答には、 "crid"
クリエイティブの内部 ID に対応するフィールドまたはクリエイティブ "adid"
の Xandr ID である が含まれている必要があります。 これにより、統合が期待どおりに動作していることをテストします。
ヒント
さまざまな種類のクリエイティブ構成の詳細については、 クリエイティブ サービスに関するページを参照してください。
クリエイティブの設定に関するヒントについては、「 クイック スタート クリエイティブ購入ガイド」を参照してください。
- この例では、クリエイティブ オブジェクトのコンテンツ フィールドを使用した (非常に) 昔ながらの自動車デザインを示します。 標準のバナー raw-html テンプレートを使用します。
- クライアント テスト環境を使用してクリエイティブのアップロードをテストする方法の詳細については、以下の 「クライアント テスト環境の使用 」を参照してください。
注:
ステータス
"allow_audit"
フィールドと"allow_ssl_audit"
フィールドはそれぞれ にtrue
設定されています。- このフィールドは
"allow_audit"
、プラットフォームの人間監査のためにクリエイティブを送信します。 - クリエイティブが
"allow_ssl_audit"
安全なインベントリで配信できるかどうかを判断するために、自動スキャン用のクリエイティブが送信されます。
クリエイティブ JSON の例
$ cat add-creative.json
{
"creative": {
"width": 682,
"height": 488,
"landing_page_url": "https://en.wikipedia.org/wiki/Car",
"content": "document.write('<a href=\\\"https://en.wikipedia.org/wiki/Car\\\" target=\\\"_blank\\\">\\r\\n <img src=\\\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\\\" />\\r\\n</a>')",
"content_secure": "document.write('<a href=\\\"https://en.wikipedia.org/wiki/Car\\\" target=\\\"_blank\\\">\\r\\n <img src=\\\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\\\" />\\r\\n</a>')",
"template": {
"id": 6
},
"original_content": "<a href=\"https://en.wikipedia.org/wiki/Car\" target=\"_blank\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\" />\r\n</a>",
"original_content_secure": "<a href=\"https://en.wikipedia.org/wiki/Car\" target=\"_blank\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\" />\r\n</a>",
"click_action": "click-to-web",
"click_target": "https://en.wikipedia.org/wiki/Car",
"click_url": "https://en.wikipedia.org/wiki/Car",
"allow_ssl_audit": true,
"allow_audit": true
}
}
クリエイティブアップロードの例
$ export IB="https://api.adnxs.com";
$ curl -b cookies -X POST -d @add-creative.json $IB/creative/1234
{
"response": {
"count": 1,
"creative": {
"active": true,
"added_by_bidder": null,
"adservers": null,
"adx_audit": null,
"allow_audit": true,
"allow_ssl_audit": true,
"audit_feedback": null,
"audit_status": "pending",
"backup_upload_status": nul
"brand": {
"category_id": 0,
"id": 1,
"name": "Unknown"
},
"brand_id": 1,
"campaign": null,
"categories": null,
"click_action": "click-to-web",
"click_target": "https://en.wikipedia.org/wiki/Car",
"click_url": "https://en.wikipedia.org/wiki/Car",
"code": null,
"code2": null,
"content": "document.write('<a href=\\\"https://en.wikipedia.org/wiki/Car\\\" target=\\\"_blank\\\">\\r\\n <img src=\\\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\\\" />\\r\\n</a>')",
"content_secure": "document.write('<a href=\\\"https://en.wikipedia.org/wiki/Car\\\" target=\\\"_blank\\\">\\r\\n <img src=\\\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\\\" />\\r\\n</a>')",
"content_source": "standard",
"created_on": "2021-02-05 21:56:47",
"custom_request_template": null,
"description": null,
"facebook_audit_feedback": null,
"facebook_audit_status": null,
"file_name": null,
"flash_backup_url": null,
"flash_backup_url_secure": null,
"flash_click_variable": null,
"height": 488,
"id": 271833576,
"ios_ssl_audit": null,
"is_blanking": null,
"is_expired": false,
"is_hosted": false,
"is_prohibited": false,
"is_rotating": null,
"is_self_audited": false,
"is_suspicious": false,
"landing_page_url": "https://en.wikipedia.org/wiki/Car",
"language": {
"id": 1,
"name": "English"
},
"last_activity": "2021-02-05 21:56:47",
"last_checked": null,
"media_assets": null,
"media_url": null,
"media_url_secure": null,
"member_id": 1234,
"mobile": null,
"native_attribute": null,
"no_adservers": false,
"not_found": 0,
"original_content": "<a href=\"https://en.wikipedia.org/wiki/Car\" target=\"_blank\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\" />\r\n</a>",
"original_content_secure": "<a href=\"https://en.wikipedia.org/wiki/Car\" target=\"_blank\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/3/3e/SteamMachineOfVerbiestIn1678.jpg\" />\r\n</a>",
"passed_sherlock_audit": true,
"pixels": null,
"placement": null,
"political": null,
"segments": null,
"size_in_bytes": 0,
"sla": "0",
"sla_eta": "2021-02-08 15:58:47",
"ssl_status": "pending",
"status": {
"hosted_assets_association_complete": null,
"user_ready": true
},
"suspicious_activity_timestamp": null,
"technical_attributes": [
{
"id": 1,
"name": "Image"
}
],
"template": {
"id": 6
},
"text_description": null,
"text_display_url": null,
"text_title": null,
"thirdparty_campaign_id": null,
"thirdparty_creative_id": null,
"thirdparty_page": null,
"thirdparty_pixels": null,
"thirdparty_viewability_providers": null,
"vendors": null,
"video_attribute": null,
"width": 682
},
"dbg": {
"output_term": "creative",
"version": "1.18",
"warnings": []
},
"id": "271833576",
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}
bidder インスタンスを追加する
bidder インスタンス オブジェクトは、データ センターで実行されている特定の bidder サーバーを表します。 このオブジェクトに格納されているこの情報によって、トラフィックを送信する場所が決まります。 この例では、データ センター ID を (NYM) に設定します。
警告
この手順では、「 システムの概要」で詳しく説明されているように、入札者が既に入札者を稼働させ、入札要求や準備完了要求などに応答できることを前提としています。
ヒント
bidder インスタンスの構成の詳細については、Bidder インスタンス サービスに関するページを参照してください。
この例では、トラフィックを送信する IP アドレスとポートを設定します。
- ホスト名の使用もサポートしています。
- 存在する場合は、ホスト名が優先されます。
- bidder-instance サービスでは、アップロード時に IP アドレスが存在する必要があります。 ホスト名を使用する場合は、ダミー IP をオブジェクトアップロードに配置できます。
- トラフィックを送信する完全なパスは、
https://[hostname or IP]:[port][bidder.bid_uri]
bidder.bid_uri
は、bidder オブジェクトで設定されます。- このパスは入札者ごとに一意である必要があります
- また、サーバーにトラフィックが殺到しないように、bidder インスタンスに 1 秒あたりのクエリ (QPS) 制限を設定することを強くお勧めします。
- 誤った支出を避けるために、トラフィックを受信する準備ができるまで、bidder インスタンスを非アクティブにしておくことを強くお勧めします。
bidder インスタンス オブジェクトの例
$ cat create-bidder-instance.json
{
"instance": {
"bidder_id": 123,
"active": true,
"datacenter_id": 6,
"ip_address": "10.3.64.215",
"port": 80
"qps_limit": 10000,
}
}
出力
$ export IB="https://api.adnxs.com";
$ curl -b cookies -X POST -d @create-bidder-instance.json $IB/bidder-instance/123
{
"response": {
"status": "OK",
"count": 1,
"start_element": null,
"num_elements": null,
"id": 1543,
"instance": {
"id": 1543,
"bidder_id": 123,
"active": true,
"datacenter_id": 6,
"ip_address": "10.3.64.215",
"port": 80,
"hostname": null,
"qps_limit": 10000,
"dns_interval": null,
"min_conns": 1,
"max_conns": null,
"receive_type_id": 0
},
"count": 1,
"dbg": {
"output_term": "bidder",
"version": "1.0.5",
"warnings": [
]
},
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}
入札応答
入札者が入札を適切に送信するには、入札応答の形式が正しく設定されている必要があります。 必要なフィールドについては、 こちらを参照してください。
注:
購入者のシート ID と統合しているため、seatbid.seat フィールドは独自の内部 ID である必要があります。
使用する入札要求の例が必要な場合は、Xandr の担当者が提供できる必要があります。 サポートされている入札要求フィールドと例については、 こちらを参照してください。
ユーザー同期
- 入札アクティビティを通知するために、内部ユーザー ID を Xandr の ID と同期する方法があります。
- 入札者パートナーの場合、標準は を使用
/getuid
します。 このサービスの詳細については、 ユーザー ID の同期に関するページを参照してください。
統合をテストする
準備完了要求
- 当社のサーバーから入札リクエストを受け取るには、最初に入札者が準備完了の要求に正しく応答する必要があります。
- 準備完了の要求が https://[hostname or IP]:[port][bidder.ready_uri] に送信されます
bidder.ready_uri
は、bidder オブジェクトで設定されます。
- 応答には、本文のどこかに含まれている
"1"
必要があります。 - 詳細については、 こちらを参照してください。
入札ストリームのテスト
- Xandr Integration Engineer は、入札ストリームのテストに役立ちます。
- これには、テスト発行元ページから入札要求を送信する必要があります。
- 理想的には、これらの要求に応答し、オークションに勝ち、クリエイティブをテスト ページに配信します
- そこから次の手順に進むことができます。
- マクロまたはトラッカーをテストして、期待どおりに動作することを確認します。
- 不一致が許容範囲内にあることを確認します。
クリエイティブ登録プロセス
注:
システムに Xandr クリエイティブ ID を記録することをお勧めします。
- クリエイティブの事前登録は、ディスプレイ、ビデオ、ネイティブ クリエイティブの要件です
- クリエイティブをシステムに簡単にアップロードし、監査プロセスに送信できる必要があります
- クリエイティブスタンダードと監査を確認してください。 販売者は、広告枠でサービスを提供するために、クリエイティブに監査ポリシーを渡す必要があります。
- 登録プロセスでは、
- クリエイティブ オブジェクトを追加する
- [状態の更新] を確認します。
audit_status
: このフィールドは、クリエイティブが適切にレンダリングおよびクリックされたことを確認する人間の監査にクリエイティブが合格したかどうかを示します。ssl_status
: このフィールドは、クリエイティブが SSL スキャナーの自動化に合格したかどうかを示します。is_prohibited
: このフィールドは、クリエイティブがポリシーのいずれかに違反しているかどうかを示します。
- ステータス フィールドに基づいて、必要に応じて問題を修正するようにクリエイティブを調整します。
- クライアント テスト環境を使用して、アップロード ワークフローをテストできます。
- クライアント テスト環境に送信されたクリエイティブは監査されません。 クリエイティブをテストするには、Xandr Integrations エンジニアと調整してください。
- クリエイティブの申請ワークフローは、入札ストリームのテストと並行して作業できます。
予想される入札要求がまだ表示されない場合は、このページの手順に対して構成をダブルチェックします。 問題が解決しない場合は、Xandr 担当者にお問い合わせください。
クライアント テスト環境の使用
クライアント テスト環境には、ワークフローと API 実装をテストするために使用できる Impbus API と Impbus API のバージョンが用意されています。 クライアント テスト環境のコードベースとデータが毎月更新されるようになりました。 つまり、運用環境で実行されている Xandr コードのバージョンの後ろにテスト環境が 30 日を超える (多くの場合は少なくなります) ことを意味します。 さらに、すべての運用データは、毎月クライアント テスト環境 (メンバー アカウントと資格情報を含む) にも自動的にコピーされます。 これにより、最新の機能に対してはるかに堅牢なテストが可能になります。
参考までに、運用環境およびクライアント テスト環境のエンドポイントを次に示します。
更新プログラムの例
Bidder オブジェクト ready_uri
と bid_uri
これらのフィールドを更新して、準備完了の要求と入札要求がそれぞれ適切なエンドポイントに送信されるようにします。
bidder の更新の例
$ cat update-uris.json
{
"bidder": {
"ready_uri": "/example_ready_endpoint",
"bid_uri": "/example_bid_endpoint"
}
}
bidder の更新出力の例
$ export IB="https://api.adnxs.com";
$ curl -b cookies -X PUT -d @update-uris.json $IB/bidder/1234?fields=active,bid_uri,id,ready_uri
{
"response": {
"bidder": {
"active": true,
"bid_uri": "/example_bid_endpoint",
"id": 1234,
"ready_uri": "/ready/",
},
"count": 1,
"dbg": {
"output_term": "bidder",
"version": "1.0.5",
"warnings": []
},
"id": "1234",
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}
メンバー オブジェクト監査通知メールを更新する
これらのフィールドを更新して、システムにアップロードしたクリエイティブの通知を確実に受け取ります。
メンバー更新の例
$ cat update-email.json
{
"member": {
"audit_notify_email": "your_email@email.com"
}
}
メンバー更新出力の例
$ export IB="https://api.adnxs.com";
$ curl -b cookies -X PUT -d @update-email.json $IB/member/5678?fields=active,audit_notify_email,id
{
"response": {
"member": {
"active": true,
"audit_notify_email": "your_email@email.com",
"id": 5678,
},
"count": 1,
"dbg": {
"output_term": "member",
"version": "1.0.5",
"warnings": []
},
"id": "5678",
"num_elements": 100,
"start_element": 0,
"status": "OK"
}
}