sync_plans
キャンペーンプランをガバナンスエージェントにプッシュします。プランはキャンペーンの認可パラメーター — 予算制限、チャンネル、フライト日程、認可市場、コンプライアンスポリシー — を定義し、すべての検証における真実の源泉として機能します。リクエスト
レスポンス
仕組み
プランはエージェンシーのプランニングツール、ブランドの予算システム、インサーションオーダーなど外部システムから生まれる。sync_plans はそれらをガバナンスエージェントにプッシュして、何を検証すべきかをエージェントに伝える。
既存のプラン(同じ plan_id)を同期すると更新されます。ガバナンスエージェントはバージョンをインクリメントし、アクティブなキャンペーンを更新されたルールに対して再評価します。これにより、予算増加やチャンネル追加などのフライト中の変更に対応できます。
複数のキャンペーン(check_governance と report_plan_outcome の governance_context で識別)が同じプランを参照できます。ガバナンスエージェントはプランに紐付けられたすべてのキャンペーンにわたって予算を追跡します。
プランはキャンペーンコンテキスト — 予算、チャンネル、フライト日程、認可市場 — を指定します。ガバナンスエージェントはブランドのコンプライアンス設定から適用可能なポリシーを解決するが、プランは policy_ids でレジストリポリシーを直接参照したり、custom_policies でキャンペーン固有のルールを含めたりすることもできます。これにより、集中的なポリシー管理(ブランドレベル)と、バイイングチームが特定のキャンペーンに追加要件を必要とする場合のキャンペーン固有のオーバーライドの両方に対応できます。
countries と regions は2つの目的を果たす:
- ジオ強制 — ガバナンスエージェントはプランの市場外をターゲットにするメディアバイを拒否します。
regions: ["US-MA"]のプランは明示的にマサチューセッツをターゲットにしないバイをブロックします。 - ポリシー解決 — エージェントはプランの市場と管轄が重なるすべてのポリシーを検索します。
countries: ["US"]のプランはすべての米国連邦および州レベルのポリシーの対象となります。regions: ["US-MA"]のみのプランはマサチューセッツ固有および連邦ポリシーの対象となります。
product-filters、offerings、create_media_buy と同じ ISO コードおよびセマンティクスを使用し、プロトコル全体で一貫したジオ語彙を確保します。全国展開するファーマキャンペーンは countries: ["US"] を使用し、合法な州に限定される大麻キャンペーンは regions: ["US-CO", "US-CA", "US-MA"] を使用します。
フィールド
リクエスト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
plans | array | Yes | 同期する1つ以上のキャンペーンプラン。 |
plans[].plan_id | string | Yes | このプランの一意識別子。 |
plans[].brand | BrandRef | Yes | ガバナンス対象のブランド。ガバナンスエージェントはブランドのコンプライアンス設定を解決して適用可能なポリシーを決定します。 |
plans[].objectives | string | Yes | 自然言語のキャンペーン目標。戦略的整合性の検証に使用します。 |
plans[].budget | object | Yes | 予算パラメーター。 |
plans[].budget.total | number | Yes | 認可された総予算。 |
plans[].budget.currency | string | Yes | ISO 4217 通貨コード。 |
plans[].budget.authority_level | enum | Yes | agent_full、agent_limited、または human_required。仕様を参照。 |
plans[].budget.per_seller_max_pct | number | No | 単一セラーに配分できる予算の最大割合。 |
plans[].budget.reallocation_threshold | number | No | agent_limited の場合にエスカレーションが必要な再配分金額の閾値。 |
plans[].channels | object | No | チャンネル制約。省略した場合、すべてのチャンネルが許可されます。 |
plans[].flight | object | Yes | 認可されたフライト日程。このウィンドウ外の日程を持つメディアバイは拒否されます。 |
plans[].countries | array | No | 認可市場の ISO 3166-1 alpha-2 国コード。ガバナンスエージェントはこれらの国外をターゲットにするバイを拒否し、ポリシー管轄との照合によって適用可能なポリシーを解決します。 |
plans[].regions | array | No | 認可された国内サブ市場の ISO 3166-2 区画コード(例: US-MA)。指定した場合、国全体ではなくこれらの地域に限定します。 |
plans[].policy_categories | array | No | このキャンペーンに適用される規制カテゴリ(例: children_directed、fair_housing)。ガバナンスエージェントが強制するポリシーレジームを決定します。省略した場合、ガバナンスエージェントはブランドの業種とキャンペーン目標から推論することがあります。 |
plans[].audience | object | No | オーディエンスターゲティング制約。キャンペーンがリーチすべき対象(include)とリーチしてはなりません対象(exclude)を定義します。オーディエンス制約を参照。 |
plans[].restricted_attributes | array | No | ターゲティングに使用してはなりません個人データカテゴリ(例: health_data、racial_ethnic_origin)。GDPR 第9条特別カテゴリ。ガバナンスエージェントはこれらの属性を参照するオーディエンスターゲティングにフラグを立てる。 |
plans[].restricted_attributes_custom | array | No | enum でカバーされていない追加の制限属性。管轄固有の制限のための自由形式文字列(例: financial_status)。 |
plans[].min_audience_size | integer | No | k-匿名性のための最小オーディエンスセグメントサイズ。複数の条件を使用する場合の推定交差オーディエンスに適用されます。 |
plans[].policy_ids | array | No | このプランに強制するレジストリポリシー ID。プランの countries/regions と交差させて、地理的に関連するポリシーのみをアクティブにします。 |
plans[].custom_policies | array | No | このキャンペーン固有の自然言語ポリシーステートメント(例: 「競合コンテンツに隣接した広告禁止」)。 |
plans[].mode | enum | No | このプランのガバナンス強制モード: enforce、advisory、または audit。デフォルトは enforce。ガバナンスモードを参照。 |
plans[].approved_sellers | array/null | No | 承認されたセラーエージェント URL のリスト。null は任意のセラーを意味します。 |
plans[].delegations | array | No | このプランに対して実行権限を持つエージェント。仕様を参照。 |
plans[].delegations[].agent_url | string | Yes | 委任されたエージェントの URL。 |
plans[].delegations[].authority | enum | Yes | full、execute_only、または propose_only。 |
plans[].delegations[].budget_limit | object | No | このエージェントがコミットできる最大予算。 |
plans[].delegations[].markets | array | No | このエージェントが認可されている ISO 国/地域コード。 |
plans[].delegations[].expires_at | string | No | ISO 8601 委任期限。 |
plans[].portfolio | object | No | ポートフォリオレベルのガバナンス制約。仕様を参照。 |
plans[].portfolio.member_plan_ids | array | Yes | このポートフォリオプランでガバナンスされるプラン ID。 |
plans[].portfolio.total_budget_cap | object | No | メンバープラン全体の最大累積予算。 |
plans[].portfolio.shared_policy_ids | array | No | すべてのメンバープランに強制されるレジストリポリシー ID。 |
plans[].portfolio.shared_exclusions | array | No | すべてのメンバープランに対する自然言語除外ルール。 |
plans[].ext | object | No | 拡張データ。 |
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
plans | array | 同期された各プランのステータス。 |
plans[].plan_id | string | プラン識別子。 |
plans[].status | enum | active(同期成功)または error(同期失敗)。これは同期結果のステータスであり、プランのライフサイクルステータスではありません。 |
plans[].version | number | プランバージョン(同期のたびにインクリメント)。 |
plans[].categories | array | このプランでアクティブな検証カテゴリ。ガバナンスエージェントの宣言されたケイパビリティによって異なります。 |
plans[].categories[].category_id | string | 検証カテゴリ識別子。 |
plans[].categories[].status | enum | active または inactive。 |
plans[].resolved_policies | array | このプランに対してガバナンスエージェントが強制するポリシー。明示的に参照されたポリシーと自動適用されたポリシーの両方を含みます。 |
plans[].resolved_policies[].policy_id | string | レジストリポリシー ID。 |
plans[].resolved_policies[].source | enum | explicit(設定またはプランで参照)または auto_applied(管轄/ポリシーカテゴリによってマッチ)。 |
plans[].resolved_policies[].enforcement | enum | must、should、または may。 |
plans[].resolved_policies[].reason | string | このポリシーが含まれた理由。 |
オーディエンス制約
プランはaudience フィールドを使ってオーディエンスターゲティング制約を宣言できます。各制約はオーディエンスセレクター — 特定のシグナルへの参照または自然言語の説明のいずれか。
シグナル参照 — データプロバイダーのカタログ内の特定のシグナルを指す:
check_governance 中にセラーのターゲティングをこれらの制約に対して評価します。シグナル参照は構造的なマッチングを可能にし、説明はセマンティックな比較を必要とします。
制限属性
restricted_attributes フィールドはターゲティングに使用してはなりません個人データカテゴリを宣言します。値は GDPR 第9条特別カテゴリ: racial_ethnic_origin、political_opinions、religious_beliefs、trade_union_membership、health_data、sex_life_sexual_orientation、genetic_data、biometric_data。
ガバナンスエージェントはこれらを独自の restricted_attributes を宣言しているシグナル定義と照合します。マッチする属性を持つシグナルはターゲティングからブロックされます。属性を宣言していないシグナルの場合、ガバナンスエージェントはシグナル名と説明からセマンティックな推論にフォールバックします。
ポリシーカテゴリ
policy_categories フィールドは適用される規制レジームを宣言します。カテゴリはポリシーレジストリで定義され、関連する規制をグループ化する — たとえば children_directed は COPPA、英国 AADC、GDPR 第8条をカバーします。
ポリシーカテゴリは brand.industries とは異なります。インダストリーは企業が何をするかを説明し、ポリシーカテゴリは特定のキャンペーンにどの規制レジームが適用されるかを説明します。一般的な認知キャンペーンを実施する製薬会社(industries: ["pharmaceuticals"])は、特定の薬を宣伝しないキャンペーンには pharmaceutical_advertising をポリシーカテゴリとして必要としないかもしれない。
エラーコード
| コード | 回復 | 説明 |
|---|---|---|
INVALID_PLAN | correctable | プランに必須フィールドがないか、値が無効です。 |
BRAND_NOT_FOUND | correctable | ブランドドメインをブランドプロトコル経由で解決できなかった。ガバナンスエージェントは有効なブランド参照なしに適用可能なコンプライアンスポリシーを決定できません。 |
BUDGET_BELOW_COMMITTED | correctable | プラン更新時に、すでにコミット済みの金額を下回る予算には削減できません。 |
関連タスク
check_governance— このプランに対してアクションを検証しますreport_plan_outcome— プラン状態を更新するために結果を報告しますget_plan_audit_logs— プラン状態と監査証跡を表示します