Twilioは、WhatsAppユーザーとのメッセージの送受信をサポートしています。WhatsAppチャネルでは、重要な連絡先へのリーチと利用可能性をその連絡先にとって都合の良い任意のプラットフォーム上で展開できます。
なかでも、WhatsAppのメッセージをTwilioの既存のProgrammable Messaging APIにより管理できる点が優れています。
ここでは、開始するにあたり必要なものについて説明します。
WhatsApp向けTwilio サンドボックス
本番環境でWhatsAppを使用するにはまずユースケースを提出し、WhatsAppによる審査を受ける必要があります。アプリケーションの構築とプロトタイプ作成を直ちに開始できるよう、Twilioではテスト用のサンドボックス環境をご用意しています。サンドボックスでは、共通のTwilioテスト番号を使用し事前承認済みのテンプレートメッセージを、サンドボックスに割り当てた番号に対して送受信できます。
Sandboxについては、TwilioコンソールにてWhatsAppの[Learn]セクションをご参照ください。
本番環境でWhatsAppを使用する
本番環境で自社固有の番号と事業者プロフィールを用いてWhatsAppを使用するには、貴社事業とユースケースについてWhatsAppから承認を受ける必要があります。手続きを開始するためにリクエストのお問い合わせフォーム(英語)に入力してください。WhatsAppを有効にする手続き全体を最初から最後までお知りになりたい場合は、「Twilio番号とWhatsApp Business Profileの接続(Twilioのドキュメント-英語)」を参照してください。
メッセージング機能
Twilio Programmable Messagingにより送受信するWhatsAppメッセージには、以下の機能と制限事項があります:
テンプレートとセッションメッセージ: WhatsAppユーザーへの送信メッセージは、事前承認済みのテンプレートを使用して送信する必要があります。こうした送信メッセージは、通常トランザクションメッセージ(配送通知、予約リマインダーなど)です。メッセージの受信を明示的に選択(オプトイン)しているユーザーに送信されます。WhatsApp Sandboxの承認済みテンプレートの確認は、コンソールで行います。WhatsAppの承認を受けたら、独自のテンプレートを提出し本番環境で使用するための承認を受けることができます。
すべての着信メッセージまたは着信メッセージに対する24時間以内の返信は、セッションメッセージと見なされ、テンプレートに従う必要はありません。メッセージセッションは、ユーザーがアプリケーションにメッセージを送信する時点で開始となり、メッセージを最後に受信してから24時間続きます。詳細については、「TwilioにおけるWhatsAppメッセージのルールとベストプラクティス(英語)」の「テンプレートとセッション」を参照してください。
承認済みのユースケース: WhatsAppでは、カスタマーケア、通知、マーケティングのユースケース、混合ユースケースを、Twilioを経由でサポートします。
- カスタマーケアは、エンドユーザーからの受信メッセ―ジにより開始されます。ユーザーからの最初のメッセージを受信すると、会話が始まり、会話の中で、企業は(テンプレートを使用しない)セッションメッセージを使用して返信できます。会話は、ユーザーから最後のメッセージを受信してから24時間、オープンな状態が続きます。
- 通知 のユースケースは、単一方向のメッセージングサービスです。アラートや情報を企業がユーザーに送信するための設計です。このユースケースで送信されるメッセージには、事前承認済みのテンプレートを使用する必要があります。
- マーケティング/プロモーション のユースケースが、世界中のすべての企業で利用できるようになりました。
- 混合ユースケース は、通知メッセージにユーザーが返信し、カスタマーケアのユースケースが開始される時点で開始となります。
WhatsAppユーザーにメッセージを送信する
WhatsAppメッセージを送信するには、アプリケーションで、3つの必須情報(受信者、送信者、メッセージ)を付けて、TwilioのProgrammable SMSメッセージREST APIリソース(英語)にHTTP POSTリクエスト送信する必要があります。
-
受信者:
To
パラメーター、whatsapp
:の後に宛先WhatsAppユーザー番号(E.164形式を使用)を続けます。 -
送信者:
From
パラメーター。whatsapp
:の後に送信元WhatsApp番号(E.164形式を使用)を続けます。- 自分のTwilio番号が有効になるまで、WhatsApp Sandbox番号を使用し、WhatsAppでのテストとプロトタイプ作成をできます。
-
メッセージ:
Body
パラメーター。送信するメッセージが含まれます。- 新しい送信メッセージは、事前承認済みのテンプレートを使用して送信する必要があります。24時間以内に応答する場合は、テンプレートは不要です。詳細については、上記の[メッセージング機能]を参照してください。
次にcURLスクリプトの例を示します。
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
--data-urlencode "To=whatsapp:+13105555555" \
--data-urlencode "From=whatsapp:+12125551234" \
--data-urlencode "Body=Your appointment is coming up on {{Date}} at {{Time}}" \
-u "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token"
この例では、WhatsApp経由で送信者(212)555-1234から宛先(310)555-5555に以下のメッセージを送信します。
まもなくご予約の{{Date}}、{{Time}}です。
このスクリプトを自分たちに合わせて動作させるには、以下の情報を更新しターミナルウィンドウに貼り付けます。
- 1行目: アカウントSIDに更新
- 2行目: 有効な宛先に更新
- 3行目: 有効な送信者番号に更新
- ベータ版でTwilio番号が有効になるまで、WhatsApp Sandbox番号を使用してメッセージを送信してください。
- 4行目: 送信したいメッセージにより更新
- 新しい送信メッセージは、事前承認済みのテンプレートを使用して送信する必要があります。24時間以内に応答する場合は、テンプレートは不要です。詳細については、上記のメッセージング機能を参照してください。
- 5行目: ご利用のアカウントSIDと認証トークン(英語)に更新