カスタムバリュー

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

カスタム値はアクティビティタイプ同士でデータを共有できるようにします。カスタムデータは現在の登録に特化し、オートメーションデータベースにのみ格納されます。恒久的な保存を意図していません。重要な情報を別の場所やサービス(xConnectクライアントの利用など)に保存してください。

カスタム値は文字列キー値のペアです。アクティビティはカスタム値を読み書きできます。プラン内の他のアクティビティはこれらの値を読み、更新できます。

カスタム値の一般的な用途は、あるアクティビティから別のアクティビティへ計算を繰り返すのを避けることです。例えば、特定の結果を現在の相互作用から検索するアクティビティがあるとします。結果が存在すれば、そのアクティビティはその結果に関する関連データをカスタム値に保存できるため、他のアクティビティが結果を探す必要がなくなり、直接カスタム値にアクセスできます。

カスタム値の設定

Invokeの中にcontext.SetCustomValue(string,string)方法を使います。

public ActivityResult Invoke(IContactProcessingContext context) { var outcome = context.Interaction.Events.FirstOrDefault(x => x.DefinitionId == MyOutcomeDefinitionId) as Outcome;

if(outcome != null) { context.SetCustomValue("cost", outcome.MonetaryValue.ToString()); return new SuccessMove("triggered"); }

return new SuccessMove("not-triggered"); }

カスタム値の取得

Invokeの中にcontext.GetCustomValue(string,string)方法を使います。

public double ValueLimit { get; set; }

public ActivityResult Invoke(IContactProcessingContext context) { var monetaryValue = decimal.Parse(context.GetCustomValue("cost"));

if(monetaryValue >= ValueLimit) { return new SuccessMove("over"); }

return new SuccessMove("under"); }

カスタム値のライフタイム

Sitecoreはカスタム値をオートメーションデータベースに保存します。登録を削除すると、アクティビティはSuccessExitPlanを返し、システムはカスタム値を破棄します。

この記事を改善するための提案がある場合は、 お知らせください!