API 経由の Zalo
Zalo メッセージ
NTT CPaaSは、専用APIを通じてZaloをサポートしています。NTT CPaaS Zalo APIを使用して、顧客ベースに通知メッセージを送信します。テンプレートを登録したら、Zalo API メッセージメソッドを使用してリクエストを作成します。
1 つの API リクエストで複数のテンプレート メッセージを送信できます。追加機能を使用するために、送信要求に追加オプションを追加します。
メッセージ・オプション [#message-options-zalo-messages]
追加のメッセージ オプションを API 要求に適用できます。
メッセージのスケジューリング [#scheduling-messages-zalo-messages]
すべてのコミュニケーションをスケジュールできます。開始日、時刻、タイムゾーンを設定できます。この機能を使用して、都合の悪い時間に顧客に迷惑をかけないようにしたり、最適なコンバージョンのために特定の期間にのみメッセージを送信したりします。
追加のスケジューリングオプションは、送信速度制限を設定することです。たとえば、メッセージを一括送信する場合の送信速度を制限して、より長い期間にわたってメッセージを配信できます。これにより、エンド顧客からの応答の流入でシステムやエージェントが圧倒されるのを防ぐことができます。定期的に送信されるメッセージの**数(量)**を設定できます。使用可能な時間単位は、分、時間、日です。
メッセージ配信ウィンドウを設定して、メッセージを配信できるタイミングを制御できます。開始時刻 (時/分)、終了時刻 (時/分)、および該当する曜日を指定します。設定されたウィンドウ外のメッセージは配信されません。すべての時刻はUTCで表されます。
有効期間 [#validity-period-zalo-messages]
メッセージには、システムが配信を試みる特定の期間があります。たとえば、オーディエンスにメッセージを送信するときに、一部のユーザーが携帯電話の電源を切っている場合、システムは有効期間が経過するまでこれらのユーザーへの配信を再試行します。デフォルトおよび最大有効期間は 48 時間です。要求ごとに設定する必要はありません。より短い期間を設定するには、有効期間 で定義します。使用可能な時間単位は、秒、分、時間です。デフォルト値は分です。
SMS フェイルオーバー [#sms-failover-zalo-messages]
Zalo メッセージが定義された期間内にエンド ユーザーに届かない場合に備えて、SMS へのフェイルオーバー オプションを追加します。SMS メッセージの有効期間を設定することもできます。SMS フェイルオーバーを使用して UID で送信する場合は、SMS メッセージが受信者に届くように、UID に関連付けられた電話番号を定義します。
プラットホーム [#platform-zalo-messages]
Zalo API は CPaaS X(/cpaas-x/applications-and-entities) とシームレスに連携します。これにより、ニーズに合った方法で構成とリソースをより柔軟に管理できます。CPaaS Xの詳細については、CPaaS Xのドキュメントを参照してください。
暗号化 [#encryption-zalo-messages]
暗号化を使用して、メッセージの内容をエンコードしてから、処理のために送信します。Zalo は、暗号化されたコンテンツを側で再翻訳します。すべてのテンプレート値は、暗号タイプ RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING および Base64 エンコード を使用して暗号化する必要があります。メッセージを暗号化するときは、「既存の RSA キーを取得する」または「新しい RSA キーを作成する」メソッドで生成された RSA キーを使用します。
Webhook (英語) [#webhooks-zalo-messages]
Webhooks > delivery > url パラメーターを使用して、API応答が送信されるURLを定義します。API リクエストの Webhooks パラメーターの下に URL を定義します。
Zalo 配信レポート
送信された Zalo メッセージの配信レポートは、Webhook エンドポイントに転送されます。「Webhooks > delivery > url」パラメータを使用してメッセージごとのエンドポイントURLを設定するか、アカウントマネージャーに連絡してデフォルトのエンドポイントを設定します。
詳細については、「 配信レポートの受信」を参照してください。
Zalo ログ
Zalo メッセージのログを取得します。クエリ パラメーターはどれも必須ではありません。パラメータの任意の組み合わせを使用して、結果をフィルタリングします。
Zalo ログは過去 48 時間使用できます。
詳細については、「 Zalo ログの取得」を参照してください。
OAフォロワーメッセージ
Zalo 公式アカウント (OA) API を使用すると、Zalo ユーザー ID (UID) を使用して OA フォロワーとのダイレクト メッセージングが可能になります。UID メッセージは、ZBS テンプレートメッセージと同じ API を介して送信されます。ZBS テンプレート メッセージとは異なり、OA フォロワー メッセージは事前に承認されたテンプレートを必要とせず、アウトバウンド通信とインバウンド通信の両方でさまざまなコンテンツ タイプをサポートします。
アウトバウンド・メッセージ・タイプ
OA から API を介して Zalo ユーザーに次のメッセージタイプを送信します。
| メッセージの種類 | 説明 |
|---|---|
| 本文 | プレーンテキストメッセージ |
| テキスト + 画像 | 画像が添付されたテキストメッセージ |
| ファイル | 添付ファイル |
| ステッカー | Zaloステッカーライブラリのステッカー |
| GIF | アニメーション GIF 画像 |
| 利用者情報請求 | ユーザー連絡先の詳細を要求するフォーム |
見積もりメッセージと返信メッセージは、テキスト メッセージの種類の一部としてサポートされています。特定のユーザーメッセージに返信するように、APIリクエストで見積パラメータを設定します。
インバウンド メッセージの種類
インバウンドメッセージWebhookを介してZaloユーザーから次のメッセージタイプを受信します。これらの Webhook は、ネイティブの Zalo Webhook ペイロードとは異なるペイロードを使用します。
| メッセージの種類 | Webhook イベント |
|---|---|
| 本文 | 「ユーザー送信テキスト」 |
| 画像 | 「ユーザー送信画像」 |
| オーディオ | 「ユーザー送信オーディオ」 |
| 動画 | 「ユーザー送信動画」 |
| ファイル | 「ユーザー送信ファイル」 |
| リンク | 「ユーザー送信リンク」 |
| ステッカー | 「ユーザー送信ステッカー」 |
| 場所 | 「ユーザー送信場所」 |
| 名刺 | 「ユーザー送信名刺」 |
OA Webhook イベント
Zalo OA は、メッセージ配信追跡用の Webhook イベントを提供します。
| イベント | 説明 |
|---|---|
| デリバリー | メッセージがユーザーに配信されました |
| 見た | ユーザーが OA |
| CTAクリック | ユーザーがメッセージ内のコールトゥアクションボタンをクリックした |
RSA暗号化
Zalo Send API は、暗号化された通知メッセージの送信をサポートしています。すべてのテンプレート値は、暗号タイプ RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING と Base64 エンコードを使用して暗号化する必要があります。Zalo は秘密鍵を保存し、コンテンツを復号化します。
RSAキー管理 [#rsa-key-management]
メッセージを暗号化する前に、Zalo API を使用して RSA 公開鍵を取得します。
新しいキーを生成します。 RSA キー生成 API は、公開キーと秘密キーのペアを作成します。公開鍵のみが返されます。秘密鍵は、コンテンツを復号化するために Zalo によって保存されます。
既存のキーを取得します。 RSA キーをすでに生成している場合は、公開キー get API を使用して取得します。
メッセージを暗号化して送信する [#encrypt-and-send-messages]
Base64 エンコーディングを使用して、公開鍵文字列をバイト配列形式に変換します。暗号タイプ RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING の公開鍵を使用してすべてのテンプレート値を暗号化し、結果を Base64 でエンコードします。
暗号化されたコンテンツを送信するには、API リクエストで encrypted パラメーターを true に設定します。