自動化プラン
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
自動化プラン定義は、Sitecore.Marketing.Definitions.AutomationPlans.AutomationPlanDefinitionManagerクラスによって管理されます。
AutomationPlanDefinitionManagerへのアクセス
AutomationPlanDefinitionManagerは、Sitecore DIコンテナから入手できます。クラスのコンストラクタにDefinitionManagerBase<IAutomationPlanDefinition, AutomationPlanDefinitionRecord> 型のパラメータを含め、コンテナからクラスをプルして、コンテナがインスタンスを解決できるようにすることをお勧めします。
コンテナを使用してクラスを構築できない場合は、サービス ロケータを使用できます。このクラスは、Sitecore DIコンテナーでも使用できます。
自動化計画の定義
オートメーション プランは、Sitecore.Marketing.Definitions.AutomationPlans.Model名前空間のタイプを使用して定義されます。ほぼ単純なPOCOである他の多くの定義とは異なり、オートメーション プランはより複雑で、コレクション プロパティが含まれています。
プランの定義
自動化プランは、Sitecoreの定義アイテムで表されます。次の例は、基本プランを定義する方法を示しています。
次の点に注意してください。
-
ContextKeyFactoryTypeは、ReentryModeが AutomationPlanReentryMode.Multiple
エントリースケジュールの計画
コンタクトの特定のセグメントの登録スケジュールを定義します。たとえば、すべての新しいコンタクトを新しいユーザーのプランに1時間ごとに登録することを選択できます。
次の例では、PlanEntryScheduleプロパティを、毎日指定した時刻に実行されるDailyScheduleに設定します。このプランは、IDが {2546482E-887A-4CAB-A403-AD9C326FFDA5}の既存の連絡先セグメントを対象としています。
次の4つのプラン スケジュールがあります。
-
DailySchedule - 毎日決まった時間に運行しています。
-
WeeklySchedule - 特定の曜日 (月曜日や金曜日など) の特定の時間に実行されます。
-
SameDayEachMonthSchedule - 月の特定の日(1日や22日など)の特定の時間に実行されます。
-
WeeklyDayEachMonthSchedule - 毎月1回、特定の曜日の特定の時間に実行されます (例: 第2金曜日)。月の最終週に登録をスケジュールする -1を指定します。
1つのプランに複数のスケジュールを割り当てることができます。ただし、マーケティングオートメーションのユーザーインターフェースは、複数のスケジュールの編集には対応しておらず、削除のみをサポートしています。
活動
自動化プランには、アクティビティのコレクションが含まれています。アクティビティは、個々のサブアイテム としてではなく 、プランアイテム自体にJSONとして保存されます。プラン内の各アクティビティは、それ自体から次のアクティビティへの有効なパスを定義します。連絡先は、法的パスに沿ってアクティビティからアクティビティに移動することで、プランを横断します。
アクティビティを定義する際には、以下の点に注意してください。
-
アクティビティIDは、自動化プラン内で一意である必要があります
-
EntryActivityIdを定義する必要があります - これは、連絡先が開始するAutomationActivityDefinitionのIDです
-
アクティビティに1つのパスのみが含まれている場合、多くの場合、デフォルト パスと呼ばれます
-
ActivityTypeIdは、マーケティングオートメーションエンジンで設定されたアクティビティタイプのIDと一致する必要があります
-
アクティビティが追加される順序 は重要ではなく 、連絡先がプランを通過できる順序は、各アクティビティが定義する有効なパスによって決まります
次のプランには3つのアクティビティがあります。 firstActivityでは、連絡先をemailActivityに送信するパス (デフォルト) と、連絡先をsnailmailActivityに送信するパスの2つのパスが定義されています。
アクティビティの種類
各アクティビティは、アクティビティの種類を参照します。アクティビティの種類は、連絡先がアクティビティに登録されたときに実行されるロジックを決定します。アクティビティ・タイプは、一部の構成とともに自動化エンジンにデプロイされるクラスです。各アクティビティタイプには、アクティビティタイプ名、説明、アクティビティが受け入れるパラメータなど、Emmaが必要とするすべてのものを含む アクティビティタイプ記述子項目 もあります。
ActivityTypeIdとして使用するものです。アクティビティの種類とその作成方法の詳細をご覧ください
1つのアクティビティ タイプを、同じプラン内または複数のプラン間で複数回使用できます。
アクティビティパラメータ
アクティビティの種類では、アクティビティのインスタンスごとに設定するパラメーターを定義できます。パラメータは、アクティビティタイプクラスの単純なプロパティと、記述子アイテムの下の一致するアイテムで表されます。
次の例では、アクティビティの種類ID {56632708-510a-46fd-995d-6a4a709e90d4} に関連付けられたクラスにFromAddressプロパティがあることを前提としています。このプランが実行されると、指定された値が使用されます。
自動化プランの保存
プランを定義したら、定義マネージャーでSaveAsync() メソッドを呼び出してプランを保存できます。
オプションで、保存中にSaveAsync() メソッドの2番目のパラメータにtrueを渡すことで、プランをアクティブ化することもできます。
既存の自動化プランを更新する
既存のプラン定義を更新するには、saveメソッドを再度呼び出します。
より一般的なシナリオは、最初にプランを取得し (以下を参照)、モデルを更新してから、更新されたプランでsaveを呼び出すことです。
オートメーション プランのアクティブ化
プランは、Reference Data Serviceに "公開" されるなど、管理の外部で使用できるようになる前にアクティブ化する必要があります。
プランは、SaveAsync() メソッドのactivate(2番目の)パラメータにtrueを渡すことで、保存時にアクティブ化できます。
プランは、ActivateAsync() メソッドを使用して、saveを呼び出さずにアクティブ化することもできます。
ActivateAsync()方法は、プランのIDを取り、プラン定義モデルを必要としません。
オートメーションプランの削除
プランを削除するには、マネージャーでDelete() メソッドを使用します。個々のカルチャを定義から削除することはできず、定義全体のみを削除します。メソッド呼び出しに提供されるカルチャは、null (既定値) またはCultureInfo.InvariantCultureである必要があります。
オートメーションプランの取得
1つのプランは、マネージャーのGet() メソッドのいずれかを使用して、そのIDによって取得できます。
自動化プランをエイリアスで取得する
自動化プランは 、そのエイリアスで取得することもできます。
すべての自動化プランの取得
GetAll() メソッドを使用して、マネージャーからすべてのプランを取得できます。定義が多数ある可能性があるため、このメソッドはページングをサポートします。戻り値は1ページの結果です。
結果にアクセスするには、結果のDataPageプロパティを使用します。
この結果には、定義の総数と現在のページ・インデックスおよびページ・サイズを公開するプロパティも含まれます。