basic_details と、多言語(マルチロケール)および A/B バリエーションのサポートを含め、チャネル、プラットフォーム、テンプレートタイプごとにメッセージペイロードを定義する campaign_content について説明します。どちらのコンポーネントも、Create Campaign および Update Campaign で使用されます。
オーディエンスのターゲティング、スケジュール、配信制御については、オーディエンスと配信のリファレンス を参照してください。
フィールドの型、列挙値、必須マーカーについては、
/api/campaigns/campaign-draft.yaml にある OpenAPI 仕様が正式な情報源です。このページでは、インラインのスキーマ説明では表現できない、実行可能なバリエーションと条件付きルールを補足します。クイックスタート
最小限のコンテンツペイロードは、campaign_content.content.push(Push)配下の単一のチャネル・プラットフォーム・テンプレートの組み合わせ、または campaign_content.content.email(Email)配下の html_content もしくは custom_template_id の値です。
ページの内容
Push キャンペーンのメタデータ
Push キャンペーンのbasic_details オブジェクトには、識別用メタデータ、プラットフォームのターゲティング、プラットフォーム固有の配信フラグが含まれます。作成時にはすべてのフィールドが任意です。campaign_delivery_type に応じて、一部のフィールドが必須になります。
プラットフォーム固有の配信フラグ
platform_specific_details オブジェクトには、Push キャンペーンのプラットフォームごとの配信フラグが含まれます。
- Android
- iOS
Android には、Push Amp+ フラグが 1 つ定義されています。
Email キャンペーンのメタデータ
Email キャンペーンのbasic_details オブジェクトには、識別用メタデータ、購読カテゴリ、受信者のメールアドレス属性が含まれます。
コンテンツペイロードの構造
campaign_content.content オブジェクトは 2 つの形式を受け付けます。形式は、キャンペーンにロケールまたは A/B テストのバリエーションが設定されているかどうかによって異なります。
フラット形式(ロケールなし、バリエーションなし)
content の直下に配置するフラットなオブジェクトです。Push キャンペーンでは push、Email キャンペーンでは email を使用します。
ロケールとバリエーションをキーとする形式
ロケールまたは A/B テストのバリエーションが設定されている場合、content はまずロケール名、次にバリエーション名をキーとします。形式は、Push では content[locale_name][variation_name] = { push: { ... } }、Email では content[locale_name][variation_name] = { email: { ... } } です。
"default"ロケールキーは常に必須です。名前付きのロケールに一致しないユーザー向けのフォールバックとして機能します。- 追加のロケールキーは、それぞれ
campaign_content.localesに列挙された値(例:"en-US"、"es-ES")と一致する必要があります。"default"ロケールは暗黙的に存在するため、campaign_content.localesに列挙しないでください。 - バリエーションキー(例:
"variation_1")は、variation_details.no_of_variationsの数に対応します。A/B テストが設定されていない場合は、"variation_1"が唯一のキーとして使用されます。
Android プッシュのコンテンツ
campaign_content.content.push.android(フラット形式)または content[locale][variation].push.android(ロケール/バリエーション形式)です。Android で使用できる template_type の値は次のとおりです。
BASIC, STYLIZED_BASIC, SIMPLE_IMAGE_CAROUSEL, IMAGE_BANNER_WITH_TEXT, TIMER, TIMER_WITH_PROGRESS_BAR, Custom.
Android テンプレートのバリエーション
- BASIC
- STYLIZED_BASIC
- SIMPLE_IMAGE_CAROUSEL
- TIMER
- TIMER_WITH_PROGRESS_BAR
- Custom
デフォルトのテンプレートです。タイトル、メッセージ、および任意で画像または GIF を含みます。
BASIC では、静止画像の代わりに GIF を表示するための input_gif_url がサポートされています。Android の basic details フィールド
AndroidBasicDetails には、テンプレート固有のスタイル設定とクリックアクションのフィールドがまとめられています。一部のフィールドは特定のテンプレートにのみ適用されます。
Android のカルーセルコンテンツ
Android のSIMPLE_IMAGE_CAROUSEL で使用される画像カルーセルの設定です。
Android の timer フィールド
AndroidTimer は、TIMER と TIMER_WITH_PROGRESS_BAR で必須です。
Android の button フィールド
buttons の各エントリは AndroidButton です。
Android の advanced フィールド
AndroidAdvanced には、プラットフォームレベルの配信フラグがまとめられています。
Android の template backup フィールド
AndroidTemplateBackup は、テンプレートを表示できない場合(例: 古い Android バージョン)に表示されるフォールバック通知を定義します。STYLIZED_BASIC、SIMPLE_IMAGE_CAROUSEL、IMAGE_BANNER_WITH_TEXT、TIMER、TIMER_WITH_PROGRESS_BAR で必須です。
iOS プッシュのコンテンツ
campaign_content.content.push.ios です。iOS で使用できる template_type の値は次のとおりです。
BASIC, STYLIZED_BASIC, SIMPLE_IMAGE_CAROUSEL, Custom.
iOS テンプレートのバリエーション
- BASIC
- STYLIZED_BASIC
- SIMPLE_IMAGE_CAROUSEL
- Custom
rich_media_type(Image、Video、または GIF。先頭のみ大文字)と rich_media_value(URL)を指定します。input_gif_url は BASIC と STYLIZED_BASIC でサポートされています。iOS の basic details フィールド
iOS のカルーセルコンテンツ
iOS の button フィールド
iOS のボタンはカテゴリベースのモデルを使用します。ボタンはアプリ内で事前に定義されており、キャンペーンはカテゴリを名前で参照します。iOS の advanced フィールド
iOS の template backup フィールド
STYLIZED_BASIC と SIMPLE_IMAGE_CAROUSEL で必須です。
Web プッシュのコンテンツ
campaign_content.content.push.web です。Web プッシュは現在、template_type: BASIC のみをサポートしています。
Web の basic details フィールド
Web の button フィールド
buttons の各エントリは WebButton です。
Web の advanced フィールド
Email のコンテンツ
campaign_content.content.email にはメールメッセージを含めます。互いに併用可能な 2 つのコンテンツソースがサポートされています: html_content の生の HTML、または custom_template_id で参照される保存済みテンプレートです。少なくともいずれか一方が必要です。
Email コンテンツのバリエーション
- HTML コンテンツ
- 保存済みテンプレート
- Ace Editor
- CC と BCC
メールの添付ファイル
attachments の各エントリは { file_type, url } です。
A/B テストのバリエーション
campaign_content.variation_details で A/B テストを設定します。
variation_details を設定した場合、campaign_content.content ではロケールとバリエーションをキーとする形式を使用する必要があります。コンテンツペイロードの構造 を参照してください。
- MANUAL (50/50)
- SHERPA(自動最適化)
Email 配信コネクタ
connector オブジェクトは Email のリクエストボディの一部(Email の campaign_content ではありません)であり、ワークスペースで設定された配信プロバイダーを識別します。
connector は、Email の Create リクエストと Email のインラインテストリクエストで 必須 です。Push のリクエストボディには含まれません。検証ルール
以下のルールは、このページの複数のサブオブジェクトにまたがって適用されます。各ルールは検証時または公開時に適用されます。既存のキャンペーンの更新
PATCH /v5/campaigns/{campaign_id} は、このページのすべてのスキーマを再利用します。更新には追加のルールが適用されます。
- ネストされたオブジェクト内のフィールドを更新する場合、リクエストには 親オブジェクト全体 を含める必要があります。たとえば、Android プッシュのタイトルのみを変更する場合は、
campaign_content.content.push.androidブロック全体を含めます。 - Update のリクエストボディには
updated_by(監査目的で使用される、編集ユーザーのメールアドレス)が含まれます。省略した場合、更新は認証された API 認証情報によるものとして記録されます。 ACTIVE状態のキャンペーンでは、以下のフィールドを 編集できません:trigger_condition、segmentation_details、conversion_goal_details、スケジュールのタイプ、スケジュールの開始日。campaign_contentとbasic_details.platformsは 編集できます。状態ごとの完全な一覧は Update Campaign にあります。- イベントトリガー型キャンペーンで
campaign_contentを更新した場合、コンテンツのキャッシュにより、反映されるまで最大 30 分かかることがあります。 - Update Push スキーマは
campaign_delivery_typeの値としてBROADCAST_LIVE_ACTIVITYを受け付けますが、ドラフト作成では受け付けません。V5 を通じてドラフトを Live Activity キャンペーンに移行することはできません。
- campaign_content (Push)
- campaign_content (Email)
- platform_specific_details
- control_group_details (Push)
- control_group_details (Email)
関連情報
- オーディエンスと配信のリファレンス —
trigger_condition、segmentation_details、scheduling_details、delivery_controls、conversion_goal_details、control_group_details、utm_params、campaign_audience_limit、advanced、geofences。 - Create Campaign — 必須フィールド、正常系の cURL、エラーレスポンス。
- Update Campaign — 状態ごとの編集制限、公開アクション。
- Update Campaign Status —
STOP、PAUSE、RESUMEの遷移。 - Validate Campaign — 公開前の検証チェック。
- キャンペーンドラフトの概要 — ライフサイクル、チャネル、サポートされている配信タイプ。