パートナー アカウントを設定する

RCS for Business パートナーとして登録すると、パートナー アカウントが作成されます。パートナー アカウントの設定にアクセスするには、RCS for Business デベロッパー コンソールを開き、[パートナー アカウントの設定] をクリックします。ここでは、次の操作を行えます。

パートナー アカウント情報を更新する

[設定] ページでは、パートナー ID を確認し、次の情報を更新できます。

フィールド 説明
パートナー名 パートナー アカウントの名前
表示名 この名前は、携帯通信会社が受け取る 請求レポートowner_name フィールド)に表示されます。携帯通信会社は、この情報を使用してお客様を信頼できるパートナーとして識別し、RCS for Business を使用して加入者にリーチする際の正しい請求情報を生成します。ここで指定する名前は、携帯通信会社のメッセージ契約で使用されている名前と一致している必要があります。
技術関連の連絡窓口

エージェントで技術的な問題が発生した場合に Google から連絡する担当者。ユーザーの

  • 名前
  • 会社のメールアドレス
  • 電話番号
Webhook これは Webhook エンドポイント URL です。[構成] をクリックして更新します。 パートナーの Webhook を構成すると、すべてのエージェントに適用されます。個々のエージェントに別の Webhook を使用する場合は、そのエージェントにのみ適用されるエージェント Webhook を構成できます。

ブランドを管理する

RCS for Business パートナーは、ブランドに代わってエージェントを作成できます。

パートナー アカウントに関連付けられているブランドを追加、編集、削除するには、[アカウント設定] の [ブランド] ページを使用します。

ブランドを追加

ブランドを追加するには、入力フィールドにブランド名を入力して [追加] をクリックします。

ブランドを編集する

ブランドを編集するには:

  1. ブランド名の横にあるチェックボックスをオンにします。
  2. ボタンをクリックし、[名前を編集] をクリックします。
  3. 編集が完了したら、[完了] をクリックします。

ブランドを削除する

エージェントがリリースされていない場合でも、ブランドがエージェントに関連付けられている場合は削除できません。

ブランドを削除するには、ブランド名の横にあるチェックボックスをオンにして、[削除] をクリックします。

ユーザーを管理

[アカウント設定] の [ユーザー] ページでは、パートナー アカウントのユーザーを管理します。パートナー アカウントを作成したユーザーには、オーナーのロールが付与されます。新しいユーザーには、管理者または閲覧者のロールを割り当てることができます。

  • 管理者は、デベロッパー コンソールのすべての機能にアクセスして、パートナー アカウントに属するすべてのエージェントを管理できます。
  • 閲覧者は、デベロッパー コンソールへの読み取り専用アクセス権を持ち、パートナー アカウントに属するすべてのエージェントを表示できます。

ユーザーを追加する

ユーザーを追加するには、入力フィールドにメールアドレスを入力し、ロールを選択します。

新しいユーザーを追加すると、パートナー アカウントへのアクセス権が付与されたことを知らせるメールがそのユーザーに届きます。

ユーザーを削除する

ユーザーを削除するには:

  1. 削除するユーザーを見つけて、そのユーザーのテーブル行にある ボタンをクリックします。
  2. [ユーザーを削除] を選択します。
  3. 削除を確定します。

削除したユーザーには、パートナー アカウントにアクセスできなくなったことを知らせるメールが届きます。

オーナーロールを持つユーザーは削除できません。オーナーを変更または削除するには、サポートにお問い合わせください。

ユーザーのロールを変更する

ユーザーのロールを更新するには:

  1. 更新するユーザーを見つけて、表の行にある ボタンをクリックします。
  2. [ロールを編集] を選択します。
  3. プルダウンから新しいロールを選択します。
  4. [保存] をクリックします。

API 呼び出しを認証するサービス アカウントを設定する

RBM API を呼び出すときは、サービス アカウント キーで呼び出しを認証します。このキーを使用すると、ブランドとエージェントの作成と管理、エージェントとしてのメッセージとリクエストの送信を行うことができます。サービス アカウントには最大 10 個の鍵を設定できます。

API 呼び出しを安全に認証するには、oauth2l コマンドライン ツールも必要です。

サービス アカウント キーを生成する手順は次のとおりです。

  1. [アカウント設定] で、[サービス アカウント] ページに移動します。
  2. [鍵を作成]、[作成] の順にクリックします。ブラウザでサービス アカウント キーをダウンロードします。

サービス アカウント キーは安全な非公開の場所に保存します。キーを一般公開しないでください。このキーは、後で RBM API にアクセスするために必要になります。

パートナーの Webhook を構成する

パートナーの Webhook を構成する方法については、Webhook ガイドをご覧ください。

配信エラーを防ぐために Webhook を非同期で処理する方法については、メッセージ処理をご覧ください。

受信メールを確認する

Webhook は任意の送信者からメッセージを受信できるため、メッセージ コンテンツを処理する前に、受信メッセージが Google から送信されたことを確認する必要があります。

受け取ったメッセージが Google から送信されたものかどうかを確認するには、次の手順を行います。

  1. メッセージの X-Goog-Signature ヘッダーを抽出します。これは、メッセージ本文のペイロードのハッシュ化された base64 エンコード コピーです。
  2. リクエストの message.body 要素で RBM ペイロードを Base64 でデコードします。
  3. Webhook のクライアント トークン(Webhook の設定時に指定したもの)をキーとして使用し、Base64 でデコードされたメッセージ ペイロードのバイトの SHA512 HMAC を作成して、結果を Base64 でエンコードします。
  4. 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);
  

次のステップ

パートナー アカウントの設定が完了したら、最初のエージェントを構築します。