イベント活動 JSON を解析してボット コンテキストを取得する
顧客サービス のオムニチャネル コンテキスト メッセージは、イベント アクティビティとしてボットに送信されます。 顧客情報、ライブ作業項目、会話 ID などのコンテキスト情報は、アクティビティ JSON の一部としてボットに送信されます。 JSON のタイプは、多くのチャネルでの startConversation と音声会話での ConversationUpdate です。
ボット コードでボットのコンテキストを取得して使用する
これらのコンテキスト メッセージを処理するには、アクティビティ ハンドラーを使用し、ボット コードでそれらをオーバーライドします。 アクティビティ ハンドラーの使用方法については、アクティビティ ハンドラーを使用したイベント駆動型の会話 を参照してください。
次の例では、イベント アクティビティを受信すると、OnEventActivityAsync
メソッドが呼び出され、コンテキストを取得して使用します。
protected override async Task OnEventActivityAsync(ITurnContext<IEventActivity> turnContext, CancellationToken cancellationToken)
{
if (turnContext.Activity.Name == "omnichannelSetContext")
{
// Replace with your logic to fetch the context from Activity.Value
IActivity replyActivity = MessageFactory.Text($"Received context : {turnContext.Activity.Value.ToString()}");
// Replace with your logic to consume the context
await turnContext.SendActivityAsync(replyActivity, cancellationToken);
}
}