メッセージの種類
このセクションでは、様々な種類のメッセージとチャネルに対してメッセージAPIリクエストを構成する方法の概要を、いくつかの出力例を交えながら説明します。
メッセージの構造は、コミュニケーションに使用するメッセージの種類に応じて、ヘッダー、本文、フッター、ボタンなど、いくつかのセクションに分かれています。この構造は、ユーザーの電話でメッセージがどのようにレンダリングされるかに直感的に従います。例えば、画像またはWhatsAppテンプレートの一部をヘッダーテキストに含めることができます。メッセージAPI (opens in a new tab) はこうしたことをすべて可能にします。
すべてのメッセージングチャネルが全種類のメッセージをサポートしているわけではありません。各チャネルでサポートされているメッセージの種類の詳細については、各チャネルについて詳しく記載しているドキュメントのページをご参照ください。
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- Messenger
- MMS
- RCS
- SMS
- Viberボット
- Viber Business Messages
テキスト
メッセージAPIを使用して簡単なテキストのメッセージを送信します。
テキストメッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- Messenger
- MMS
- RCS
- SMS
- Viber Bots
- Viber Business Messages
例
{
"messages": [
{
"channel": "SMS",
"content": {
"body": {
"text": "Follow the link athleete.com/event-details for more details. See you next week!",
"type": "TEXT"
}
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

画像
メッセージで画像を送信します。
画像は、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- Messenger
- MMS
- RCS
- Viber Bots
- Viber Business Messages
画像付きのSMSを送信すると、画像のURLがレンダリングされます。
画像例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"type": "IMAGE",
"url": "http://homestore/image.png",
"text": "Spring is around the corner! Check out what we have in store for you."
}
},
"options": {
"adaptationMode": true
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

ヘッダー付き画像
メッセージヘッダー内にキャプション用テキストなどのデータを追加します。
ヘッダー付きの画像は、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- MMS
ヘッダー付きの画像例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"header": {
"text": "Spring is around the corner!"
},
"body": {
"type": "IMAGE",
"url": "http://homestore/image.png",
"text": "Check out what we have in store for you."
}
},
"options": {
"adaptationMode": true
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

ドキュメント
選択したメッセージングチャネルを介してファイルを送信します。
ドキュメントメッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- Messenger
- MMS
- Viber Bots
- Viber Business Messages
チャネルの可用性と出力は、リクエストに含めるメッセージのエレメントによって異なります。例えば、Viber Business Messagesはファイル名が付いているドキュメントをサポートしていません。
メッセージの種類としてドキュメントをネイティブにサポートしていないチャネルを使用している場合は、APIリクエストの一部として adaptationMode パラメーターを使用して、サポートされていないエレメントを削除し、エラーをスローせずにメッセージを配信できます。
ドキュメントの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"type": "DOCUMENT",
"url": "http://my.domain/document.pdf"
}
},
"options": {
"adaptationMode": true
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

ビデオ
コミュニケーションの一環としてビデオを送信します。
ビデオメッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- Messenger
- MMS
- RCS
- Viber Bots
- Viber Business Messages
動画をメッセージの種類としてネイティブにサポートしていないチャネルを使用している場合は、APIリクエストの一部として adaptationMode パラメーターを使用すると、サポートされていないエレメントを削除し、エラーをスローせずにメッセージを配信できます。
ビデオの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"type": "VIDEO",
"url": "http://my.domain/video.mp4"
}
},
"options": {
"adaptationMode": true
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

ボタン
コミュニケーションにボタンを追加すると、インタラクションを容易にします。
ボタンは、以下のチャネルでネイティブにサポートされています:
- Apple Messages for Business
- Instagram DM
- LINE (LON)
- Messenger
- RCS
- Viber Bots
- Viber Business Messages
Viber Business Messagesは、メッセージ内の単一のボタンのみをサポートします。従って、このチャネルを使う時は、複数のボタンブロックではなく、1つのボタンブロックをリクエストに含めるようにする必要があります。
ボタンをメッセージの種類としてサポートしていないチャネルを使用している場合は、APIリクエストの一部として adaptationMode パラメーターを使用すると、サポートされていないエレメントを削除し、エラーをスローせずにメッセージを配信できます。
ボタンの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"text": "Thank you for joining us on Athleete Unlocked! Would you like to subscribe for future Athleete events?",
"type": "TEXT"
},
"buttons": [
{
"type": "REPLY",
"text": "Yes",
"postbackData": "true"
},
{
"type": "REPLY",
"text": "No",
"postbackData": "false"
}
]
},
"options": {
"adaptationMode": true
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
]
}
]
}
出力

連絡先メッセージ
連絡先メッセージ の種類を使用すると、ユーザーは連絡先の詳細を受信者に直接送信して、アプリ内で連絡先情報を表示、連絡先メッセージを送信、または連絡先情報を保存できます。この機能は、ユーザーがアクション可能な連絡先の詳細を提供できるようにすることで、シームレスな情報共有をサポートし、受信者はそれを保存したり、インスタントコミュニケーションを開始するために使用したりできるようにします。
連絡先メッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています:
- Viber Bots

カルーセル
カルーセルメッセージを使用すると、顧客は1つのメッセージ内で複数のリッチカードを送信できます。ユーザーは、リッチカードを水平方向にスクロールしたり、様々なアイテムを比較したり、特定のアクションを実行して個々のカードを操作したりできます。
カルーセルメッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています:
- Instagram DM
- Messenger
- RCS
- Viber Bots

WhatsApp Flows
インタラクティブなWhatsApp Flowsを送信して、チャット内で直接構造化されたマルチステップタスクをユーザーに案内します。ユースケースには、予定のスケジュール設定、イベントへの登録、フィードバックの送信などがあります。フローは、標準のメッセージや単純なボタンと比較して、アプリのようなエクスペリエンスをより豊富に提供します。
メッセージAPIを使って WhatsApp Flowsを送信する方法については、フローの送信 について記載しているセクションをご参照ください。
メッセージAPIを使用する場合、ユーザーによって開始された 24 時間のセッションウィンドウ内でのみフローを自由形式のメッセージ として送信できます。
ウィンドウ外でフローを開始するには、フローテンプレートを使ってテンプレートメッセージとして送信します。詳細については、WhatsApp Flows と [API経由のWhatsApp Flows] (/whatsapp/api#whatsapp-flows) について詳述しているドキュメントをご参照ください。
フローは、以下のチャネルでネイティブにサポートされています:
メッセージAPI経由のフロー例
{
"messages": [
{
"channel": "WHATSAPP",
"sender": "YourWhatsAppSender", // required
"destinations": [
{
"to": "CustomerPhoneNumber" // required
}
],
"content": {
"body": {
"type": "FLOWS",
// ... Flow-specific parameters required here ...
}
// Optional: header, footer, options
}
}
]
}
テンプレート
事前定義されたテンプレートを使ってメッセージを送信します。
テンプレートメッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています。
- LINE (LON)
メッセージテンプレートには、ヘッダー、本文、フッター、ボタンなど、様々なセクションが含まれています。メッセージAPIを使用してテンプレートメッセージを送信する場合、コミュニケーションにヘッダーやボタンといったエレメントを含めるかどうかは任意です。
ヘッダー付きのテンプレートは、テンプレート化されたメッセージでメディアを送信することを表します。リクエストの例については、以下のヘッダー付きテンプレートをご参照ください。
テンプレートの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"1": "Jane",
"2": "Doe",
"type": "TEXT"
}
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
],
"template": {
"templateName": "account_update",
"language": "en_GB"
}
}
]
}
出力

ヘッダー付きのテンプレート
ヘッダー内にデータが含まれているテンプレートメッセージを送信したい時は、メッセージAPIを使用します。
- テキスト
- 画像
- ドキュメント
- ビデオ
- Location (位置情報)
以下の例は、メッセージAPIを使用したドキュメントヘッダー付きのWhatsAppテンプレートを示しています。
また、コミュニケーションシナリオの必要に応じて、画像、位置情報、ビデオを含むようにヘッダー コンテンツを調整することもできます。
ヘッダー付きのテンプレートの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"header": {
"url": "https://mydocument.com",
"filename": "Filename.doc",
"type": "DOCUMENT"
},
"body": {
"1": "Jane",
"2": "Doe",
"type": "TEXT"
}
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
],
"template": {
"templateName": "receipt",
"language": "en_GB"
}
}
]
}
出力

ボタン付きテンプレート
テンプレートにはボタンを含めることもできます。次の例は、メッセージAPI を使用してボタン付きのテンプレートをレンダリングする方法を示しています。
次の種類のボタンをレンダリングできます:
- URL - クリックすると、指定したURLにユーザーをリダイレクトします。
- Quick reply (クイック返信) - ユーザーが選択できる事前定義されたクイック返信オプションを提供します。
- Flow (フロー) - 事前定義されたインタラクティブなフローにユーザーを誘導します。
- Copy code (コードのコピー) - ユーザーは、クーポンなどの特定のコードをメッセージから直接コピーできます。
- Catalog (カタログ) - 商品カタログを表示し、ユーザーがインターフェイス内で商品を閲覧できるようにします。
- Multi-product (複数商品) - 1つのテンプレートで複数の商品を紹介し、複数の商品アイテムの概要を同時に表示します。
ボタン付きのテンプレートの例
{
"messages": [
{
"channel": "WHATSAPP",
"content": {
"body": {
"1": "Jane",
"2": "Doe",
"type": "TEXT"
},
"buttons": [
{
"suffix": "search?q=123456",
"type": "OPEN_URL"
}
]
},
"sender": "441234567890",
"destinations": [
{
"to": "440987654321"
}
],
"template": {
"templateName": "appointment_update",
"language": "en_GB"
}
}
]
}
出力

RCSテンプレート (インドのみ)
インドの顧客と通信する場合、RCS メッセージ テンプレートの利用が不可欠です。この要件は、スパム対策規制の悪用を防ぐことを目的としていますが、顧客との通信に RCS を活用することは可能です。インドでテンプレートを使用して RCS メッセージを送信する方法については、詳細 をご覧ください。
ステッカー
ステッカー画像は、会話にパーソナリティやエンゲージメントを加えたい時に送信します。ステッカーは通常、ユーザーのインタラクションを強化したり、感情を伝えたり、楽しく視覚的な形式でブランディングを強調したりできる静止画像またはアニメーション画像です。
ステッカーは、以下のチャネルでネイティブにサポートされています:
- Viber Bots

Location (位置情報)
位置情報メッセージを使用すると、緯度と経度の座標をシームレスに共有し、ユーザーとのモードのコンテキストに応じたリアルタイムコミュニケーションを提供できます。これにより、他のメッセージングコンテンツと共に位置データを送信する機能が強化されます。
位置情報メッセージの種類に分類されるメッセージは、以下のチャネルでネイティブにサポートされています。
- Viber Bots

WhatsAppの位置情報メッセージは、受信者が過去24時間以内にビジネスに連絡した場合にのみ正常に配信されます。それ以外の場合は、 テンプレートメッセージ (opens in a new tab) を使用することをお勧めします。
位置情報リクエストボタン
Request location (位置情報リクエスト) ボタンは、メッセージインターフェイスから位置情報を直接共有するようユーザーに依頼したい時に使用します。この機能は、配送の調整や位置情報ベースのサポートでユーザーを支援する場合など、位置情報を必要とするケースに最適です。ユーザーがこのボタンを選択すると、住所や座標を手動で入力しなくても現在地を共有できます。
Request location (位置情報リクエスト) ボタンは、以下のチャネルでネイティブにサポートされています:
- RCS
