completed を返すか、数時間/数日かかるレビューのために submitted を返す)
リクエストスキーマ: creative/sync-creatives-request.json
レスポンススキーマ: creative/sync-creatives-response.json
クイックスタート
クリエイティブアセットをアップロードする:task_id を持つ status: "submitted" を返します。これらのケースの処理については非同期承認ワークフローを参照。
リクエストパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
account | object | Yes | この同期の広告主/ワークスペースを識別するアカウント参照(account-ref) |
creatives | Creative[] | Yes | アップロード/更新するクリエイティブアセット(最大100) |
creative_ids | string[] | No | 同期スコープを特定のクリエイティブ ID に限定するオプションフィルター。これらのクリエイティブのみが影響を受け、その他はそのまま残る。部分更新とエラー復旧に有用。 |
assignments | array | No | 一括アサインメント用の {creative_id, package_id} オブジェクトの配列。アサインメントごとにオプションの weight と placement_ids。 |
dry_run | boolean | No | true の場合、変更を適用せずにプレビューする(デフォルト: false) |
validation_mode | string | No | 検証の厳格さ: "strict"(デフォルト)または "lenient" |
delete_missing | boolean | No | true の場合、この同期に含まれないクリエイティブはアーカイブされます(デフォルト: false)。creative_ids と組み合わせることはできません。アクティブで一時停止されていないパッケージにアサインされているクリエイティブは削除できません。 |
クリエイティブオブジェクト
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
creative_id | string | Yes | このクリエイティブの一意の識別子 |
name | string | Yes | 人間が読める名前 |
format_id | FormatId | Yes | フォーマット仕様(agent_url と id を持つ構造化オブジェクト) |
assets | object | Yes | ロール名をキーとしたアセット(例: {video: {...}, thumbnail: {...}})。カタログは asset_type: "catalog" を持つアセットとして含まれます。カタログを参照。 |
tags | string[] | No | クリエイティブ整理のための検索可能なタグ |
アセット構造
アセットはロール名をキーとします。各ロールにはアセットの詳細が含まれます:test=false
アサインメント構造
アサインメントはリクエストレベルにあり、クリエイティブ ID をパッケージ ID にマッピングします。メディアバイを管理しないスタンドアロンのクリエイティブエージェントはこのフィールドを無視します。test=false
レスポンス
成功レスポンス:creatives- 処理された各クリエイティブの結果(成功と失敗の両方のアイテムを含む)dry_run- これがドライランだったかどうかを示すブール値(オプション)
errors- 操作レベルのエラーの配列(認証失敗、サービス利用不可)
action: "failed" の場合に個別のクリエイティブオブジェクトの errors 配列に表示されます。
成功レスポンスの各クリエイティブに含まれるもの:
- すべてのリクエストフィールド
platform_id- プラットフォームの内部 ID(actionがfailedでない場合)action- 何が起きたか:created、updated、unchanged、failed、deletederrors- エラーメッセージの配列(action: "failed"の場合のみ)warnings- 非致命的な警告の配列(オプション)
一般的なシナリオ
一括アップロード
1回の呼び出しで複数のクリエイティブをアップロードする:ジェネレーティブクリエイティブ
クリエイティブエージェントを使用してブランドアイデンティティデータからクリエイティブを生成します。完全なワークフローの詳細はジェネレーティブクリエイティブガイドを参照。ドライラン検証
アップロードせずにクリエイティブ設定を検証する:creative_ids フィルターを使用したスコープ更新
大きなライブラリから特定のクリエイティブのみを更新し、その他には影響を与えない:- スコープ更新: 指定されたクリエイティブのみが変更され、ライブラリに 100+ あっても同様
- エラー復旧: 一括同期の検証失敗後に失敗したクリエイティブのみをリトライ
- パフォーマンス: スコープが事前にわかっているとパブリッシャーが処理を最適化できます
- 安全性: 明示的なターゲティングにより意図しない変更のリスクを低減
非同期承認ワークフロー
クリエイティブがレビューを必要とする場合(ブランドセーフティ、ポリシーコンプライアンス)、初期レスポンスはstatus: "submitted" だ。結果を取得するためにウェブフックまたはポーリングを使用します。
最終レスポンスは status: "completed" とクリエイティブごとの結果を持ちます:
- 承認されたクリエイティブ:
platform_idを持つaction: "created" - 拒否されたクリエイティブ:
errors配列にエラー詳細を持つaction: "failed"
completed)はレビュープロセスが完了したことを意味します。個々のクリエイティブの結果は action フィールドにある。
操作レベルの失敗(認証エラー、サービス利用不可)は creatives 配列なしで status: "failed" を返します。
参照: ウェブフック設定についてはウェブフックを参照。
同期モード
アップサート(デフォルト)
creative_idで既存のクリエイティブを作成または更新します- パッケージアサインメントをマージする(追加的)
- 提供されたフィールドを更新し、その他はそのままにします
- 特定のクリエイティブにスコープを制限するために
creative_idsフィルターを使用します
ドライラン
- 変更を加えずにリクエストを検証します
- エラーと警告を返す
- アセットを処理したりクリエイティブを作成したりしません
- プリフライト検証チェックに使用します
エラー処理
| エラーコード | 説明 | 解決方法 |
|---|---|---|
INVALID_FORMAT | フォーマットがプロダクトでサポートされていない | list_creative_formats でプロダクトのサポートフォーマットを確認する |
ASSET_PROCESSING_FAILED | アセットファイルが破損しているか無効 | アセットがフォーマット要件(コーデック、ディメンション、デュレーション)を満たしているか確認する |
PACKAGE_NOT_FOUND | パッケージ ID がメディアバイに存在しない | create_media_buy レスポンスから package_id を確認する |
BRAND_SAFETY_VIOLATION | クリエイティブがブランドセーフティスキャンに失敗 | パブリッシャーのブランドセーフティガイドラインに対してコンテンツをレビューする |
FORMAT_MISMATCH | アセットがフォーマット要件に一致しない | アセットタイプと仕様がフォーマット定義と一致しているか確認する |
CREATIVE_IN_ACTIVE_DELIVERY | クリエイティブがアクティブで一時停止されていないパッケージにアサインされている(更新と delete_missing による削除をブロック) | まずパッケージを一時停止するか、新しいクリエイティブバージョンを作成する |
ベストプラクティス
-
アップサートセマンティクスを使用する — 同じ
creative_idで既存のクリエイティブを更新し、重複を作成しません。これにより反復的なクリエイティブ開発が可能。注意: アクティブな配信中のクリエイティブは更新がブロックされます(#7 を参照)。 -
まず検証する —
dry_run: trueを使用して実際のアップロード前にエラーをキャッチします。帯域幅と処理時間を節約できます。 - アサインメントをバッチ処理する — 更新間の競合状態を避けるために、すべてのパッケージアサインメントを1回の同期呼び出しに含めます。
- CDN ホストのアセット — 高速処理のために公開アクセス可能な CDN URL を使用します。プラットフォームはプロキシ遅延なしに直接アセットをフェッチできます。
- ブランドアイデンティティ — ジェネレーティブクリエイティブの場合、処理失敗を避けるために同期前にブランドアイデンティティスキーマを検証します。
-
フォーマットサポートを確認する — アップロード前に
list_creative_formatsを使用してプロダクトがクリエイティブフォーマットをサポートしているか確認します。 -
アクティブ配信の保護 — アクティブで一時停止されていないパッケージにアサインされているクリエイティブは、
delete_missingで更新または削除できません。まずパッケージを一時停止するか、update_media_buyでクリエイティブのアサインを解除するか、別のcreative_idで新しいクリエイティブを作成します。
関連タスク
list_creative_formats- アップロード前にサポートフォーマットを確認しますlist_creatives- ライブラリ内のクリエイティブをブラウズ・フィルタリングしますbuild_creative- ライブラリクリエイティブからマニフェストをビルドするか、ゼロから生成しますpreview_creative- クリエイティブマニフェストのプレビューを生成します- クリエイティブアセットタイプ - アセットの技術要件