チャットで顧客が使用する Amazon Lex インタラクティブメッセージを追加する - Amazon Connect

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チャットで顧客が使用する Amazon Lex インタラクティブメッセージを追加する

インタラクティブメッセージは、顧客が選択できるプロンプトと事前設定された表示オプションを表示するリッチメッセージです。これらのメッセージは Amazon Lex を使用し、 AWS Lambda 関数を使用して Amazon Lex を介して設定されます。

ヒント

Apple Messages for Business と統合している場合は、Apple ウェブサイトの「Interactive Message Types」を参照してください。

検証の制限

文字列フィールドの制限 (タイトル、サブタイトルなど) は、クライアント (つまり、カスタムビルドのインターフェイスまたはホストされているコミュニケーションウィジェット) が強制的に適用するものと想定されています。SendMessage API がチェックするのは、文字列の合計サイズが 20 KB 未満であることだけです。

  • ホスト型のコミュニケーションウィジェットをカスタマイズせずに使用する場合、文字列がフィールド制限を超えると、ユーザーインターフェイス上で切り捨てられて、省略記号 (...) が付加されます。ウィジェットをカスタマイズすることで、フィールド制限を適用する方法を決定できます。

  • 他のプラットフォーム (Apple Messages for Business など) と統合する場合は、このトピックの Amazon Connect の制限と、他のプラットフォームのドキュメントの制限を確認してください。例えば、クイック返信は古いバージョンの iOS ではサポートされていません。

メッセージを正常に送信するには、他のすべてのフィールド制限に従う必要があります。

メッセージ表示テンプレート

Amazon Connect には、次のメッセージ表示テンプレートが用意されています。これらを使用して、チャットで顧客に情報をレンダリングします。

これらのテンプレートは、情報のレンダリング方法、およびチャットインターフェイスに表示される情報を定義します。対話型メッセージがチャット経由で送信される場合、フローは、メッセージ形式がこれらのテンプレートの 1 つに従っているかどうかを検証します。

リストピッカーテンプレート

リストピッカーテンプレートを使用すると、最大 6 つの選択肢のリストを顧客に表示できます。各選択肢に、独自の画像を持たせることができます。

以下の画像は、リストピッカーテンプレートを使用してチャットで情報を表示する 2 つの方法の例を示しています。

  • 1 つの画像には 3 つのボタンが示されていて、それぞれにリンゴ、オレンジ、バナナという果物の名前がテキストで書かれています。

  • 2 番目の画像は店舗の写真を示していて、その下に 3 つのボタンがあり、それぞれに果物の名前、画像、価格が表示されています。

チャットで情報を表示しているリストピッカーテンプレート。

次のコードは、Lambda で使用できるリストピッカーテンプレートです。次の点に注意してください。

  • 太文字は必須パラメータを示します。

  • 親要素が必須ではなくても、親要素のフィールドが必須の場合、それらのフィールドが必須になることがあります。例えば、次のテンプレートの data.replyMessage 構造体を参照してください。構造体が存在する場合、title は必須です。そうでない場合は、replyMessage 全体が省略可能です。

{ "templateType":"ListPicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Produce selected", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy" }, "content":{ "title":"What produce would you like to buy?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy", "elements":[ { "title":"Apple", "subtitle":"$1.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg" }, { "title":"Orange", "subtitle":"$1.50", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg", }, { "title":"Banana", "subtitle":"$10.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg", "imageDescription":"Banana" } ] }

リストピッカー制限

次の表に、独自の Lambda をゼロから構築することを選択した場合の、リストピッカーの各要素の制限を示します。必須パラメータは太文字です。

無制限のオプションを送信するには、アプリケーションにアクションボタンを実装します。詳細については、「Implementation of action buttons in interactive message list picker/panel」 (対話型メッセージリストピッカー/パネルでのアクションボタンの実装) を参照してください。

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件

templateType

はい

有効なテンプレートのタイプ

data

はい

version

はい

「1.0」を指定してください

data

コンテンツ はい
replyMessage 不可

content

title はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

elements はい

1 アイテム

10 項目

これは要素の配列です。配列内に最大 10 要素。無制限の要素を送信するには、アクションボタン機能を使用します。

subtitle 不可

0

5000

multiSelect 不可

ブール値 - 顧客が複数の選択をできるかどうかを示します。デフォルトは false です。このフィールドは、ビジネスチャット向け Apple メッセージのフローにのみ適用できます。

targetForLinks 不可

この値は、_blank_parent_top_self のいずれかである必要があります。

  • _blank: デフォルトの動作。新しいブラウザタブでリンクを開きます。

  • _parent: 親ブラウジングコンテキストでリンクを開きます。つまり、複数の iframe コンテナアプリケーション間に親子関係がある場合、親 iframe で現在のコンテキストへのリンクが開きます。

  • _top: 一番上のブラウジングコンテキストでリンクを開きます。

  • _self: 現在のブラウジングコンテキストでリンクを開きます。

この表の下にある注記を参照してください。

imageType 不可

0

50

「URL」である必要があります

imageData 不可

0

200

有効なパブリック URL である必要があります

imageDescription 不可

0

50

referenceId 不可

文字列。アクションボタン機能にのみ必要です。

listId 不可

文字列。アクションボタン機能にのみ必要です。

preIndex 不可

数値。アクションボタン機能にのみ必要です。

nextIndex 不可

数値。アクションボタン機能にのみ必要です。

templateIdentifier 不可

数値。必ず UUID にします。リストピッカー/パネルをカルーセルで使用する場合、このフィールドは必須です

elements

title はい

1

5000

subtitle 不可

0

5000

imageType 不可

0

50

「URL」である必要があります

imageData 不可

0

200

有効なパブリック URL である必要があります

imageDescription 不可

0

50

イメージなしでは存在できません

actionDetail 不可

アクションボタン機能にのみ必要です。「PREVIOUS_OPTIONS」または「SHOW_MORE」である必要があります。

replyMessage

title はい

1

5000

subtitle 不可

0

5000

imageType 不可

0

50

「URL」である必要があります

imageData 不可

0

200

有効なパブリック URL である必要があります

imageDescription 不可

0

50

イメージなしでは存在できません

注記

targetForLinks フィールドと Amazon Connect コミュニケーションウィジェットを使用している場合、同じブラウザタブでリンクを開くには、ウィジェットコードスニペットに次の属性を追加して、現在の iframe が同じタブ内のリンクを開いてナビゲートできるようにする必要があります。

amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')

タイムピッカーテンプレート

タイムピッカーテンプレートは、顧客がアポイントメントをスケジュールするのに役立ちます。チャットで最大 40 のタイムスロットを顧客に提供できます。

以下の画像は、タイムピッカーテンプレートを使用してチャットで情報を表示する 2 つの方法の例を示しています。

  • 1 つの画像は 1 つの日付を示していて、その下に 1 つのタイムスロットが表示されています。

  • 2 番目の画像は 1 つの日付を示していて、その下に 2 つのタイムスロットが表示されています。

チャットで情報を表示しているタイムピッカーテンプレート。

次の画像は、タイムピッカーと画像を示しています。

注記

このメッセージテンプレートを Apple Messages for Business チャネルで使用し、画像を追加しない場合、Amazon Connect は返信と応答の両方のメッセージにデフォルトの画像を追加します。

画像の付いたタイムピッカー。

次のコードは、Lambda で使用できるタイムピッカーテンプレートです。次の点に注意してください。

  • 太文字は必須パラメータを示します。

  • 親要素が必須ではなくても、親要素のフィールドが必須の場合、それらのフィールドが必須になることがあります。例えば、次のテンプレートの data.replyMessage 構造体を参照してください。構造体が存在する場合、title は必須です。そうでない場合は、replyMessage 全体が省略可能です。

{ "templateType":"TimePicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting", "subtitle":"Appointment selected", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg", "imageDescription":"Appointment booked" }, "content":{ "title":"Schedule appointment", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg", "imageDescription":"Appointment booked", "timeZoneOffset":-450, "location":{ "latitude":47.616299, "longitude":-122.4311, "title":"Oscar", "radius":1, }, "timeslots":[ { "date" : "2020-10-31T17:00+00:00", "duration": 60, }, { "date" : "2020-11-15T13:00+00:00", "duration": 60, }, { "date" : "2020-11-15T16:00+00:00", "duration": 60, } ], } } } }

タイムピッカー制限

次の表に、タイムピッカーの各要素の制限を示します。独自の Lambda をゼロから構築する場合は、この情報を使用します。必須パラメータは太文字です。

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件

templateType

はい

有効なテンプレートのタイプ

data

はい

version

はい

「1.0」を指定してください

data

replyMessage 不可
コンテンツ はい

replyMessage

title

はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

subtitle 不可

0

5000

imageType 不可

0

50

「URL」である必要があります
imageData 不可

0

200

有効なパブリック URL である必要があります
imageDescription 不可

0

50

イメージなしでは存在できません

content

title

はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

subtitle 不可

0

200

imageType 不可

0

50

「URL」である必要があります
imageData 不可

0

200

有効なパブリック URL である必要があります
imageDescription 不可

0

50

イメージなしでは存在できません
timezone offset 不可

-720

840

これは、設定されていない場合はオプションのフィールドです。サンプルクライアントのデフォルトは、ユーザーのタイムゾーンです。設定されている場合、入力したタイムゾーンごとに表示されます。フィールドは、GMT との差を分単位で表す整数で、イベントの場所のタイムゾーンを指定します。

location 不可

timeslots はい

1

40

これはタイムスロットの配列です。配列内に最大 40 要素。

location

longitude はい

-180

180

double に限ります

latitude はい

-90

90

double に限ります

title はい

1

5000

radius

不可

0

200

timeslots

date 可能

ISO-8601 時間形式にする必要があります: YYYY-MM-DDTHH:MM+00:00

例えば、次のようになります。

"2020-08-14T21:21+00:00"

duration はい

1

3600

パネルテンプレート

パネルテンプレートを使用すると、1 つの質問に対して最大 10 個の選択肢を顧客に提示できます。ただし、選択肢ごとに画像を表示するのではなく、1 つの画像のみを含めることができます。

次の画像は、パネルテンプレートを使用してチャットで情報を表示する方法の例を示しています。メッセージの上部に画像が表示され、画像の下に「どうされましたか?」というプロンプトが表示されています。タップしてオプションを選択します。プロンプトの下に、[セルフサービスオプションの確認][エージェントとの会話][チャットの終了] という 3 つのオプションが顧客に表示されます。

チャットで情報を表示しているパネルテンプレート。

次のコードは、Lambda で使用できるパネルテンプレートです。次の点に注意してください。

  • 太文字は必須パラメータを示します。

  • 親要素が必須ではなくても、親要素のフィールドが必須の場合、それらのフィールドが必須になることがあります。例えば、次のテンプレートの data.replyMessage 構造体を参照してください。構造体が存在する場合、title は必須です。そうでない場合は、replyMessage 全体が省略可能です。

{ "templateType":"Panel", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Option selected", }, "content":{ "title":"How can I help you?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg", "imageDescription":"Select an option", "elements":[ { "title":"Check self-service options", }, { "title":"Talk to an agent", }, { "title":"End chat", } ] } } }

パネルの制限

次の表に、独自の Lambda をゼロから構築することを選択した場合の、パネルの各要素の制限を示します。必須パラメータは太文字です。

無制限のオプションを送信するには、アプリケーションにアクションボタンを実装します。詳細については、「Implementation of action buttons in interactive message list picker/panel」 (対話型メッセージリストピッカー/パネルでのアクションボタンの実装) を参照してください。

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件

templateType

はい

有効なテンプレートのタイプ

data

はい

version

はい

「1.0」を指定してください

data

replyMessage 不可
コンテンツ はい

content

title はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

subtitle 不可

0

5000

elements はい

1 アイテム

10 項目

これは要素の配列です。配列内に最大 10 要素。

imageType 不可

0

50

「URL」である必要があります

imageData 不可

0

200

有効なパブリック URL である必要があります

imageDescription 不可

0

50

イメージなしでは存在できません

referenceId 不可

文字列。アクションボタン機能にのみ必要です。

listId 不可

文字列。アクションボタン機能にのみ必要です。

preIndex 不可

数値。アクションボタン機能にのみ必要です。

nextIndex 不可

数値。アクションボタン機能にのみ必要です。

templateIdentifier 不可

数値。必ず UUID にします。リストピッカー/パネルをカルーセルで使用する場合、このフィールドは必須です

elements

title はい

1

5000

actionDetail 不可

アクションボタン機能にのみ必要です。「PREVIOUS_OPTIONS」または「SHOW_MORE」である必要があります。

replyMessage

title はい

1

5000

subtitle 不可

0

5000

クイック返信テンプレート

クイック返信メッセージを使うと、顧客からの簡単な返答や顧客への返答をインラインリストで取得できます。画像はクイック返信には対応していません。

次の画像は、クイック返信テンプレートを使用してチャットで情報を表示する方法の例を示しています。

チャットで情報を表示しているパネルテンプレート。

次のコードは、Lambda で使用できるクイック返信テンプレートです。

{ "templateType": "QuickReply", "version": "1.0", "data": { "replyMessage": { "title": "Thanks for selecting!" }, "content": { "title": "Which department would you like?", "elements": [{ "title": "Billing" }, { "title": "Cancellation" }, { "title": "New Service" } ] } } }

クイック返信の制限

次の表に、クイック返信の各要素の制限を示します。独自の Lambda をゼロから構築する場合は、この情報を使用します。必須パラメータは太文字です。

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件

templateType

有効なテンプレートのタイプ

data

はい

version

はい

「1.0」を指定してください

data

content はい
replyMessage 不可

content

title はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

elements はい

2 アイテム

ウェブチャットの 10 アイテム

Apple Business Chat の 5 アイテム (これは Apple によって設定されたハードリミットです)

これは要素の配列です。配列内の最小 2 要素、最大 10 要素。

Apple の 5 アイテムの制限を回避するには、「さらに表」オプションを使用して複数のクイック返信を実装することを検討してください。または、ListPicker を使用すると、最大 10 アイテムが許可されます。

elements

title はい

1

200

replyMessage

title はい

1

5000

カルーセルを使用すると、1 つのメッセージで最大 5 つのリストピッカーまたはパネルをカスタマーに表示できます。リストピッカーやタイムピッカーと同様に、SHOW_MORE 機能を使用してカルーセルにオプションを追加できます。

次の GIF は、カルーセルテンプレートを使用してチャットで情報を表示する方法の例を示しています。カスタマーは左右の矢印を使用して画像のカルーセルをスクロールします。

カスタマーのチャットエクスペリエンスのカルーセル。

次の図は、カルーセルピッカーのハイパーリンク要素の例である 2 つの [詳細はこちら] ハイパーリンクを示しています。

ハイパーリンク付きのカルーセルピッカー。

次のコードは、Lambda で使用できるカルーセルテンプレートです。

{ "templateType": "Carousel", "version": "1.0", "data": { "content": { "title": "View our popular destinations", "elements": [ { "templateIdentifier": "template0", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "California", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } }, { "templateIdentifier": "template1", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "New York", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } } ] } } }

ホスト型コミュニケーションウィジェットユーザーの場合:

  • カルーセルテンプレートで選択すると、次の例のような構造の JSON 文字列レスポンスが返され、Lambda に送り返されます (他のインタラクティブメッセージタイプは selectionText 値のみの通常の文字列レスポンスを返します)。

    { templateIdentifier: "template0", listTitle: "California", selectionText: "Book hotels" }
  • カルーセルでは、リストピッカー/パネル要素にハイパーリンクを指定できます。ボタンの代わりにハイパーリンクを作成するには、ハイパーリンクにすべき要素に次のフィールドを追加してください。

    { title: "Book flights", ... type: "hyperlink", url: "https://www.example.com/Flights" }

次の表に、カルーセルの各要素の制限を示します。独自の Lambda をゼロから構築する場合は、この情報を使用します。必須パラメータは太文字です。

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件

templateType

はい

有効なテンプレートのタイプ

data

はい

version

はい

「1.0」を指定してください

data

コンテンツ はい

content

title はい

1

5000

プロンプトのないテンプレートの説明にする必要があります

elements はい

2 アイテム

5 アイテム

これは、リストピッカーまたはパネルテンプレートの配列です。カルーセルごとに受け入れられるインタラクティブメッセージタイプは 1 つだけです。各要素には、最上位のフィールド TemplateIdentifier を含める必要があります。配列に含めるテンプレートは最小 2 つ、最大 5 つです。

注記

カスタマーエクスペリエンスを最大限に高めるには、各テンプレートで画像または要素の数を一貫して使用することをお勧めします。

omitTitleFromCarouselResponse 不可

Boolean - オプションで、デフォルトの "PickerTitle: SelectionText" の代わりに "SelectionText" を使用して応答します。

carouselIsVertical 不可

Boolean - オプションで、垂直スクロールを使用して Carousel 要素をレンダリングします。

Apple フォームテンプレート

注記

このテンプレートは、Apple Messages for Business のコンタクトフローにのみ適用できます。

複数のページで入力を要求できるフォームのインタラクティブメッセージを、1 つのメッセージでエンドユーザーに送信できます。顧客は Apple デバイスでメッセージを受信すると、フォームを開いてページ内を移動し、各ページに回答を入力してから、フォームの末尾ですべての回答を送信します。

例えば、企業は、フローのトリアージ、顧客アンケート、アカウントの作成/登録など、さまざまな目的で Apple フォームを使用できます。

警告

インタラクティブメッセージのコンテンツと顧客による回答は、問い合わせレコードのトランスクリプトに保存されます。他のチャット参加者や問い合わせアナリストは、トランスクリプトへのアクセスが許可されていれば、それらを表示できます。問い合わせが終了した後、コンタクトフローのトランスクリプトに PII が表示されないようにするには、ステップバイステップガイドフローで記録と分析をブロックするよう設定し、Contact Lens を有効にして、機密データのリダクションを有効にする必要があります。PII リダクションを有効にする方法については、「機密データの秘匿化を有効にする」を参照してください。

次のタイプのページがサポートされます:

  • ListPicker: ユーザーが選択するオプションのリスト。画像がサポートされます。

  • WheelPicker: ListPicker に似ていますが、スクロール可能なホイールでオプションを選択します。

  • DatePicker: ユーザーが日付を選択するカレンダービュー。

  • 入力: ユーザーが入力するテキストフィールド。

次のコードは、Lambda で使用できる Apple フォームテンプレートの例です。

注記
  • 太文字は必須パラメータです。

  • 場合によっては、親要素がリクエストに存在し、それは必須/太字ではないが、その中のフィールドが太字の場合、そのフィールドは必須です。

シンプルなアンケートフォームの例:

{   "templateType": "AppleForm",   "version": "1.0",   "data": {     "content": {       "title": "Survey",       "pages": [         {           "pageType": "DatePicker",           "title": "Date you visited",           "subtitle": "When did you last visit?",           "minDate": "2024-01-02"         },         {           "pageType": "ListPicker",           "title": "Rating",           "subtitle": "How do you rate the experience?",           "items": [             {               "title": "Good",               "imageType": "URL",               "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg"             },             {               "title": "Okay",               "imageType": "URL",               "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg"             },             {               "title": "Poor",               "imageType": "URL",               "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg"             }           ]         },         {           "pageType": "ListPicker",           "title": "Dine type",           "subtitle": "Select all dine types that apply",           "multiSelect": true,           "items": [             {               "title": "Pickup"             },             {               "title": "Dine-in"             },             {               "title": "Delivery"             }           ]         },         {           "pageType": "WheelPicker",           "title": "Visits",           "subtitle": "How often do you visit?",           "items": [             {               "title": "Often"             }             {               "title": "Sometimes"             },             {               "title": "Rarely"             }           ]         },         {           "pageType": "Input",           "title": "Additional notes",           "subtitle": "Anything else you'd like to mention about your visit?",           "multiLine": true         }       ]     }   } }

Apple フォームの制限

InteractiveMessage

フィールド Type 必須 説明/注意点
バージョン string はい バージョン番号。許可される値: "1.0"
templateType TemplateType はい インタラクティブメッセージのテンプレートタイプ。許可される値: ["ListPicker"、"TimePicker"、"Panel"、"QuickReply"、"Carousel"、"ViewResource"、"AppleForm"]
データ InteractiveMessageData はい インタラクティブメッセージデータ

InteractiveMessageData

フィールド Type 必須 説明/注意点
content InteractiveMessageContent はい メインのインタラクティブメッセージコンテンツ
replyMessage ReplyMessage 不可 インタラクティブメッセージへの応答が送信された後のメッセージ表示設定

AppleFormContent

フィールド Type 必須 説明/注意点
title String はい フォームの最上位のタイトル。Apple で受信するメッセージバブルとトランスクリプトのレンダリングに表示
subtitle String 不可 ReceivedMessage のサブタイトルとして使用
imageType String 不可 有効な値: "URL"。ReceivedMessage の画像に使用
imageData String 不可 S3 画像 URL。ReceivedMessage の画像に使用
pages AppleFormPage [] はい フォームページのリスト
showSummary ブール値 不可 送信前にレビューするレスポンスの概要ページを表示するかどうか。デフォルト: False (確認/概要ページなし)
splashPage AppleFormSplashPage 不可 実際のページの前に表示する初期スプラッシュページ。デフォルト: スプラッシュページなし

AppleFormSplashPage

フィールド Type 必須 説明/注意点
title String はい スプラッシュページのタイトル
subtitle String 不可 スプラッシュページのサブタイトル/本文
imageType ImageType 不可 スプラッシュページに画像を表示する場合に指定。許可される値: "URL"、デフォルト: 画像表示なし
imageData String 不可 imageType="URL"の場合は URL の値。デフォルト: 画像表示なし
buttonTitle String はい [続行] ボタンのテキスト。Apple で必須。ローカライズしたテキストをデフォルトに使用できません

AppleFormPage

  • フォームページのベースモデル。このモデルから特定のページタイプに拡張されます

フィールド Type 必須 説明/注意点
pageType ApplePageType はい ページタイプの列挙型。許可される値: ["Input"、"DatePicker"、"WheelPicker"、"ListPicker"]
title String はい ページタイトル
subtitle String はい ページのサブタイトル。確認ページで使用

AppleFormDatePickerPage

AppleFormDatePickerPageAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
pageType ApplePageType はい 値: "DatePicker"
labelText String 不可 日付入力の横に表示されるテキスト。付録のスクリーンショットの例を参照してください。
helperText String 不可 日付入力の下に表示されるヘルパーテキスト。付録のスクリーンショットの例を参照してください。デフォルト: ヘルパーテキストなし
dateFormat String 不可 ISO 8601 形式。デフォルト: MM/dd/yyyy
startDate String 不可 初期/デフォルトの日付を有効な日付形式で入力。デフォルト: メッセージ送信時のエンドユーザーの日付
minDate String 不可 選択する最短日を有効な日付形式で入力。デフォルト: 最短なし
maxDate String 不可 選択する最長日を有効な日付形式で入力。デフォルト: メッセージ送信時のエンドユーザーの日付

AppleFormListPickerPage

AppleFormListPickerPageAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
pageType ApplePageType はい 値: "ListPicker"
multiSelect ブール値 不可 複数項目の選択を有効にする。デフォルト: false (単一選択)
項目 AppleFormListPickerPageItem [] はい リストページ項目のリスト

AppleFormListPickerPageItem

AppleFormListPickerPageItemAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
title String はい 項目のテキストを表示
imageType ImageType 不可 項目に画像を表示する場合に指定。許可される値: "URL"、デフォルト: 画像表示なし
imageData String 不可 imageType="URL"の場合は URL の値。デフォルト: 画像表示なし
注記

画像モデルは既存のインタラクティブメッセージモデル (ListPicker) と同様ですが、imageDescription は含まれません。チャットウィジェットやウェブチャットで画像の代替テキストに使用され、Apple インタラクティブメッセージでは無視されます。

AppleFormWheelPickerPage

AppleFormWheelPickerPageAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
pageType ApplePageType はい 値: "WheelPicker"
項目 AppleFormWheelPickerPageItem[] はい ホイールピッカー項目のリスト
labelText String 不可 入力の横に表示されるテキスト。付録のスクリーンショットの例を参照してください。

AppleFormWheelPickerPageItem

AppleFormWheelPickerPageItemAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
title String はい ピッカー項目のテキストを表示

AppleFormInputPage

AppleFormInputPageAppleFormPage を拡張します

フィールド Type 必須 説明/注意点
pageType ApplePageType はい 値: "入力"
labelText String 不可 入力ボックスの横に表示されるテキスト。付録のスクリーンショットの例を参照してください。
helperText String 不可 入力ボックスの下に表示される追加テキスト。デフォルト: ヘルパーテキストなし
placeholderText String 不可 入力がない場合に表示する初期プレースホルダーテキスト。デフォルト: "(オプション)" または "(必須)"
prefixText String 不可 入力の横に表示されるプレフィックステキスト。例: 入力値が金額の場合は '$'。デフォルト: プレフィックステキストなし
必須 ブール値 不可 エンドユーザーが入力する必要があるかどうか。デフォルト: false
multiLine ブール値 不可 複数行の入力を可能にするかどうか。デフォルト: false (単一行)
maxCharCount Number 不可 入力の最大文字数。Apple クライアントに適用。デフォルト: 制限なし
正規表現 String 不可 入力される値に制約を設定する正規表現文字列。デフォルト: 正規表現の制約なし
keyboardType String 不可 エンドユーザーが入力するときに表示されるキーボードのタイプを定義します。許可される値: Apple と同じ。ドキュメントを参照してください。許可される値: numberPad、phonePad 、emailAddress など
textContentType String 不可 Apple デバイスで提案を自動入力するために使用。  許可される値: Apple と同じ。ドキュメントを参照してください。許可される値: telephoneNumber、fullStreetAddress 、familyName など

Apple Pay テンプレート

注記

このテンプレートは、Apple Messages for Business のコンタクトフローにのみ適用できます。

Apple Pay テンプレートを使用すると、Apple Messages for Business から商品やサービスを、Apple Pay を使用して簡単かつ安全に購入できます。

次のコードは、Lambda で使用できる Apple Pay テンプレートです。

注記
  • 太文字は必須パラメータです。

  • 場合によっては、親要素がリクエストに存在し、それは必須/太字ではないが、その中のフィールドが太字の場合、そのフィールドは必須です。

{   "templateType":"ApplePay",   "version":"1.0",   "data":{     "content":{       "title":"Halibut",       "subtitle":"$63.99 at Sam's Fish",       "imageType":"URL",       "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg",       "payment": {         "endpoints": {           "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/",           "paymentGatewayUrl": "https://sams.example.com/paymentGateway/",           "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/",           "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/",           "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/",           "fallbackUrl": "https://sams.example.com/paymentGateway/"         },         "merchantSession": {           "epochTimestamp": 1525730094057,           "expiresAt": 1525730094057,           "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD",           "nonce": "fe72cd0f",           "merchantIdentifier": "merchant.com.sams.fish",           "displayName": "Sam's Fish",           "signature": "308006092a8.......09F0W8EGH00",           "initiative": "messaging",           "initiativeContext": "https://sams.example.com/paymentGateway/",           "signedFields": [             "merchantIdentifier",             "merchantSessionIdentifier",             "initiative",             "initiativeContext",             "displayName",             "nonce"           ],         },         "paymentRequest": {           "applePay": {             "merchantCapabilities": [               "supports3DS",               "supportsDebit",               "supportsCredit"             ],             "merchantIdentifier": "merchant.com.sams.fish",             "supportedNetworks": [               "amex",               "visa",               "discover",               "masterCard"             ]           },           "countryCode": "US",           "currencyCode": "USD",           "lineItems": [             {               "amount": "59.00",               "label": "Halibut",               "type": "final"             },             {               "amount": "4.99",               "label": "Shipping",               "type": "final"             }           ],           "requiredBillingContactFields": [             "postalAddress"           ],           "requiredShippingContactFields": [             "postalAddress",             "phone",             "email",             "name"           ],           "shippingMethods": [             {               "amount": "0.00",               "detail": "Available within an hour",               "identifier": "in_store_pickup",               "label": "In-Store Pickup"             },             {               "amount": "4.99",               "detail": "5-8 Business Days",               "identifier": "flat_rate_shipping_id_2",               "label": "UPS Ground"             },             {               "amount": "29.99",               "detail": "1-3 Business Days",               "identifier": "flat_rate_shipping_id_1",               "label": "FedEx Priority Mail"             }           ],           "total": {             "amount": "63.99",             "label": "Sam's Fish",             "type": "final"           },           "supportedCountries" : [             "US",             "CA",             "UK",             "JP",             "CN"           ]         }       },       "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9"     }   } }

Apple Pay の制限

親フィールド フィールド 必要 最小文字数 最大文字数 その他の要件
templateType はい 有効なテンプレートのタイプ
データ はい
バージョン はい 「1.0」を指定してください
データ コンテンツ はい
content title はい 1 512 受信したメッセージバブルのタイトル
subtitle 不可 0 512 受信したメッセージバブルのタイトルの下に表示されるサブタイトル
imageData 不可 0 200 有効なパブリック URL である必要があります
imageType 不可 0 50 「URL」である必要があります
支払い はい Apple Pay リクエストの詳細を指定するフィールドを含むディクショナリ。
requestIdentifier 不可 文字列、ApplePay リクエストの識別子。指定しない場合、UUID が作成および使用されます。
支払い エンドポイント はい 支払い処理、問い合わせの更新、注文追跡用のエンドポイントを含むディクショナリ。
merchantSession はい 新しい支払いセッションをリクエストした後に Apple Pay が提供する支払いセッションを含むディクショナリ。
paymentRequest はい 支払いリクエストに関する情報を含むディクショナリ
エンドポイント paymentGatewayUrl はい 文字列。Apple Pay から呼び出され、支払いプロバイダーを通じて支払いを処理します。URL は、マーチャントセッションの initiativeContext フィールドの URL と一致する必要があります
fallbackUrl 不可 デバイスが Apple Pay を使用して支払いを実行できない場合に、顧客が購入を完了するためにウェブブラウザで開く URL。指定した場合、fallbackUrl は paymentGatewayUrl と一致する必要があります。
orderTrackingUrl 不可 注文の完了後に Messages for Business によって呼び出されます。システム内の注文情報を更新する機会が得られます。
paymentMethodUpdateUrl 不可 顧客が支払い方法を変更したときに Apple Pay から呼び出されます。このエンドポイントを実装せず、このキーをディクショナリに含めると、顧客にエラーメッセージが表示されます。
shippingContactUpdateUrl 不可 顧客が配送先住所情報を変更すると、Apple Pay によって呼び出されます。このエンドポイントを実装せず、このキーをディクショナリに含めると、顧客にエラーメッセージが表示されます。
shippingMethodUpdateUrl 不可 お客様が配送方法を変更したときに Apple Pay によって呼び出されます。このエンドポイントを実装せず、このキーをディクショナリに含めると、顧客にエラーメッセージが表示されます。
merchantSession displayName はい 1 64 文字列。表示に適したストアの正規名。名前をローカライズしないでください。
initiative はい 文字列。"messaging" である必要があります
initiativeContext はい 文字列。支払いゲートウェイ URL を渡します。
merchantIdentifier はい 文字列。Apple Pay のマーチャントを表す一意の識別子。
merchantSessionIdentifier はい 文字列。マーチャントの Apple Pay セッションを表す一意の識別子。
epochTimestamp はい 文字列。1970 年 1 月 1 日木曜日の 00:00:00 UTC から経過した時間を秒数で表現します。
expiresAt はい 文字列。1970 年 1 月 1 日木曜日の 00:00:00 UTC から経過した時間を秒数で表現します。
nonce 不可 バイナリ。対話の整合性をチェックするシングルユース文字列。
signature 不可 バイナリ。対話の署名に使用されるパブリックキーのハッシュ。
signedFields 不可 文字列のリスト。署名付きプロパティが含まれます。
paymentRequest applePay はい Apple Pay 設定を記述するディクショナリ。
countryCode はい 文字列。マーチャントの 2 文字の ISO 3166 国コード。
currencyCode はい 文字列。支払いの 3 文字の ISO 4217 通貨コード。
lineItems 不可 支払いと追加料金を説明する明細項目の配列。明細項目は必要ありません。ただし、lineItems キーが存在する場合は、配列を空にできません。
total はい 合計を含むディクショナリ。検証に合格するには、合計額が 0 より大きい必要があります。
requiredBillingContactFields 不可 トランザクションの処理に必要な顧客の請求情報のリスト。使用可能な文字列のリストについては、requiredBillingContactFields を参照してください。支払いの処理に必要な問い合わせフィールドのみが必要です。不要なフィールドをリクエストすると、トランザクションが複雑になり、顧客が支払いリクエストをキャンセルする可能性が高くなります。
requiredShippingContactFields 不可 注文を履行するために必要な配送先または連絡先情報のリスト。例えば、顧客の E メールまたは電話番号が必要な場合は、このキーを含めます。使用可能な文字列のリストについては、requiredShippingContactFields を参照してください。
shippingMethods 不可 可能な配送方法の配列。Apple Pay 支払いシートには、配列の最初の配送方法がデフォルトとして表示されます。
supportedCountries 不可 サポートする国の配列。ISO 3166 の国コードを使用して、各国をリストします。
applePay merchantIdentifier はい Apple Pay のマーチャントを表す一意の識別子。
merchantCapabilities はい マーチャントがサポートする支払い機能の配列。配列には supports3DS を含める必要があり、オプションで supportsCredit、supportsDebit、および supportsEMV を含めることができます。
supportedNetworks はい マーチャントがサポートする支払いネットワークの配列。配列には、amex、 discover、jcb、masterCard、privateLabel、または visa のいずれかの値 (複数可) を含める必要があります。
lineItem amount はい 明細項目の金額。
label はい 明細項目をローカライズした短い説明。
タイプ 不可 明細項目が最終か保留中かを示す値。
total amount はい 支払いの合計金額。
label はい 支払いのローカライズされた短い説明。
タイプ 不可 支払いが最終か保留中かを示す値。
shippingMethods amount はい 文字列。この配送方法に関連する負ではない値のコスト。
detail はい 文字列。配送方法の追加説明。
label はい 文字列。配送方法の短い説明。
identifier はい 文字列。この配送方法を識別するために使用されるクライアント定義の値。

iMessage アプリテンプレート

注記

このテンプレートは、Apple Messages for Business のコンタクトフローにのみ適用できます。

iMessage アプリテンプレートを使用して、カスタムビルドの iMessage アプリをお客様に提示します。

次のコードは、Lambda 関数で使用できる iMessage アプリテンプレートの例です。 

{    templateType: AppleCustomInteractiveMessage,    version: "1.0",    data: {        content: {            appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg",            appId: "123456789",            appName: "Package Delivery",            title: "Bubble Title CIM",            bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}",            dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true",            subtitle: "Bubble package",        },        replyMessage: {            title: "Custom reply message title",            subtitle: "Custom reply message subtitle",            imageType: "URL",            imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",        }    } }

iMessage アプリの制限

親フィールド フィールド 必須 タイプ その他の注意事項
templateType はい TemplateType 有効なテンプレートタイプ、"AppleCustomInteractiveMessage"
data はい InteractiveMessageData コンテンツと receivedMessage ディクショナリが含まれます
version はい string 「1.0」を指定してください
data content はい InteractiveMessageContent iMessage アプリのインタラクティブコンテンツ
replyMessage はい ReplyMessage インタラクティブメッセージへの応答が送信された後のメッセージ表示設定
content appIconUrl はい string AWS S3 URL
appId はい string ビジネス IMessage アプリ ID
appName はい string ビジネス IMessage アプリ名
bid はい string ビジネス IMessage アプリ入札。パターン:  com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}
dataUrl はい string iMessage アプリに渡されるデータ
useLiveLayout 不可 boolean デフォルト: True
title はい string iMessage アプリバブルのタイトル
subtitle 不可 string iMessage アプリのバブルのサブタイトル
replyMessage title 不可 string
subtitle 不可 string
imageType 不可 string 有効なパブリック URL である必要があります
imageData 不可 string イメージなしでは存在できません

WhatsApp リスト

注記

このテンプレートは、WhatsApp メッセージングフローにのみ使用します。WhatsApp と Amazon Connect の統合の詳細については、このガイドの前半の「WhatsApp ビジネスメッセージングを設定する」を参照してください。

WhatsApp チャットの WhatsApp リストテンプレートを使用して、顧客にオプションのリストを提供します。

次の例は、銀行サービスのオプションのリストを示しています。

{ "templateType": "WhatsAppInteractiveList", "version": "1.0", "data": { "content": { "title": "Which account do you need help with?", "body": { "text": "Which account do you need help with?" }, "action": { "button": "Options", "sections": [ { "title": "Your accounts", "rows": [ { "id": "11111111", "title": "11111111", "description": "PERSONAL CHECKING" }, { "id": "22223333", "title": "22223333", "description": "PERSONAL SAVINGS" } ] }, { "title": "Other", "rows": [ { "id": "other", "title": "I can't find my account" } ] } ] } } } }

次の図は、顧客がリストを開く前後の一般的な画面を示しています。

オプションのリストを示す図。

WhatsApp オプションの制限

親フィールド フィールド 必要 最小長 最大長 その他の要件
templateType はい 「WhatsAppInteractiveList」である必要があります
data はい
version はい 「1.0」を指定してください
data content はい
content title はい
header 不可
body はい
フッター 不可
action はい
header type はい 「text」である必要があります
text はい 1 60
body text はい 1 4096
footer text はい 1 60
action sections はい 1 10
button はい 1 20
section title はい 1 24
rows はい 1 10 すべてのセクションで最大 10 行
row id はい 1 200 行全体で一意である必要があります
title はい 1 24
description 不可 1 72

WhatsApp 返信ボタン

注記

このテンプレートは、WhatsApp メッセージングフローにのみ使用します。

WhatsApp 返信ボタンテンプレートを使用して、顧客にオプションのインラインリストを提示できます。

{ "templateType": "WhatsAppInteractiveReplyButton", "version": "1.0", "data": { "content": { "title": "What would you like to do?", "body": { "text": "What would you like to do?" }, "action": { "buttons": [ { "type": "reply", "reply": { "id": "agent", "title": "Continue to agent" } }, { "type": "reply", "reply": { "id": "end_chat", "title": "End chat" } } ] } } } }

次の図は、一般的なユーザーエクスペリエンスを示しています。

チャットセッションでの返信の図。

WhatsApp 返信ボタンの制限

WhatsApp 返信テンプレートには次の制限があります。

親フィールド フィールド 必要 最小長 最大長 その他の要件
templateType はい 「WhatsAppInteractiveReplyButton」である必要があります
data はい
version はい 「1.0」を指定してください
data content はい
content title はい
header 不可
body はい
footer 不可
action はい
header type はい 有効な値: "text"、"document"、"image"、"video"
text 不可 1 60
image 不可
video 不可
document 不可
image link はい https/http で始まるパブリックにアクセス可能なメディア URL である必要があります
video link はい https/http で始まるパブリックにアクセス可能なメディア URL である必要があります
document link はい https/http で始まるパブリックにアクセス可能なメディア URL である必要があります
body text はい 1 1024
footer text はい 1 60
action buttons はい 1 3
button type はい 「reply」である必要があります
reply.id はい 1 256 ボタン全体で一意である必要があります
reply.title はい 1 20

チャットメッセージのタイトルとサブタイトルにリッチ書式設定を追加できます。例えば、リンク、斜体、太字、番号付きリスト、箇条書きリストを追加できます。マークダウンを使用してテキストの書式を設定します。

チャットボックスの次の画像は、タイトルとサブタイトルにリッチ書式設定を使用したリストピッカーの例を示しています。

  • タイトル「お問い合わせ内容をご記入ください。aws.amazon.com」は太字で、リンクが含まれています。

  • サブタイトルには、斜体と太字のテキスト、箇条書きリスト、番号付きリストが含まれています。また、プレーンリンク、テキストリンク、サンプルコードも表示されます。

  • チャットボックスの下部には、3 つのリストピッカー要素が表示されます。

チャットボックス、リンク付きのタイトル、リストとリンクを含むサブタイトル。

マークダウンでテキストをフォーマットする方法

タイトルとサブタイトルの文字列は、複数行形式、または改行文字 `\r\n` を含む 1 行で記述できます。

  • 複数行形式: 次のコードサンプルは、複数行形式においてマークダウンでリストを作成する方法を示しています。

    const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text** This is a bulleted list (multiline): * item 1 * item 2 * item 3 This is a numbered list: 1. item 1 2. item 2 3. item 3 Questions? Visit https://plainlink.com/faq [This is a link](https://aws.amazon.com) This is \`\` ` const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: MultiLinePickerSubtitle, elements: [ /* ... */ ] } } }
  • 単一行形式: 次の例は、改行文字 `\r\n` を使用して 1 行のサブタイトルを作成する方法を示しています。

    const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`"; const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: SingleLinePickerSubtitle, elements: [ /* ... */ ] } } }

次の例は、マークダウンを使用して斜体と太字のテキストを書式設定する方法を示します。

This is some *emphasized text* and some **strongly emphasized text**

次の例は、マークダウンを使用してテキストをコードとして書式設定する方法を示します。

This is `<code />`

リンクを作成するには、次の構文を使用します。

[aws](https://aws.amazon.com)

次の例は、マークダウンを使用してリンクを追加する 2 つの方法を示しています。

Questions? Visit https://plainlink.com/faq

[This is a link](https://aws.amazon.com)

注記

リストピッカーの場合、リンクが開かれる場所をきめ細かく制御したい場合は、targetForLinks フィールドを子フィールドとして content に追加できます。コミュニケーションウィジェットは、デフォルトで新しいブラウザタブでリンクを開きます。詳細については、「リストピッカーテンプレート」を参照してください。