RBM パートナーとして登録すると、パートナー アカウントが作成されます。パートナー アカウントの設定にアクセスするには、Business Communications デベロッパー コンソールを開き、[パートナー アカウントの設定] をクリックします。ここでは次の操作を行えます。
パートナー アカウント情報を更新する
[設定] ページでパートナー ID を確認し、次の情報を更新できます。
項目 | 説明 |
---|---|
パートナー名 | パートナー アカウントの名前 |
表示名 | この名前は、携帯通信会社が受信する
RBM 請求レポートに owner_name フィールドとして表示されます。携帯通信会社はこの情報を使用して、貴社を信頼できるパートナーであると識別し、RBM を使用して定期購読者にリーチするための正しい請求書を生成するために使用されます。ここで指定する名前は、携帯通信会社のメッセージ契約で使用されている名前と一致する必要があります。 |
技術関連の連絡窓口 | エージェントで技術的な問題が発生した場合に Google から連絡がある相手。会話の相手を
|
Webhook | これは Webhook エンドポイント URL です。[**設定**] をクリックして更新します。 パートナー Webhook を構成すると、すべてのエージェントに適用されます。個々のエージェントに別の Webhook を使用する場合は、そのエージェントにのみ適用されるエージェント Webhook を構成できます。 |
ブランドを管理する
RBM パートナーは、ブランドを代表してエージェントを作成できます。
パートナー アカウントに関連付けられているブランドを追加、編集、削除するには、[アカウント設定] の [ブランド] ページを使用します。
ブランドを追加
ブランドを追加するには、入力フィールドにブランド名を入力し、[追加] をクリックします。
ブランドを編集する
ブランドを編集するには:
- ブランド名の横にあるチェックボックスをオンにします。
- [ ] ボタンをクリックし、[名前を編集] をクリックします。
- 編集を行い、[完了] をクリックします。
ブランドを削除する
ブランドがエージェントに関連付けられている場合は、エージェントが起動されていなくても削除できません。
ブランドを削除するには、ブランド名の横にあるチェックボックスをオンにして、[削除] をクリックします。
ユーザーの管理
[アカウント設定] の [ユーザー] ページでは、パートナー アカウントのユーザーを管理します。パートナー アカウントを作成したユーザーにはオーナーのロールが付与されています。新規ユーザーには、マネージャーまたは閲覧者のロールを割り当てることができます。
- 管理者は、Developer Console のすべての機能にアクセスして、パートナー アカウントに属するすべてのエージェントを管理できます。
- 閲覧者は、デベロッパー コンソールへの読み取り専用アクセス権を持ち、パートナー アカウントに属するすべてのエージェントを確認できます。
ユーザーを追加する
ユーザーを追加するには、入力フィールドにメールアドレスを入力し、[ロール] を選択します。
新しいユーザーを追加すると、パートナー アカウントへのアクセス権があることを知らせるメールがそのユーザーに送信されます。
ユーザーを削除する
ユーザーを削除するには:
- 削除するユーザーを見つけて、そのテーブルの行にある ボタンをクリックします。
- [ユーザーを削除] を選択します。
- 削除を確定します。
削除されたユーザーには、パートナー アカウントにアクセスできなくなったことを通知するメールが届きます。
オーナーのロールを持つユーザーは削除できません。オーナーを変更または削除するには、サポートにご連絡ください。
ユーザーのロールを変更する
ユーザーの役割を更新するには:
- 更新するユーザーを見つけて、そのテーブルの行の ボタンをクリックします。
- [ロールを編集] を選択します。
- プルダウンから新しいロールを選択します。
- [保存] をクリックします。
API 呼び出しを認証するためのサービス アカウントを設定する
RBM API を呼び出す場合は、サービス アカウント キーで呼び出しの認証を行います。このキーを使用すると、ブランドとエージェントを作成および管理し、エージェントとしてメッセージとリクエストを送信できます。
サービス アカウント キーを生成する手順は次のとおりです。
- [アカウント設定] で、[サービス アカウント] ページに移動します。
- [鍵を作成]、[作成] の順にクリックします。ブラウザでサービス アカウント キーがダウンロードされます。
サービス アカウント キーを安全なプライベート ロケーションに保存します。鍵は公開しないでください。このキーは、後で RBM API にアクセスする際に必要になります。
パートナー Webhook を構成する
Webhook はパートナーが作成した HTTPS コールバックで、エージェントがメッセージとイベントに応答する方法を指定します。Webhook を構成したら、メッセージとイベントの受信を開始できます。
パートナー Webhook を構成する手順は次のとおりです。
ビジネス コミュニケーションのデベロッパー コンソールを開き、RBM パートナーの Google アカウントでログインします。
[アカウント設定] を開きます。
[RCS Business Messaging の Webhook URL] で [設定] をクリックします。
[Webhook エンドポイント URL] に、「https://」で始まる Webhook URL を入力します。
clientToken
の値をメモします。これは、受信したメッセージが Google から送信されていることを確認するために必要です。指定された
clientToken
パラメータを含むPOST
リクエストを受け入れ、レスポンス本文としてsecret
パラメータの書式なしテキスト値を含む200 OK
レスポンスを送信するように、Webhook を構成します。たとえば、Webhook が次のような本文を含む
POST
リクエストを受け取ったとします。{ "clientToken":"SJENCPGJESMGUFPY", "secret":"1234567890" }
この場合、Webhook は
clientToken
値を確認し、clientToken
が正しい場合は、1234567890
をレスポンス本文とする200 OK
レスポンスを返します。// clientToken from Configure const myClientToken = "SJENCPGJESMGUFPY"; // Example endpoint app.post("/rbm-webhook", (req, res) => { const msg = req.body; if (msg.clientToken === myClientToken) { res.status(200).send(msg.secret); return; } res.send(400); });
Play Console で [確認] をクリックします。RBM が Webhook を検証すると、ダイアログが閉じます。
受信メールを確認する
Webhook はどの送信者からでもメッセージを受信できるため、メッセージの内容を処理する前に、Google が着信メッセージを送信したことを確認する必要があります。
受信したメッセージが Google から送信されたことを確認する手順は次のとおりです。
- メッセージの
X-Goog-Signature
ヘッダーを抽出します。これは、メッセージ本文のペイロードのハッシュされ、base64 でエンコードされたコピーです。 - リクエストの
message.body
要素内の RBM ペイロードを Base64 でデコードします。 - Webhook のクライアント トークン(Webhook の設定時に指定したもの)をキーとして使用し、base-64 でデコードされたメッセージ ペイロードのバイトの SHA512 HMAC を作成し、結果を base64 でエンコードします。
X-Goog-Signature
ハッシュと作成したハッシュを比較します。- ハッシュが一致した場合、Google がメッセージを送信したことが確認されています。
ハッシュが一致しない場合は、既知の正常なメッセージのハッシュ化プロセスを確認します。
ハッシュ化プロセスが正常に機能し、不正に送信されたと思われるメッセージを受け取った場合は、Google にお問い合わせください。
Node.js
if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) { // Validate the received hash to ensure the message came from Google RBM let userEventString = Buffer.from(requestBody.message.data, 'base64'); let hmac = crypto.createHmac('sha512', CLIENT_TOKEN); let data = hmac.update(userEventString); let genHash = data.digest('base64'); let headerHash = req.header('X-Goog-Signature'); if (headerHash === genHash) { let userEvent = JSON.parse(userEventString); console.log('userEventString: ' + userEventString); handleMessage(userEvent); } else { console.log('hash mismatch - ignoring message'); } } res.sendStatus(200);
次のステップ
パートナー アカウントの設定が完了したので、最初のエージェントを構築します。