RCS for Business パートナーとして登録すると、パートナー アカウントが作成されます。パートナー アカウントの設定にアクセスするには、ビジネス コミュニケーション デベロッパー コンソールを開き、[パートナー アカウントの設定] をクリックします。ここでは、次の操作を行えます。
- パートナー アカウントの情報を更新する
- アカウントにリンクされているブランドを追加、編集、削除する
- アカウント ユーザーを管理する
- API 呼び出しを認証するためのサービス アカウントとキーを作成する
パートナー アカウント情報を更新する
[設定] ページでは、パートナー ID を確認し、次の情報を更新できます。
フィールド | 説明 |
---|---|
パートナー名 | パートナー アカウントの名前 |
表示名 | この名前は、携帯通信会社が受け取る
請求レポート(owner_name フィールド)に表示されます。携帯通信会社は、この情報を使用してお客様を信頼できるパートナーとして識別し、RCS for Business を使用して加入者にリーチする際の正しい請求情報を生成します。ここで指定する名前は、携帯通信会社のメッセージ契約で使用されている名前と一致している必要があります。 |
技術関連の連絡窓口 | エージェントで技術的な問題が発生した場合に Google が連絡する担当者。ユーザーの
|
Webhook | これは Webhook エンドポイント URL です。[構成] をクリックして更新します。 パートナー Webhook を構成すると、すべてのエージェントに適用されます。個々のエージェントに別の Webhook を使用する場合は、そのエージェントにのみ適用されるエージェント Webhook を構成できます。 |
ブランドを管理する
RCS for Business パートナーは、ブランドに代わってエージェントを作成できます。
パートナー アカウントに関連付けるブランドを追加、編集、削除するには、[アカウント設定] の [ブランド] ページを使用します。
ブランドを追加
ブランドを追加するには、入力フィールドにブランド名を入力して [追加] をクリックします。
ブランドを編集する
ブランドを編集するには:
- ブランド名の横にあるチェックボックスをオンにします。
- ボタンをクリックし、[名前を編集] をクリックします。
- 編集が完了したら、[完了] をクリックします。
ブランドを削除する
エージェントがリリースされていない場合でも、ブランドがエージェントに関連付けられている場合は、ブランドを削除できません。
ブランドを削除するには、ブランド名の横にあるチェックボックスをオンにして、[削除] をクリックします。
ユーザーを管理
[アカウント設定] の [ユーザー] ページでは、パートナー アカウントのユーザーを管理します。パートナー アカウントを作成したユーザーには、オーナーのロールが付与されます。新しいユーザーには、マネージャーまたは閲覧者のロールを割り当てることができます。
- 管理者は、デベロッパー コンソールのすべての機能にアクセスして、パートナー アカウントに属するすべてのエージェントを管理できます。
- 閲覧者は、デベロッパー コンソールへの読み取り専用アクセス権を持ち、パートナー アカウントに属するすべてのエージェントを表示できます。
ユーザーを追加する
ユーザーを追加するには、入力フィールドにメールアドレスを入力し、ロールを選択します。
新しいユーザーを追加すると、パートナー アカウントにアクセスできることを知らせるメールがそのユーザーに届きます。
ユーザーを削除する
ユーザーを削除するには:
- 削除するユーザーを見つけて、そのユーザーのテーブル行にある ボタンをクリックします。
- [ユーザーを削除] を選択します。
- 削除を確定します。
削除したユーザーには、パートナー アカウントにアクセスできなくなったことを知らせるメールが届きます。
オーナーロールを持つユーザーは削除できません。オーナーを変更または削除するには、サポートにお問い合わせください。
ユーザーの役割を変更する
ユーザーのロールを更新するには:
- 更新するユーザーを見つけて、表の行にある ボタンをクリックします。
- [ロールを編集] を選択します。
- プルダウンから新しいロールを選択します。
- [保存] をクリックします。
API 呼び出しを認証するサービス アカウントを設定する
RBM API を呼び出すときは、サービス アカウント キーで呼び出しを認証します。このキーを使用すると、ブランドとエージェントの作成と管理、エージェントとしてのメッセージとリクエストの送信を行うことができます。サービス アカウントには最大 10 個の鍵を設定できます。
API 呼び出しを安全に認証するには、oauth2l コマンドライン ツールも必要です。
サービス アカウント キーを生成する手順は次のとおりです。
- [アカウント設定] で、[サービス アカウント] ページに移動します。
- [鍵を作成]、[作成] の順にクリックします。ブラウザでサービス アカウント キーをダウンロードします。
サービス アカウント キーは安全な非公開の場所に保存します。キーを一般公開しないでください。このキーは、後で RBM API にアクセスするために必要になります。
パートナー Webhook を構成する
Webhook は、パートナーが作成した HTTPS コールバックで、エージェントがメッセージやイベントにどのように応答するかを指定します。Webhook を構成すると、メッセージとイベントの受信を開始できます。
エージェントごとに異なる Webhook を使用する場合は、パートナー Webhook をオーバーライドするエージェント レベルの Webhook を設定できます。詳細については、エージェントの Webhook を構成するをご覧ください。
パートナー Webhook を構成する手順は次のとおりです。
Business Communications Developer Console を開き、RCS for Business パートナーの 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); });
デベロッパー コンソールで、[確認] をクリックします。RCS for Business がウェブフックを検証すると、ダイアログが閉じます。
配信エラーを防ぐために Webhook を非同期で処理する方法については、メッセージ処理をご覧ください。
受信メールを確認する
Webhook は任意の送信者からメッセージを受信できるため、メッセージ コンテンツを処理する前に、受信したメッセージが Google から送信されたものであることを確認する必要があります。
受け取ったメッセージが Google から送信されたものかどうかを確認するには、次の手順を行います。
- メッセージの
X-Goog-Signature
ヘッダーを抽出します。これは、メッセージ本文ペイロードのハッシュ化された base64 エンコード コピーです。 - リクエストの
message.body
要素で RBM ペイロードを Base64 でデコードします。 - Webhook のクライアント トークン(Webhook の設定時に指定したもの)をキーとして使用し、Base64 でデコードされたメッセージ ペイロードのバイトの 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);
次のステップ
パートナー アカウントの設定が完了したら、最初のエージェントを作成します。