RCS for Business パートナーとして登録すると、パートナー アカウントが作成されます。パートナー アカウントの設定にアクセスするには、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 を構成する方法については、Webhook ガイドをご覧ください。
配信エラーを防ぐために Webhook を非同期で処理する方法については、メッセージ処理をご覧ください。
受信メールを確認する
Webhook は任意の送信者からメッセージを受信できるため、メッセージ コンテンツを処理する前に、受信メッセージが Google から送信されたことを確認する必要があります。
受け取ったメッセージが Google から送信されたものかどうかを確認するには、次の手順を行います。
- メッセージの
X-Goog-Signatureヘッダーを抽出します。これは、メッセージ本文のペイロードのハッシュ化された base64 エンコード コピーです。 - リクエストの
message.body要素で RBM ペイロードを Base64 でデコードします。 - Webhook のクライアント トークン(Webhook の設定時に指定したもの)をキーとして使用し、Base64 でデコードされたメッセージ ペイロードのバイトの SHA512 HMAC を作成して、結果を Base64 でエンコードします。
X-Goog-Signatureハッシュと作成したハッシュを比較します。- ハッシュが一致した場合、Google がメッセージを送信したことを確認できます。
ハッシュが一致しない場合は、既知の正常なメッセージでハッシュ化プロセスを確認します。
ハッシュ化プロセスが正しく機能しているにもかかわらず、不正なメッセージが届いたと思われる場合は、お問い合わせください。
Node.js
if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) { // Validate the received hash to ensure the message came from Google RBM const headerHash = req.header('X-Goog-Signature'); const userEventString = Buffer.from(requestBody.message.data, 'base64'); const hmac = crypto.createHmac('sha512', myClientToken); const genHash = hmac.update(userEventString).digest('base64'); if (headerHash === genHash) { const userEvent = JSON.parse(userEventString); const webhookType = req.header('X-Goog-Webhook-Type'); // Route based on the header type if (webhookType === 'message_callback') { handleMessage(userEvent); } else if (webhookType === 'agent_callback') { handleAgentEvent(userEvent); } } else { console.log('Hash mismatch - ignoring message'); res.sendStatus(401); return; } } res.sendStatus(200);
次のステップ
パートナー アカウントの設定が完了したら、最初のエージェントを構築します。