Logo
Logo
CTRLK

共有コンポーネント

API 経由の Zalo

Zalo メッセージ

NTT CPaaS は、専用の API を通じて Zalo をサポートしています。NTT CPaaS Zalo APIを使用して、顧客ベースに通知メッセージを送信します。通信に使用するテンプレートを登録したら、Zalo APIメッセージメソッドを使用してリクエストを作成します。

1 つの API リクエストで複数のテンプレートメッセージを送信できます。追加機能の恩恵を受けたい場合に備えて、送信リクエストに補足オプションを追加することを忘れないでください。

メッセージ・オプション [#message-options-zalo-messages]

追加のメッセージ オプションを API 要求に適用できます。

メッセージのスケジューリング [#scheduling-messages-zalo-messages]

すべての通信をスケジュールできます。開始日時刻タイムゾーンを設定できます。この機能は、夜間に顧客の邪魔をしたくない場合や、最適なコンバージョンのために特定の期間にのみメッセージを送信したい場合に便利です。

json
1 
2 "SendAt": 2015-07-07T17:00:00.000+01:00

追加のスケジュールオプションは、送信速度制限を設定することです。たとえば、メッセージを一括送信して、より長い期間にわたってメッセージを配信する場合、送信速度を制限できます。この機能は、ディスパッチされたメッセージに埋め込まれた行動喚起に受信者が反応することが予想される場合に役立ちます。そうすることで、エンドユーザーからの応答の流入でシステムやエージェントを圧倒することを回避し、運用上の負担を回避できます。定期的に送信される**メッセージの数(量)**を設定できます。使用可能な時間単位は、m inutes、hours、days です。

json
1 
2 "sendingSpeedLimit": { "amount": 30, "timeUnit": "HOUR" }

また、メッセージを配信しない特定のメッセージ配信期間を設定することもできます。時間(時/分)、終了時間(時/分)、曜日を設定できます。時刻は UTC タイム ゾーンで表されます。

json
1 
2 "deliveryTimeWindow": {"days": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ],"from": { "hour": 6, "minute": 0 },"to": { "hour": 15, "minute": 30 }}

有効期間 [#validity-period-zalo-messages]

メッセージには、システムがメッセージの配信を試みる特定の期間があります。たとえば、オーディエンスにメッセージを送信するときに、一部のユーザーが携帯電話をオフにしている場合、システムは有効期間が経過するまでこれらのユーザーへの配信を再試行します。デフォルトおよび最大有効期間は 48 時間です。要求ごとに設定する必要はありません。より短い期間を設定する場合は、有効期間で定義する必要があります。使用可能な時間単位は、秒、分、時間です。デフォルト値は分です。

json
1 
2 "validityPeriod": { "amount": 30, "timeUnit": "MINUTES" }

SMS フェイルオーバー [#sms-failover-zalo-messages]

定義された期間内に Zalo メッセージが終了SMSユーザーに到達しない場合に備えて、 オプションへのフェールオーバーを追加します。また、SMSメッセージの有効期間を設定することもできます。

json
1 
2 "smsFailover": { "sender": "41793026726", "text": "Failover message text", "validityPeriod": { "amount": 2, "timeUnit": "HOURS" } }  

プラットホーム [#platform-zalo-messages]

Zalo API は CPaaS X とシームレスに連携します。これにより、ニーズに合った方法で構成とリソースをより柔軟に管理できます。CPaaS Xの詳細については、CPaaS Xドキュメントを参照してください。

json
1 
2 "platform": {"entityId": "priorityCustomer","applicationId": "clientTestEnvironment"}

暗号化 [#encryption-zalo-messages]

暗号化を使用して、処理のために送信する前にメッセージの内容をエンコードします。暗号化されたコンテンツはZalo側で再翻訳されます。 すべてのテンプレート値は、暗号タイプRSA/ECB/OAEPWITHSHA-256ANDMGF1PADDINGおよびBase64エンコードを使用して暗号化する必要があります。メッセージの暗号化時には、「既存の RSA キーを取得する」または「新しい RSA キーを作成する」メソッドで生成された RSA キーを使用してください。

json
1 
2 "encrypted": true

Webhook (英語) [#webhooks-zalo-messages]

Webhooks > delivery > url パラメーター オプションは、ユーザーがAPI応答を受信するURLを設定できるようにする場合に使用します。API 要求の Webhook パラメーターの下に URL を定義します。

json
1 
2 "webhooks": {"delivery": { "url": "https://www.example.com/zalo" },}

Zalo 配信レポート

このメソッドを使用すると、送信された Zalo メッセージの 1 回限りの配信レポートを取得できます。

Zalo ログ

このメソッドを使用すると、Zaloメッセージのログを取得できます。この要求では、どのクエリ パラメーターも必須ではありません。パラメーターの任意の組み合わせを使用して、結果をフィルター処理できます。以下にいくつかの例を示します。

Zalo ログは過去 48 時間利用できます。

Zalo RSA 暗号化

Zalo 送信 API は、暗号化された Zalo 通知サービス メッセージの送信をサポートします。Zaloメッセージの内容を暗号化できるようにするには、最初に公開鍵を生成する必要があります。

ステップ 1: RSA キーを生成する [#step-1-generate-rsa-key-zalo-rsa-encryption]

メッセージの暗号化時には、"Create a new RSA key" または "Get existing RSA key" メソッドによって生成された RSA キーを使用します。

新しい RSA キーを作成する [#create-a-new-rsa-key-zalo-rsa-encryption]

RSA 鍵生成 API を使用すると、公開鍵と秘密鍵で構成される鍵ペアを生成できます。このメソッドでは、公開鍵のみが返されます。秘密鍵は、コンテンツを復号化するためにZaloによって保存されます。

既存の RSA キーを取得する [#get-existing-rsa-key-zalo-rsa-encryption]

すでに RSA キーを生成している場合は、公開キー取得 API を使用して公開キーを取得してください。

ステップ 2: templateData を暗号化する [#step-2-encrypt-templatedata-zalo-rsa-encryption]

手順 1 で受け取った公開キーは、文字列の形式になります。Base64エンコーディングを使用して、公開鍵をバイト配列形式に変換してください。エンコード時の暗号タイプ:RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING

すべてのテンプレート値は、暗号タイプRSA/ECB/OAEPWITHSHA-256ANDMGF1PADDINGおよびBase64エンコードを使用して暗号化する必要があります。

公開鍵を使用して、暗号タイプRSA/ECB/OAEPWITHSHA-256ANDMGF1PADDINGを使用してすべてのテンプレート値を暗号化し、*Base64.*をエンコードします。

ステップ3:暗号化されたコンテンツを送信する [#step-3-send-encrypted-content-zalo-rsa-encryption]

暗号化されたパラメーターを true に設定した Zalo 送信 API を使用して、暗号化されたコンテンツを送信します。