テキストのみのチャネル

Facebookチャネルと同様に、テキストのみのチャネルは、メッセージング・プラットフォームとデジタル・アシスタントの両方で生成されたアーティファクトを使用して構成します。ただし、Twilio/SMSなどのテキストのみのチャネルについては、ボタンがサポートされていない場合にボットのレスポンスが適切にレンダリングされるようにダイアログ・フロー定義を更新する必要もあります。これには2つの側面があります:
  • テキストのみのチャネルのコンテンツの表示または非表示。共通レスポンス・コンポーネントでは、metadataプロパティを更新して、レスポンス・アイテム、カードまたはグローバル・アクションについてTwilioを含める(または該当する場合は除外する)必要があります:
    responseItems:
    - type: "text"
      text: "This text text displays on Twilio"
      visible:
        channels:
          include: "twilio"             
    - type: "text"
      text: "This text is not shown in Twilio or Facebook!"
      visible:
        channels:
          exclude: "facebook, twilio"
      actions:
      - label: "This action is only shown on web channel."
        type: "postback"
        payload:
          action: "someAction"
        visible:
          channels:
            include: "web"
  • 自動採番の構成。

Twilio/SMS

Twilio/SMSでデジタル・アシスタントを実行するには、次のものが必要です:
  • Twilioの資格証明(デジタル・アシスタントのチャネル構成でこれらを指定します):
    • Twilioの電話番号。

    • アカウントSID

    • 認証トークン

  • デジタル・アシスタントから(Twilioに提供):

    • (Twilioチャネルの作成時に生成された) WebフックURL。

ノート

Twilioでデジタル・アシスタントのチャネルを作成する場合、ユーザーがデジタル・アシスタントのスキルから移動する際に使用する可能性がある「exit」は、Twilioのデフォルトのキーワードでもあることに注意してください。そのため、ユーザーがTwilioチャネルで「exit」と入力すると、Twilioの会話は終了し、デジタル・アシスタントはその入力を受信しません。「exit」により終了してデジタル・アシスタントを操作したいユーザーは、キーワードとしての「exit」を削除するようにTwilioに連絡する必要があります。

ステップ1: SMS対応のTwilio番号を取得する

Twilioチャネル構成に必要なTwilio番号、アカウントSID、認証トークンを生成するには、最初にTwilioアカウントを作成する必要があります(まだ持っていない場合)。IDを確認した後:
  1. 左側のナビゲーション・バーで「All Products and Services」(これは「All Products and Services」アイコンのイメージです。)をクリックします。

  2. 「Programmable SMS」(これは「Programmable SMS」アイコンのイメージです。)と「Phone Numbers」(これは「Phone Numbers」アイコンのイメージです。)の両方をダッシュボードに固定します。
    twilio-products.pngの説明が続きます
    図twilio-products.pngの説明

  3. 「Phone Numbers」(左側のナビゲーション・バーに固定されている)をクリックし、「Get Started」をクリックします。

  4. 「Get a Number」または「Buy a Number」を選択します。いずれの場合も、「SMS」機能を選択してください。この番号はデジタル・アシスタントでTwilioチャネルを構成するときに使用するため、手元に置いておきます。

  5. 左側のナビゲーション・バーで「Console Dashboard」(これはダッシュボード・アイコンのイメージです。)をクリックし、アカウントSIDと認証トークンを書き留めます(「View」をクリックしてアクセスします)。Twilioチャネルを構成するために、Twilio番号とともにこれらの資格証明が必要です。

ステップ2: ボットをTwilio番号にリンクする

手元のTwilio資格証明を使用して:
  1. デジタル・アシスタントに戻り、左側のメニューの「チャネル」をクリックして、「ユーザー」を選択します。

  2. 「チャネルの追加」をクリックします。

  3. 「チャネルの作成」ダイアログで:
    1. 名前を入力し、「チャネル・タイプ」メニューから「Twilio SMS」を選択します。

    2. アカウントSID、認証トークンおよびTwilio番号を入力します。

    3. 「チャネル有効」をオンに切り替えます。

    4. 「ルート先...」ドロップダウンのアイコンをクリックし、チャネルに関連付けるデジタル・アシスタントまたはスキルを選択します。

  4. 「作成」をクリックします。WebフックURLを書き留めます。これは、Twilioコンソールを最後に停止するために必要になります。

  5. Twilioコンソールで、「Phone Numbers」(これは「Phone Numbers」アイコンのイメージです。)をクリックし、「Active Numbers」をクリックします。

  6. 「Active Numbers」ページでTwilio番号をクリックします。

  7. 「Configure」ページの「Messaging」セクションで、WebフックURLを「A Message Comes In」フィールドに貼り付けます。

  8. 「Save」をクリックします。

テストのヒント

デジタル・アシスタントのTwilioアカウント番号にメッセージを送信することにより、自分の電話を使用してTwilioチャネルをテストできます。

サポートされている機能

デジタル・アシスタントのTwilioチャネルでは、次の機能がサポートされています:

  • テキスト
  • イメージ(URLとして)
  • ファイル(URLとして)
  • 絵文字(URLとして)
  • リンク
  • ポストバック(URLとして)
  • カスタム・プロパティ(一部)
  • カルーセル・コンポーネント(一部)
  • リスト・コンポーネント(一部)
ノート

異なるフォーマット機能を持つ複数のチャネルにスキルをターゲットにする場合は、メッセージでHTMLマークアップを使用できます。テキストベースのチャネルの場合、メッセージがチャネルに送信されると、このマークアップはメッセージから削除されます。チャネルでのリッチ・テキスト形式を参照してください。

メッセージの制約

デジタル・アシスタントのTwilioチャネルには、次のようなメッセージの制約があります:

  • テキスト・メッセージ
    • テキスト・メッセージの最大長: 1600文字。長さが1600を超えると、テキストは複数のメッセージに分割されます。
    • 許可されるテキスト・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
  • 水平カード
    • サポートの有無: なし。ただし、一部のアクション・タイプをテキストに変換することで、ほぼ同等の機能が実現されます。
    • 許可されるカード・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
    • 許可されるカード・リスト・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
  • 垂直カード
    • サポートの有無: なし。ただし、一部のアクション・タイプをテキストに変換することで、ほぼ同等の機能が実現されます。
    • 許可されるカード・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
    • 許可されるカード・リスト・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
  • アタッチメント・メッセージ
    • サポートの有無: MMSが有効な場合は、あり。
    • 許可されるアタッチメント・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。
  • アクション・ボタン
    • サポートの有無いいえ。ただし、一部のアクション・タイプをテキストに変換することで、ほぼ同等の機能が実現されます。
    • 許可されるグローバル・アクションのタイプ: ポストバック、コール、URL。これらのアクション・タイプはテキストに変換されます。ポストバック・アクションの場合、ラベルは、ポストバックをトリガーするために使用できるキーワードとして機能します。

Twilioチャネルの拡張機能

Twilioチャネルの場合、Twilioに固有の機能でCommon Responseコンポーネントの機能を拡張できます。

拡張機能にアクセスするには、コンポーネントのchannelCustomProperties要素を使用し、適切なプロパティを設定します。コードのフォーマットは次のとおりです:

...
            channelCustomProperties:
            - channel: "twilio"
              properties:
                PROPERTY_NAME: "PROPERTY_VALUE"
...

コンポーネントのメタデータ内のchannelCustomPropertiesは、指定されたプロパティに応じて、globalActionsresponseItems、およびresponseItemsの要素のレベルで適用できます。

Twilioチャネルで使用可能なカスタム・プロパティを次に示します:

名前 許可される値 適用対象 説明
mmsEnabled
  • true
  • false
タイプがcardsまたはattachmentのレスポンス・アイテム。 チャネル構成のデフォルトのMMS対応設定をオーバーライドするために使用できます。有効にした場合、イメージは、「タップしてレビュー」ボタンのある独自のメッセージ・バブルに表示されます。
optimizeCardRendering
  • true
  • false
タイプがcardsのレスポンス・アイテム。 trueに設定すると、カード・アクションの選択が2ステップのプロセスになり、ユーザーは最初にカードを選択してからカード・アクションを選択します。
cardListHeader
  • フリー・テキスト
タイプがcardsのレスポンス・アイテム。 カード・リストが提示されるときに表示されるヘッダー。このプロパティは、カード・メッセージのheaderTextプロパティをオーバーライドします。optimizeCardRenderingtrueに設定されている場合にのみ適用されます。
cardListFooter
  • フリー・テキスト
タイプがcardsのレスポンス・アイテム。 カード・リストが提示されるときに表示されるフッター。このプロパティは、カード・メッセージのfooterTextプロパティをオーバーライドします。optimizeCardRenderingtrueに設定されている場合にのみ適用されます。
cardDetailHeader
  • フリー・テキスト
次のいずれかになります:
  • "url"プロパティが指定されているカード
  • "type": "url"action
カード詳細が提示されるときに表示されるヘッダー。このプロパティは、カード・メッセージのheaderTextプロパティをオーバーライドします。optimizeCardRenderingtrueに設定されている場合にのみ適用されます。
cardDetailFooter
  • フリー・テキスト
次のいずれかになります:
  • "url"プロパティが指定されているカード
  • "type": "url"action
カード詳細が提示されるときに表示されるフッター。このプロパティは、カード・メッセージのfooterTextプロパティをオーバーライドします。optimizeCardRenderingtrueに設定されている場合にのみ適用されます。

channelCustomPropertiesの使用方法の詳細は、チャネル固有の拡張を参照してください。