LLM コーディングエージェントの広告主向け公開 API 移行リファレンス
LLM コーディング エージェントが、クライアントのインテグレーションをユーザー獲得管理 API (legacy)から Ads 統合プラットフォームのパブリック API に移行するためのリファレンス。
読み終わるまでの所要時間 68 分最終更新 1ヶ月前
オーディエンス:このファイルは、LLM コーディングエージェント (クロードコードまたは Unityの古い機能である「Advertise API」からクライアントのインテグレーションを移行するタスク (、/advertise/v1/...サービス) を新しい Unity Ads に送信 Advertiser Public API (mz-advertiser-public-api)。自己完結型に分割されます。 エンティティブロック。各ブロックには_、変更内容_と_具体的な対応_が示されます。を読む まず、概念モデル変更とグローバル変更のセクションがあります。これらはすべてのブロックに適用されます。/ads/advertiser/public/v1/...
このファイルの使用方法(エージェントの手順)
- この散文ではなく、2 つの契約を真実のソースとして扱います。古い機能 =
.新規 =
mz-advertiser-public-api/openapi/specs/advertise-v1.yml.このガイドでは、 古い機能 v1 のみ。クライアントがads-unified-platform/openapi/advertiser/platform-public-v1-routes.yamlを呼び出す場合は、そのスペシフィケーションの差分 (/advertise/v2alpha1/...) を別に作成し、v2 のみの使用をユーザーに提示します。advertise-v2-alpha.yml - 指定した順序でエンティティブロックを1つずつ移行します(「Apps(アプリケーション)」、「Attribution(アトリビューション)」、「Creatives(クリエイティブ)」、「
クリエイティブパック → キャンペーン管理 → キャンペーン → 入札 → バジェット → ターゲティング → 割り当て)。実行
依存するブロックがコンパイル/パスされるまでブロックを開始しない。アプリケーションファースト: すべてが
新しい。アトリビューションは即座に続き(アプリケーションレベル)、キャンペーンは 管理検索(
applicationId/sdk-event-names)はキャンペーンの前に来ます。なぜなら、キャンペーンがフィードされるためです。 キャンペーン設定。eligibility - レガシー機能が 🚫 No equivalent (同等の機能 なし) の下にリストされている場合、
エンドポイント。停止し、オープンな質問としてユーザーに提示します。最も重要な例は以下のとおりです。
(アプリケーション ライフサイクルは現在 USF が所有しています)と非推奨のリテンション product area (リテンション入札/適格性) — ブロックを参照してください。
DELETE app - 各ブロックの後に、フィールドテーブルごとにフィールド名を再マップする。フィールドは持ち越されないと仮定する テーブルに "unchanged" と表示されていない限り変更されません。
- 両替単位 (ドル → マイクロドル) とアプリケーション ID の変更の種類 (24 文字の hex → UUID)。この 2 つの Transform はほとんどすべてのブロックに触れます。最初に正しく
概念モデルの変更 (最初にお読みください)
APIは統合プラットフォームに再ホストされ、「キャンペーン セット」(アプリケーション)が中心になりました。
プラットフォーム (UUID) に対する 24 文字の Mongo ID として、サブリソース読み取りは
キャンペーン オブジェクトと 5 つの別々の入札エンドポイントが 1 つに折りたたまれます。
Application古い機能モデル
組織└── アプリケーション (campaignSetId、24 文字の 16 進数) ← パス内の "apps" ├──クリエイティブ ├── クリエイティブパック └── Campaign (goal: installs|retention|roas|creativeTesting|eventOptimization) ├── cpi-bids | source-bids | roas-bids | retention-bids | event-optimization-bids │ (5 つの異なるサブリソース、各 GET/PUT/パッチ、ドル文字列) ├── ターゲット設定 (GET + パッチ) ├── バジェット (GET + パッチ、ドル、日または日ごとの国別マップ) └─── 割り当て済みクリエイティブパック (POST/DELETE を 1 つずつ)
新しいモデル
組織└── アプリケーション (applicationId、UUID) ← パス内の "applications" ├── クリエイティブ (パッチ + 削除も可) ├── クリエイティブパック ├── アトリビューション(GET + パッチ、アプリケーションレベル) ← アトリビューションの新しい配置 └── キャンペーン(optimizationType:cpi|legacyRetention|roas|appEventConversion、isCreativeTesting) ├── 入札(1パッチ.../入札、roas|manual|manualSource|appEvent) ├── ターゲット設定 (パッチのみ) ├── バジェットキャップ(パッチのみ、マイクロドル、countryGroupDailyLimits) ├── assign-creative-pack / unassign-creative-pack (リストベースのパッチ/削除) └── (入札/バジェット/ターゲティング/パックの読み取りは GET キャンペーン?includeFields=… から取得)組織└─── キャンペーン(新しい組織全体のリスト、appIds によるフィルター)
以下のすべてのトランスフォーメーションを推進するシフト:
# | Shift | 移行の結果 |
|---|---|---|
| 1 | | リソース パス セグメントの名前が変更されました。ID は |
| 2 | マネー → マイクロドル | すべての入札/予算はドル文字列( |
| 3 | 入札エンドポイント×5 → 1 | |
| 4 | 折り畳まれたサブリソース読み取り | 古い機能 |
| 5 | | キャンペーンタイプ enum が変更および分割されました ( |
| 6 | Attribution moved | キャンペーン作成ボディとアプリケーションの古い機能セットのトラッキングURL。新しいAPI:キャンペーン更新には |
| 7 | 割り当てはリストベース | 古い機能の割り当て/割り当て解除はリクエストごとに1パック。新しい API は、1 回の呼び出しで |
グローバル変更(すべてのエンドポイントに適用)
アスペクト | 古い機能 | 新規 |
|---|---|---|
| Host | | |
| パスプレフィックス | | |
| アプリケーションパスセグメント | | |
| 完全な例 | | |
| Auth | HTTP Basic(サービスアカウントキー) | HTTP Basic は引き続き機能します。Bearer JWT ( |
| Org id | パス内の | パス内の |
| App ID (タイプ変更) | | |
| お金 | ドル 10 進数文字列( | microdollars as integer strings/numbers ( |
| キャンペーン/クリエイティブ/パック ID | 24 文字の hex — 変更なし ( | 24 文字の hex — 変更なし |
| リストエンベロープ | | ⚠️ 一貫性がない: キャンペーンとクリエイティブで |
| ページ分割パラメーター | | |
承認 (ロール/権限) — 403 がバグであると仮定する前にお読みください。
Authentication は変更されません(同じ Basic クレデンシャル)。ただし、承認は変更されません。新しい
エンドポイントは、ゲートウェイでチェックされた権限文字列によってゲートされます(新しい
spec under )。広告主ルートにはが必要です
permissions (、、、
、、、…)、
Unity Cloudダッシュボードでの組織スコープ サービス アカウント ロール(例:「API アプリの宣伝」
Editor" はを付与します)。共有
エンドポイントは、 またはパブリッシャー側ののいずれかを受け入れます。
x-unity-gateway.authorization.rulesadvertise.*advertise.campaigns.*advertise.creatives.*advertise.creative_packs.*advertise.bids.updateadvertise.targeting.updateadvertise.apps.*advertise.apps.get/list/create/update/delete…/applicationsadvertise.apps.*monetize.projects.*エージェント指示:
- 移行前に、クライアントのサービス アカウントに必要な情報が保持されているかどうかをユーザーに確認してもらう 新しい API の広告主の役割:古い機能 API の付与は引き継がれないでください。
- 古い API で動作したリクエストが新しい API で 403 を返し、 認証情報がある場合は、リクエストのバグではなく、ロールの付与が欠落しているものとして扱います。停止および表面化; リクエストを「修正」しようとして変更しないでください。
レート制限(クライアント側バックオフの更新)
操作クラス | 古い機能 | 新規 |
|---|---|---|
読み取り ( | 429 defined; per-resource | リソース リミッタあたり20/秒 + 8000/時 |
作成 ( | (batched) | 1/秒 + 60/時間 ( |
アップデート ( | (バッチ処理) | 1/s + 200/hour ( |
| 入札の更新 | (バッチ アレイ) | 20/秒 + 12000/時 ( |
| キャンペーン管理読み取り | — | 6/s + 8000/hour ( |
マスター エンドポイント マップ
古い機能操作 | 古い機能ルート | 新しい operationId | 新規ルート | ブロック |
|---|---|---|---|---|
| | | | A |
| | | | A |
| | | | A |
| | | | A |
| | — | 🚫 アプリケーション削除エンドポイントなし | A |
| | | | B |
| | | | B |
| | | | B |
| — | — | | | B |
| — | — | | | B |
| | | | C |
| | | | C |
| | | | C |
| | | | C |
| | | | C |
| | | | D |
| | | | D |
| | | | D |
| | | | D |
| | | | D |
| | | | E |
| …SourceBids | | | | E |
| …RoasBids | | | | E |
| …EventOptimizationBids | | | | E |
| …RetentionBids | | — | 🚫リテンション入札は非推奨 — サポート終了 | E |
| | — (キャンペーンで読む) | | F |
| | | | F |
| | — (キャンペーンで読む) | | G |
| | | | G |
| | — (キャンペーンで読む) | | H |
| | | | H |
| | | | H |
| | | | I |
| | | | I |
| | — | 🚫 ROAS に適格性は必要なくなりました。リテンションは非推奨です | I |
| — (アトリビューションはキャンペーン/アプリでした) | ( | | | J |
ブロック A — アプリ → アプリケーション
変更内容
- パス セグメント →
apps; IDapplications(16 進数で 24 文字) →campaignSetId(UUID)。これは最もリスクの高い再マップします。キャンペーン/クリエイティブ/パック呼び出しはすべてネストされます。 その下に移行中にapplicationIdマップをビルドおよび維持します。legacy campaignSetId → new applicationId - は、作成時に必須の明示的なフィールドになりました (
platformによって暗示されました)。store - アプリケーションレベルのトラッキング URL (/
appAttributionClickUrl) は 専用アトリビューションエンドポイント — ブロック J を参照してください。appAttributionStartUrl - に同等の機能はありません (意図的なものと確認済み)。アプリケーションライフサイクルの移行 Unity Services Foundation (USF) に対する広告主の範囲であり、アプリケーション削除は現在 プラットフォーム全体で無効。新しいアプリケーションリソースはリスト/作成/取得/更新のみを公開します。もし クライアントは API を介してアプリケーションを削除し、停止して表示します。
DELETE app - リストの形状が変更され、ページ処理/フィルタが失われました。古い機能が返されました
GET …/apps/offsetとlimit/filter[store]のfilter[storeId]クエリ params。New{ total, offset, limit, results[] }は、すべての組織のベア JSON 配列を返します。 アプリケーション — エンベロープ、ページ処理、フィルタなし。params とフィルター/ページ処理のドロップ client-side.GET …/applications
フィールドマッピング — 作成 (advertise-createApp → CreateApplicationPublicDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | unchanged |
| | enum を再マップする → |
| | unchanged value |
| — | | 新規、必須。古い機能 |
| — | 🚫 アプリケーション反応のフィールドがありません。クライアントが依存している場合に表面化します。 |
| | 反応に存在します。作成入力ではなく、サーバー側で設定します。 |
| → 帰属 | 移動。 作成後に |
| → 帰属 | 移動 |
| — | | new 任意 privacy オブジェクト |
| — | | 新しい任意グループ化(パブリッシャー/広告主共有アプリケーションモデル) |
New enum: 、、、、、
, , , .New enum: 、、、
, , , , , , , , , .
storeGooglePlayAppleAppStoreSamsungGalaxyAmazonAppStoreMacAppStoreUDPMicrosoftStoreHuaweiAppGalleryAPKplatformAndroidiOSOSXWindowsLinuxWebGLWindows_StorePS4PS5XboxOnetvOSSwitchVisionOS古い機能 → 新しい (確認済み): → 、 →
; → 実際のストアによる — Samsung →
、Huawei → 。ストアが特定できない場合
プラットフォームはそれを にマップします。
store{store, platform}apple{AppleAppStore, iOS}google{GooglePlay, Android}standalone_android{SamsungGalaxy, Android}{HuaweiAppGallery, Android}{APK, Android}フィールドマッピング — 反応 (app → ApplicationPublicResponseDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | 型の変更。 マッピングを維持します。 |
| | unchanged |
| | enum 再マップする (前述) |
| | unchanged (integer、nullable) |
| :( | Attribution リソースに移動しました |
| — | 🚫 行ってしまった |
| :(DTO にない) | アプリケーション反応で公開されない |
| — | | 新規 |
⚠️ **IDを再マップすることは最もリスクの高いステップです。**Persistlegacy campaignSetId → new {applicationId}を使用したすべてのダウンストリーム パスを書き換えます。campaignSetId
ブロック B — クリエイティブ
変更内容
- の代わりに
apps/{campaignSetId}の下にネストされています。applications/{applicationId} - それでも、最初に JSON を
multipart/form-dataしてからバイナリファイルフィールド。creativeInfo - 新しい操作: (名前の変更) と
PATCH …/creatives/{creativeId}。DELETE …/creatives/{creativeId} - enum 値が変更されました(snake_case)。再マップ。
type - 画像アップロード制限が 20 MB (5 MB) に増加。プレイアブルは 10 MB。
- ビデオアップロード () は古い機能 (API 所有者の確認が必要) とまったく同じように機能します。OpenAPI 2026 年 7 月下旬に上陸した動画作成バリアントを文書化したスキーマ。 spec にはビデオ
videoFileバリアントがありません。ビデオがサポートされていないと仮定するのではなく、spec を更新してください。oneOf
type enum 再マップする
古い機能 | 新しい |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| 🚫 サポートされていません — 縦向き/横向きのビデオのみが存在します。表面。 |
| — | |
status enum
変更されていないセット: 、、、、、
.
uploadedprocessingprocessingFailedpendingModerationapprovedrejectedmultipart フィールド名
creativeInfosquareEndCardFileportraitEndCardFilelandscapeEndCardFileplayableFilecreativeInfofileNameorientationlandscapeportraitbothCreativePublicResponseDtoidnamelanguagetypestatusfiles[]{name,url}createdAtupdatedAtBlock C — クリエイティブパック
変更内容
- の下にネストされています。CRUD 動詞は同じです(GET/POST/GET/パッチ/削除)。
applications/{applicationId} - は
type値banner、video、playable、video+playableを取得します。banner - リストエンベロープは古い機能です (キャンペーンやクリエイティブとは異なります)。
{ total, offset, limit, results[] } - 反応はより豊富です。、
applicationId(moderationStatus/pending/approved、 nullable)、rejected(nullable)、ageRating、assignedCampaignIds[]/createdAt。updatedAt
フィールドマッピング — 作成 (createCreativePack → CreateCreativePackPublicDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | unchanged |
| | 変更なし (24 文字の hex クリエイティブ ID) |
| | 同じ値 + 新しい |
| | unchanged (nullable) |
| | unchanged (UUID、nullable) |
フィールドマッピング — 反応
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | 24 文字の hex:変更なし |
| same | unchanged |
| | renamed |
| — | | new |
ブロック D — キャンペーン
変更内容
- の下にネストされています。取得/更新/削除はアプリケーションごと。リスト表示はアプリケーションごとになりました。 組織全体(
applications/{applicationId}、フィルターGET …/organizations/{orgId}/campaigns):アプリケーションごとのリストはありません。appIds - →
goal(+optimizationTypeブーリアン +isCreativeTesting)。appEventType - **アトリビューション URL はキャンペーン作成の一部ではなくなりました。**キャンペーンでの作成後に設定
(
PATCH)またはアプリケーションアトリビューションエンドポイント(ブロック J)。attributionLinks - は作成フィールドではありません。作成は
scheduleEndのみで、startでPATCHを設定します。end - は
GET campaign(includeFields、bids、budget、creativePacks)をサポートします。 入札/バジェット/割り当て済みパックの読み取り方法です。application - 値は、
postInstallWindow、D0、、D1、、、D3、D7、D14の大文字と展開です。D28
goal → 再マップするoptimizationType
古い機能 | 新規 |
|---|---|
| |
| |
| |
| |
| |
フィールドマッピング — 作成 (createCampaign → CreateCampaignDto)
古い機能 | 新規 |
|---|---|
| |
| |
| |
| |
| |
フィールドマッピング — 更新 (updateCampaign → UpdateCampaignPublicDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | unchanged |
| | date → datetime; null 可能な |
| | 反転感覚 — |
| | uppercased |
| | ネストされたオブジェクトになりました; |
⚠️ 更新レスポンスがよりスリムなオブジェクト (:CampaignPublicDetailsResponseDto,id、namestart、end、autoStart、paused)。キャンペーン全体ではありませ ん 。 クライアントがパッチ反応から他のキャンペーンフィールドを読み取る場合は、attributionLinks経由で再フェッチします。GET campaign
フィールドマッピング — 反応 (古い機能campaign → CampaignPublicResponseDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | 24 文字の hex:変更なし |
| | unchanged |
| | 上のテーブルを再マップする(逆向き) |
| | ⚠️ 読み取り時の反転センス — |
| — | 🚫 新しい反応についてではありません。クライアントがその上で分岐する場合の表面。 |
| | date → datetime; null 可能な |
| | 名前の変更 + 値の変更 ( |
| | 名前が変更されました。 |
| — | 🚫 リテンション入札 非推奨 — 書き込みサポートなし。読み取り値はレガシーのみとして扱う |
| | |
| | enum rename; single → array |
| | 大文字; |
| | unchanged |
| — | | new — 新しい仕様を参照 |
includeFields による読み取り
キャンペーンの入札/バジェット/割り当て済みパックの古い機能読み取りでは、個別のGETが使用されていました。更新後:
.Bid 配列、
、、フル がキャンペーン オブジェクトに返されます。
GET …/campaigns/{campaignId}?includeFields=bids,budget,creativePacks,applicationbudgetcreativePackIds[]applicationブロック E — 入札(5 つのエンドポイント → 1 つ)
変更内容
5 つの古い機能のサブリソース (、、、、
)。それぞれにドル文字列 (//) が含まれている場合は、
マイクロドルで型指定されたボディ上の 1 つの****。ある
no GET — 経由で現在の入札を読み取ります。
cpi-bidssource-bidsroas-bidsretention-bidsevent-optimization-bidsGETPUTPATCHPATCH …/campaigns/{campaignId}/bidsGET campaign?includeFields=bidsエンドポイント + ボディ再マップする
古い機能サブリソース |
| エントリーごとの形状(新規) |
|---|---|---|
| | |
| | |
| | |
| | |
| 🚫 非推奨 — サポートなし | 古い機能 |
Transform(重要)
古い機能ドル文字列 → 新しいマイクロドル: 1_000_000 を乗算します。 → ROAS
/ (確認済み): 古い機能 ROAS はパーセンテージ文字列 ( = 12.34%)。
新しいは、100 で割る小数割合です ( → 、 10% → )。
セマンティクス (API 所有者による確認):
"0.201"201000goaltargetgoal"12.34"target"12.34"0.12340.10古い機能PUT/パッチモデル | 新しいモデル |
|---|---|
| 単一 |
入札のクリア(確認済み): 内のその入札タイプの空の配列を送信します。同じ
古い機能としての効果。
PATCH[]PUT []⚠️ 新しいはマージではなく置き換えであるため、古い機能PATCHの単純ポート (マージ) リクエストに含まれていない入札はすべてサイレントでドロップされます。古い機能マージスタイルの変換 フルセット書き込みの更新:PATCH経由で現在の入札を読み取り、 デルタをローカルで取得し、配列全体を送信します。GET campaign?includeFields=bids
ブロックF — バジェット → バジェット上限
変更内容
- が消失 →
GET …/budget経由で読み取られる。GET campaign?includeFields=budget - →
PATCH …/budget.PATCH …/campaigns/{campaignId}/budget-cap - ドル → マイクロドル (文字列)。
- 国別マップ()は、 名前付き国グループ (
dailyPerCountry: { "US": "123.45", … })。countryGroupDailyLimits: [{ name, countries[], limit }] - 反応の新しい明示的な型識別子:(
campaignLimitType/unlimited)、total(dailyLimitType/daily/countryDaily).unlimited
フィールドマッピング (budget → PatchBudgetCapDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | ×1e6。キャップ表現セマンティクスは古い機能(APIオーナーごと)から引き継がれます。 |
| | ×1e6 |
| | Restructure: 各 |
| — (キャンペーン バジェットで読み取り) | パッチ反応ではなく、キャンペーンバジェット読み取り時に提示されます。 |
ブロック G — ターゲティング
変更内容
- がなくなりました →
GET …/targetingオフターゲティングフィールドを読みます。GET campaign - は残りますが、ボディは再構成され、ほとんどの古い機能デバイス フィールドは ドロップされます (古い機能仕様ではすでに
PATCH …/targetingされています)。deprecated
フィールドマッピング (targetingOptions → UpdateCampaignPublicTargetingDto)
古い機能フィールド | 新しいフィールド | ノート |
|---|---|---|
| | renamed (ソースアプリケーション ID) |
| | プロバイダー固有のカテゴリ リスト |
| | restructured |
| | restructured |
| | subdivision-id based |
| — | 🚫 removed (確認済み — ユニファイド では設定できません)。それらを設定するクライアントコードを削除し、人間にドロップすることを伝えます。 |
ブロック H — 割り当てられたクリエイティブパック (現在はリスト)
変更内容
- 古い機能割り当て済み/未割り当てのリクエストあたり1パック(/
POST)。DELETE …/assigned-creative-packs - 新しい API はリストに対して動作します。
- with
PATCH …/campaigns/{campaignId}/assign-creative-pack— 指定された ID で割り当てられた集合を置き換えます。{ creativePackIds: [...] } - with
DELETE …/campaigns/{campaignId}/unassign-creative-pack— リストされた ID を削除します。{ creativePackIds: [...] }
- 現在割り当てられているパックのリスト:(
GET campaign?includeFields=creativePacks)。creativePackIds[]
移行アプローチ
クライアントがキャンペーンに割り当てられたすべてのパックを収集し、1 つのを作成する
(N の代わりに) 完全な配列を使用します 。セマンティクス確認: エンドポイントによって置き換えられる
指定したで割り当てを完了 — 常に目的のフル セットを送信するか、
配列から除外されたパックは割り当て解除されます。
PATCH assign-creative-packPOSTcreativePackIdsブロック I — オーディエンス Pinpointer → Campaign Management (キャンペーン管理)
変更内容
古い機能 | 新規 |
|---|---|
| |
| |
| 🚫削除 — ROAS キャンペーンは 適格性が不要 になりました。ゲームロジックはすべて削除します。 |
| 🚫削除 — リテンションは完全に非推奨。サーフェスのアクティブ リテンション使用 |
sdk-event-names{ total, results[]{ eventOptimizationType, sdkEventNames[] } }eligibility{ total, results[]{ eventOptimizationType, countries[] } }ブロック J — アトリビューション(再配置)
変更内容
アトリビューション URL が以前にアプリケーションに設定され (/)、
into campaign create。新しいAPIには、アプリケーション レベル専用アトリビューション リソースに加えて、
キャンペーン更新のキャンペーンごとの。
appAttributionClickUrlStartUrlattributionLinks- →
GET …/applications/{applicationId}/attribution.{ id, startUrl, clickUrl, viewUrl?, partner, type?, createdAt, updatedAt } - との
{ startUrl?, clickUrl?, viewUrl? }。PATCH …/applications/{applicationId}/attribution
partnerotheradjustairbridgeappsflyerbranchbytebrewkochavamailrusingulartenjinyandextypeuserLevelnonUserLevelmixed移行アプローチ
- アプリケーションレベルの移動/
appAttributionClickUrl→appAttributionStartUrl(PATCH …/attribution/clickUrl).startUrl - campaign-create /
attributionClickUrl→ キャンペーンのattributionStartUrlの移動 (PATCH)。キャンペーンの作成後に実行されます。attributionLinks.{clickUrl,startUrl,viewUrl} - は新規 (任意)。
viewUrlおよびその他の URL マクロ: 検証規則は、共有の 古い機能と新しい API の両方で使用されるトラッキング検証ライブラリ(確認済み)。そのため、マクロ 動作は変更されません。古い機能 URL をそのまま使用します。{ifa}
推奨される移行アルゴリズム (エージェントの決定的な順序)
- 構成: ホストをにスワップ、パスプレフィックス
…/ads/advertiser→/advertise/v1、/public/v1セグメント →apps。Basic 認証を維持します。applications - アプリケーション(ブロックA):古い機能アプリケーションごとに、します(
POST …/applicationsを再マップする →store)。持続{store, platform}。トラッキングを送信しない ここに URLlegacy campaignSetId → new applicationId - アトリビューション(ブロック J): 古いアプリケーションレベルの URL でします。
PATCH …/applications/{id}/attribution - クリエイティブ (Block B): 再アップロード/再マップ、enum の変換。持続 ID が再度生成されるかどうかを
typeします (ID が保持されているかどうかを確認します)。legacy creativeId → new creativeId - **クリエイティブパック (**Block C): 新しいクリエイティブ ID を参照するパックを作成します。
- **キャンペーン管理(**ブロックI):オーディエンス ピンポイント検索の再設定 —
→
…/audience-pinpointer/sdk-event-names、および…/applications/{id}/sdk-event-names→…/audience-pinpointer/event-optimization-info.読み取り専用; 結果を使用して、キャンペーン…/applications/{id}/eligibility/appEventTypeおよび対象国に通知します。 ROAS 情報ゲームロジックは単純に削除できます (資格は不要)。リテンション情報は 非推奨のリテンション製品と一緒に使用されました(ステップ13を参照)。sdkEventNames - キャンペーン (ブロック D): で作成 (+
optimizationType/isCreativeTesting/appEventType)。roasTypeして、start``PATCH、end、attributionLinks、autoStartを設定します。paused - 入札(ブロックE): ドル→マイクロドルに変換します(ROAS目標: パーセント→小数割合、
÷100)。入札タイプごとに完全な希望セットを含むを1つ送信します(パッチ Replaces、Never Merge、
PATCH …/bidsClears)。リテンション入札は非推奨です。移行しないでください。 どのような使用法でも表面化します。[] - **バジェット(**ブロックF):マイクロドルで。
PATCH …/budget-capマップの変換 →dailyPerCountry.countryGroupDailyLimits[] - ターゲティング(ブロックG): /
appleDevice/ソース+カテゴリリストに再構築 削除されたデバイス フィールドをドロップします(表面化)。androidDevice - 割り当て(ブロックH):キャンペーンごとに1つのリストベースの。
PATCH assign-creative-pack - 読み取り: すべてのを
GET …/{bids,budget,targeting,assigned-creative-packs}.GET campaign?includeFields=… - **削除済み機能 (**表面からユーザー):(USF 所有のアプリケーションライフサイクル、削除) 現在無効)、非推奨のリテンション製品(入札 + 適格性)、ROAS適格性 ゲート(不要:削除)、古い機能 ターゲティングフィールド、
DELETE app、およびadomainクリエイティブ。squareVideo
検証チェックリスト (移行後に実行)
- リクエスト パスに、
/advertise/v1、/apps/、/cpi-bids、/source-bids,/roas-bids,/retention-bids,/event-optimization-bids,/audience-pinpointer、または/assigned-creative-packs(現在は…/budget)。budget-cap - すべてのアプリケーション パスで、24 文字の 16 進数ではなく、新しい UUID
campaignSetIdが使用されます。applicationId - すべての貨幣値はマイクロドル (整数) であり、のような小数ではありません。
"2500.20" - 入札は単一のに送信され、読み取りは
PATCH …/bidsを使用します。GET campaign?includeFields=bids - すべての入札は、その入札タイプの完全なセットを送信します(置換セマンティクス — 部分的 送信では省略された入札がドロップされます)。古い機能マージ形式の更新は読み取り/変更/書き込みに変換されました。
PATCH - ROAS 目標はパーセント文字列から小数比率に変換されました (→
"12.34")。0.1234 - バジェットは +
budget-capを使用します(countryGroupDailyLimits[]マップなし)。dailyPerCountry - キャンペーンが
goal(+optimizationType)に再マッピングされ、アトリビューションが URLはキャンペーン作成ではなく、isCreativeTesting/attributionLinksで設定します。…/attribution - Creative では、新しい snake_case 値 (
type、end_card_square、…) が使用されます。video_portrait - 古い機能の読み取りはすべて、センス反転を使用して
enabledに再マッピングされました。 (paused⇒enabled:true):レスポンスのリスト、取得、更新。paused:false - キャンペーン 反応をオフにする完全なキャンペーン フィールドを解析するものはありません( details オブジェクト)。完全な状態は
PATCH経由で再フェッチされます。GET campaign?includeFields=… - アプリケーション リスト解析でベア配列(エンベロープなし)が予期され、
{total, results}/offset/limit/filter[store]を送信します。filter[storeId] - 割り当てでは、N 回の割り当てではなく、キャンペーンごとに 1 つのリストの呼び出しを使用します。
- 、非推奨のリテンション使用(入札/適格性)、
DELETE appクリエイティブ、 削除されたターゲティングフィールドは、(クライアントがそれらを使用した場合) ギャップとしてユーザーに提示されます。ROAS 適格性審査が削除されました。squareVideo
クイック リファレンス:🚫削除済み/同等の機能なし(移行または製造しない。すべてAPI所有者によって確認済み)
- :削除アプリケーション エンドポイントなし。アプリケーション ライフサイクルはUSFが所有し、削除は 現在プラットフォーム全体で無効になっています。
DELETE app - ROAS-info:削除。ROAS キャンペーンに適格性は必要なくなりました。ゲーティングロジックを削除します。
- リテンション(全製品領域):非推奨:とリテンションの入札には successor。アクティブなリテンションキャンペーン/入札を表示します。
retention-info - GET bids / バジェット / targeting / assigned-packs — に置き換えられました。
GET campaign?includeFields=… - 古い機能ターゲティングフィールド(、
limitedAdTracking、connectionType、screenSize、screenDensity、allowedDevices)およびアプリケーションosMax: では設定できません。 統一。クライアントコードを削除します。adomain - クリエイティブ タイプ — サポートされていません。
squareVideo/video_portraitのみです。video_landscape