このチュートリアルでは、Chat App Message Service の Agentic Journey を使用して、ワンタイムパスワード (OTP) メッセージのマルチチャネル配信ワークフローを構築する方法について説明します。
背景情報
2023年末現在、WhatsApp は約 200 の国と地域で 20 億人以上のアクティブユーザーを抱えています。アカウントシステムが電話番号に基づいているため、WhatsApp はユーザーにリーチするための効果的なチャネルです。その結果、多くの企業がグローバルユーザーにワンタイムパスワード (OTP) メッセージ、通知、マーケティングキャンペーンを送信する際に WhatsApp を優先的に利用しています。
しかし、グローバルなユーザーベースを持つ企業は、OTP 配信を WhatsApp のみに依存すると、満足のいく結果が得られないことがよくあります。
これには主に 2 つの理由があります。
第一に、OTP、通知、マーケティングメッセージはすべて SMS、E メール、インスタントメッセージングアプリなどのチャネルを経由して送信されますが、目的、内容、ユーザーの期待が根本的に異なります。OTP の目的は、通常 1 分以内に本人確認を完了することです。このため、メッセージにはより高い正確性と適時性が求められ、配信成功の基準は非常にシンプルです。
第二に、WhatsApp は世界的に人気がありますが、その普及率は国によって大きく異なります。また、好まれるインスタントメッセージングアプリも国によって異なります。この差異は、一部の国では WhatsApp がユーザーの主要な選択肢ではないことを意味し、OTP メッセージの配信に悪影響を及ぼします。
したがって、グローバルなユーザーベースに対応する場合、WhatsApp のみを使用するシングルチャネルのアプローチでは、必然的に不十分となります。これを克服するために、企業はすべての主流なコミュニケーションチャネルをカバーし、「ユーザーがいる場所で会う」必要があります。しかし、膨大な電話番号リストから国を特定し、それに応じて複数のチャネル経由でメッセージをルーティングするにはどうすればよいでしょうか?
ソリューション
Alibaba Cloud Chat App Message Service の Agentic Journey を使用して、電話番号の地域を迅速に特定し、複数のチャネルでメッセージを送信します。
Chat App Message Service は、企業がユーザーに効果的にリーチするのを支援する Alibaba Cloud の強力なメッセージングエンジンです。これにより、WhatsApp、Viber、Messenger、Instagram などのグローバルメッセージングプラットフォームとの簡単な統合が可能になり、リッチなメッセージタイプでユーザーエンゲージメントを強化します。設定を簡素化するために、このサービスには組み込みの Agentic Journey ツールが含まれています。これにより、どんな従業員でもローコードアプローチを使用して、インタラクティブなワークフローを迅速に構築できます。
Agentic Journey は、大きなビジュアルキャンバスを提供します。左側には、メッセージコンポーネント、フロー制御コンポーネント、AI コンポーネント、マーケティングコンポーネントなど、さまざまなコンポーネントがあります。これらのコンポーネントをキャンバスにドラッグアンドドロップし、簡単な設定で、Agentic Journey を使用してビジネスプロセスに合ったワークフローを迅速に組み立てることができます。
Agentic Journey の機能は、チャネルドック、フロードック、AI ドック、マーケティングドックの 4 つの主要カテゴリに分類されます。詳細については、「Agentic Journey の機能」をご参照ください。
Agentic Journey には、使いやすさ、メンテナンスのしやすさ、高い柔軟性、深い統合、幅広い適用性という 5 つの主要な強みがあります。詳細については、「Agentic Journey のハイライト」をご参照ください。
操作手順
シナリオ:フィリピンのユーザーには Viber、マレーシアのユーザーには WhatsApp、その他のすべての国のユーザーには SMS を通じて OTP を送信したい場合。
フロー図:

以下の 5 つの手順を実行してください:
変数の設定
タブで、トリガータイプ が 手動 のフローの フロー名 をクリックします。キャンバスエディターページが開きます。キャンバスで 開始 をクリックし、右側のパネルで 入力変数は受け付けません をオフにします。たとえば、このシナリオでは、入力変数は受け付けません をオフにした後、顧客の電話番号 (
customerPhoneNumber) と検証コード (verificationCode) の変数を入力する必要があります。PH と ML ブランチの作成
コンポーネントライブラリから [Recognize a Phone Number] コンポーネントを選択し、キャンバスにドラッグします。マルチブランチの有効化 ボタンを有効にします。リージョンコードに基づいて分岐させたい場合は、地域コード オプションを選択します。下のブランチで、フィリピン (PH) やマレーシア (ML) など、対象国または地域の国際コードを選択します。出力コード変数名 を設定します。この名前を使用して、後続のコンポーネントで変数を参照できます。
[入力設定] セクションで、
customerPhoneNumber変数を選択します。[出力変数名] をregionCodeに設定します。else ブランチの設定
else分岐で、[SMS送信] コンポーネントをドラッグアンドドロップします。 送信者 ID を設定します。 受信者の電話番号には、開始 ノードで設定されている customerPhoneNumber 変数を選択します。 メッセージ内容 には、コンテンツタイプ を 確認コード に設定します。 メッセージ内容は、ユーザーに送信されるメッセージの本文です。 このシナリオでは、以下を入力します。ワンタイムパスワードは {{verificationCode}} です。このパスワードは 10 分間有効です。アカウント保護のため、このパスワードを誰とも共有しないでください。
この場合、verificationCode は検証コードを表す変数名であり、開始 ノードで定義されています。変数を使用するには {{ と入力すると、既存の変数を選択したり、新しい変数を作成したりできます。変数リストには、現在のコンポーネントで使用可能なすべての変数が含まれています。
説明最初に else ブランチを設定することがベストプラクティスです。このブランチはフォールバックブランチとして機能し、例外を処理する必要がある場合に他のブランチからジャンプできます。
PH ブランチの設定
PH ブランチに [Send Viber Message] コンポーネントをドラッグし、送信設定項目、メッセージ設定、タイムアウト設定 などの関連設定を構成します。
メッセージ送信設定: 操作 を From/To に、送信メッセージタイプ を 取引 に、送信タイプ を 送信タイプ (Viber ビジネスアカウント) に設定します。送信チャンネル には、メッセージの送信に使用するチャネルを選択します。受信者には、開始ノードで定義された、ユーザーの携帯電話番号を表す customerPhoneNumber 変数を使用します。
メッセージ設定: メッセージタイプ に テキスト を選択し、メッセージ本文を入力します。このシナリオでは、次のように入力します:
ワンタイムパスワードは {{verificationCode}} です。このパスワードは 10 分間有効です。アカウント保護のため、このパスワードを誰とも共有しないでください。
説明ここで、verificationCode は、[Start] で定義される検証コードの変数名です。
[Send a Viber Message in PH region] ノードでは、メッセージ送信設定は次のように構成されます:
アクション: [From/To]
送信メッセージタイプ: [Transaction]
送信タイプ: [Service ID]
送信チャネル: [Viber]
受信者:
{{customerPhoneNumber}}
タイムアウト設定: ユーザーが OTP を確実に受信できるように、指定した期間内にメッセージが配信されない、または読まれない場合にトリガーされるアクションを設定できます。
以下のセクションで、この設定方法について説明します。
未配信の場合に WhatsApp を送信
以下の 3 つの手順を実行してください:
[Send a Viber Message] コンポーネントの未配信ブランチに [Send a WhatsApp Message] コンポーネントをドラッグします。
[WhatsApp メッセージの送信] コンポーネントをクリックします。右側の ペインで、[送信元/送信先] を選択します。送信タイプ には、電話番号 を選択します。送信チャンネル には、メッセージの送信に使用する WABA チャネルを選択します。送信元番号 には、WABA チャネルで検証済みの番号を選択します。受信者 には、[開始] ノードで定義されたユーザーの電話番号変数 (例: customerPhoneNumber) を入力します。
メッセージ設定項目 で、メッセージタイプ を テンプレートメッセージ に設定し、チャンネル に送信チャネルと同じチャネルを選択し、テンプレートメッセージ に送信するテンプレートを選択します。テンプレートは事前に作成し、WhatsApp の承認を得る必要があります。
未読の場合に SMS を送信
以下の 2 つの手順を実行してください:
[Send a Viber Message] コンポーネントの未読ブランチに [Jump to Another Step] コンポーネントをドラッグします。
[Jump to Another Step] コンポーネントをクリックします。右側のペインの で、[Send SMS] ノードコンポーネントを選択します。最大リダイレクト数 は、ジャンプコンポーネントがトリガーされる最大回数を指定します。たとえば、3 と入力すると、ジャンプコンポーネントは 4 回目にはトリガーされません。
PH ブランチでは、[Send a WhatsApp Message] コンポーネントの未配信ブランチと未読ブランチも設定できます。このフローでは、WhatsApp メッセージが 30 秒以内に配信されない場合、フローは else ブランチの統一された
Send SMSコンポーネントにジャンプします。設定は上記の手順と似ています。ジャンプコンポーネントでは、ジャンプ先のコンポーネントの名前を指定する必要があります。キャンバス上でコンポーネント名をカスタマイズして区別することができます。
説明フィリピンのユーザーの場合、フローはまず Viber で OTP を送信しようとします。配信に失敗すると、フローはすぐに WhatsApp で再試行します。WhatsApp も失敗した場合は、最終的に SMS にフォールバックします。このマルチチャネルアプローチにより、メッセージ配信の成功率が最大化されます。
ML ブランチの設定
ML ブランチで、マレーシアの電話番号のフローを設定します。設定プロセスは PH ブランチと似ていますが、チャネルの優先順位が異なります。マレーシアのユーザーの場合、フローはまず WhatsApp でメッセージを送信しようとします。それが失敗した場合は、Viber にフォールバックします。Viber も失敗した場合は、[Jump to Another Step] コンポーネントがフローを else ブランチの統一された SMS チャネルにリダイレクトします。WhatsApp メッセージが正常に配信され、読まれた場合、フローは終了します。