Dialogflowで独自に販売のチャットボットを作成する-（第六部）（自動的に注文を作成する）

<!-- wp:paragraph -->
<p><strong>（自動的に注文を作成する）</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://qiita.com/ints/items/69619ebb1836e6390097">第5部はこちら</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>前の部分では、子供向けの粉ミルクについてアドバイスというチャットボットを作成するようにガイドしましたが、このチャットボットはユーザーにミルクを販売する価格や住所についてアドバイスするだけです。この部分ではユーザー情報収集と注文のクローズを調査し続けていきます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp; チャットボットはユーザーが製品を購入する必要があると認識するためには、まず、新しいエンティティを定義し、e購入という名前を付けます。</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table><tbody><tr><td>e購入<br>·        購入：購入する、購入する必要がある、購入したい<br>·        販売：販売する、私に販売しててくれる、荷物ちょうだい<br>·        注文：注文する、予約注文する、予約購入する</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p>次に、インテントを作成し、チャットボットにユーザーが商品の注文によく使用するフレーズを教える必要があります。このインテントにi購入という名前を付けます。</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table><tbody><tr><td>トレーニング フレーズ：<br>·        1箱を注文したい<br>·        1箱ください<br>·        1箱を購入したい<br>レスポンス:<br>·         ご注文を承りました。誠に ありがとうございました！</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p>「Action and parameters」セクションには、現在、e購入というエンティティに基づいて自動的に作成された一つのe購入というパラメーターがあります。顧客情報を収集できるように、名前、電話番号、場所などのようなユーザーが入力する情報をキャプチャするために他のパラメーターを定義する必要があります。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>注文チャットボットのデモ</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>·&nbsp; &nbsp; &nbsp; &nbsp; パラメータ名が「name」と作成します：エンティティがsys.anyに選択して、requiredボックスを選択して（このエンティティアクティブ化されたときにユーザーに名前を入力するように要求します）、Define prompをクリックします。表示されるウィンドウズで、ユーザーにフルネームを入力して頂くため、「お名前は何ですか？」などの質問を入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>·&nbsp; &nbsp; &nbsp; &nbsp; Addressというパラメーターの名前の作成を続行します：エンティティは引き続きsys.anyを選択して、requiredを選択して、ユーザーにアドレスを提供して頂くため、質問を入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>·&nbsp; &nbsp; &nbsp; &nbsp; 最後に、Phoneというパラメーターの名前の作成を続行します：エンティティはsys.phone-numberに選択して、requiredを選択して、ユーザーに電話番号を提供して頂くため、質問を入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>注意：「sys.」で始まるエンティティは、Dialogflowによって事前定義されたエンティティであり、定義されたデータ型に従って、ユーザーが入力した内容が正しいかどうかを確認します。それはユーザーが正しい電話番号の形式を入力する必要があるため、Phoneというパラメータにsys.phone-numberタイプを選択する理由です。名前とアドレスについては、Dialogflowは引き続き対応するエンティティを提供しますが、Dialogflowのデータチェック方法はベトナムの名前と住所に一致しないのでanyのタイプを選択しました（ユーザーがどんな情報でも入力できます）。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>最後に、このインテント構成セクションで、ページの下部にあるFulfillmentセクションまでスクロールして、Enable webhook call for this intentというオプションを開いて、「Save Intent」をクリックします。このオプションを使用すると、Dialogflowはユーザーが入力した情報を含むリクエストをWebサーバーに送信できます。残りはその情報を取得してWebサイトで注文を作成するだけです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ユーザーがi購入をアクティブ化したときに、Dialogflowから返送されるデータを収集するには、Webサーバーへのリンクを作成する必要があります。Webサーバーでどんな言語でも使用できます。ここでは、PHPでデモを行って、Webサーバーで次のコンテンツを含むtrigger.phpというファイルを作成します。次に、右側のメニューのFulfillment項目に移動してWebhookアイテムを有効にする必要があります。URL欄に、Webサーバーのtrigger.phpファイルへのパスを入力し、もう一度「Save」をクリックします。以下の画像は、ユーザーが購入のインテントをアクティブ化したときにDialogflowから取得するコンテンツです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> <a href="https://qiita.com/ints/items/69619ebb1836e6390097">第5部はこちら</a> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://ints.vn">株式会社INTS</a>　開発部　レー・ジャン</p>
<!-- /wp:paragraph -->