LoginSignup
1
0

More than 1 year has passed since last update.

注文のキャンセル処理を追加する 〜セッション変数の使い方〜

Last updated at Posted at 2022-12-04

image.png

New Watson Assistant Build 編の 2 回目です。

前回「直感的に操作できる Action で対話フローを作成してみる」では、

  • ピザの注文・アクションの作成
  • Preview 機能を使ったアクションの動作確認 (変数値確認モードを使用)

を実際の操作手順を交えながら紹介しました。

今回の記事では、

  • 割引条件アクション注文キャンセル・アクションの作成

を実際の操作手順を交えながら紹介します。

各アクションとその処理内容

作成するアクションとその処理内容のイメージ図です。
image.png

今回は、割引条件アクション注文キャンセル・アクションに関する対話フローを作成します。

特に注文キャンセル・アクションでは、ピザの注文アクションで注文した内容を使用します。
特定のアクション内で得た値は自動的に変数値として保存されますが、その特定のアクションが実行されている間だけ有効な一時的な保存なので、他のアクションで使用したい場合は、セッション変数として保存する必要があります。

セッション変数の作成方法と使い方は、Actions を使いこなす上で重要な概念ですので、この記事でしっかりと理解していただければと思います。

これまでの記事

第 1 回目 New Watson Assistantがやってきた!
第 2 回目 Watson Assistantのインスタンスを立てる
第 3 回目 直感的に操作できる Action で対話フローを作成してみる

対話フローの作成 (第 3 回目からの続き)

ピザの注文には欠かせない:smiley:、「割引条件」と「注文のキャンセル」を扱うアクションを作成します。

割引条件・アクション

新しいアクションを作成します。

image.png

上記画面までの操作を忘れた方はこちらを参照してください。

image.png

ユーザーへの返信を入力します。
このアクションはこれで終了なので、[End the action]を設定します。
image.png

このように表示されていれば OK です。
image.png

右上の[保存アイコン]と[x]をクリックして、アクション作成画面に戻ります。
image.png

注文キャンセル・アクション

注文キャンセル・アクションでは、ピザの注文アクションで注文した内容を使用します。

ピザの注文アクション内で得た値は自動的に変数値として保存されますが、そのアクションが実行されている間だけの一時的な保存なので、注文キャンセル・アクションで使用したい場合は、ピザの注文アクション内でセッション変数として保存しておく必要があります。

セッション変数として保存するために必要な設定は2つです。

  1. セッション変数を定義する
  2. アクション内で得た値をセッション変数にセット

セッション変数を定義する

image.png
image.png

ピザの種類を保存する、セッション変数 pizza を作成します。
image.png

同様に、ピザのサイズを保存する、セッション変数 size を作成します。
image.png

同様に、配達時間を保存する、セッション変数 time を作成します。
image.png

このように表示されていれば OK です。
image.png

ピザの注文アクション内で得た値をセッション変数にセットする

ピザの注文内容を保存するセッション変数の準備ができたので、注文内容をセッション変数にセットするための設定を行います。

image.png
image.png
image.png
image.png

ピザの種類は、ステップ 1 の聞き返しで入手しています。
設定画面に表示されているステップ 1 での聞返文を選択することで、ピザの種類を pizza 変数にセットできます。
image.png

次はピザのサイズをセッション変数 size にセットします。
image.png

image.png

次は配達時刻をセッション変数 time にセットします。
image.png
image.png

このように表示されていれば OK です。
image.png

注文キャンセル・アクションの作成

ピザの注文内容を保存しているセッション変数を使用して、注文キャンセル・アクションを作成します。
image.png
image.png

ステップ1: キャンセル内容の確認

image.png

セッション変数 pizza の値を挿入します。
image.png
image.png
このように表示されていれば OK。
image.png

セッション変数 size の値を挿入します。
image.png
image.png
このように表示されていれば OK。
image.png

セッション変数 time の値を挿入します。
image.png
image.png

このように表示されていれば OK。
image.png

注文内容がキャンセルするか、キャンセルしない、かの選択肢を表示します。
image.png
image.png

このように表示されていれば OK。
image.png

ステップ2: キャンセルの実行

キャンセルする場合の処理を追加します。
image.png
image.png
image.png

セッション変数をクリアします。
image.png
image.png
image.png
image.png

同様に、sizetime にも null をセットする。
このように表示されていれば OK。
image.png

ステップ3: キャンセルしないの実行

キャンセルしない場合の処理を追加します。
image.png

これまでの操作手順にて、このような内容にセットします。
image.png

作成した対話フローのテスト

ピザの注文内容がセッション変数の保存される様子を確認

"直感的に操作できる Action で対話フローを作成してみる"のテスト 1 を実行してください。
前回でも確認しましたが、ユーザーの選択した内容が内部変数の値として保存されています。
image.png

今回、追加定義した内容により、セッション変数に内部変数の値がセットされました。
image.png

注文のキャンセル・アクションでセッション変数が使用できていることを確認

セッション変数の値を使用して注文内容を表示している様子がわかります。
image.png

注文のキャンセルでセッション変数がクリアされた様子がわかります。
image.png

いかがでしたでしょうか?

今回は、セッション変数を使用し、アクション間で情報を共有するスマートな対話フローを作成する手順を確認しました。

参考情報

公式オンラインマニュアル: セッション変数の使い方

当記事をリンクしている Advent Callendar 2022

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0