設定合作夥伴帳戶

註冊成為 RBM 合作夥伴後,您就會擁有合作夥伴帳戶。如要存取合作夥伴帳戶設定,請開啟 Business Communications 開發人員控制台,然後按一下「合作夥伴帳戶設定」。接著您可以執行下列操作:

更新合作夥伴帳戶資訊

您可以在「設定」頁面中查看合作夥伴 ID,並更新下列資訊:

欄位 說明
合作夥伴名稱 合作夥伴帳戶名稱
顯示名稱 名稱會顯示在運營商收到的 RBM 帳單報表中 (以 owner_name 欄位顯示)。電信業者會使用這項資訊,確認您是值得信賴的合作夥伴,並確保他們能產生正確的帳單資訊,讓您使用 RBM 觸及他們的訂閱者。您在這裡提供的姓名,應與電信業者訊息合約中使用的姓名一致。
技術支援聯絡人

當服務專員發生技術問題時,Google 會聯絡這個人。您可以更新

  • 名稱
  • 公司電子郵件地址
  • 電話號碼
Webhook 這是 webhook 端點網址。按一下「設定」更新。 設定合作夥伴 Webhook 後,這項設定會套用至所有代理程式。如果您想為個別代理程式使用不同的 Webhook,可以設定代理程式 Webhook,只套用至該代理程式。

管理品牌

做為 RBM 合作夥伴,您可以代表品牌建立服務專員。

請使用「帳戶設定」中的「品牌」頁面,新增、編輯及移除與合作夥伴帳戶相關聯的品牌。

新增品牌

如要新增品牌,請在輸入欄位中輸入品牌名稱,然後按一下「新增」

編輯品牌

如要編輯品牌,請按照下列步驟操作:

  1. 按一下品牌名稱旁的核取方塊。
  2. 按一下 按鈕,然後點選「編輯名稱」
  3. 完成修改後,按一下「完成」

移除品牌

如果品牌與服務專員相關聯,即使服務專員未啟用,也無法移除。

如要移除品牌,請按一下品牌名稱旁的核取方塊,然後點選「刪除」

管理使用者

您可以在帳戶設定中的「使用者」頁面中,管理合作夥伴帳戶的使用者。建立合作夥伴帳戶的使用者擁有「擁有者」角色。新使用者可以擁有「管理員」或「讀者」角色。

  • 管理員可以存取開發人員控制台的所有功能,管理合作夥伴帳戶的所有代理人。
  • 讀者:具備開發人員控制台的唯讀存取權,可查看屬於合作夥伴帳戶的任何及所有代理人。

新增使用者

如要新增使用者,請在輸入欄位中輸入對方的電子郵件地址,然後選取對方的「角色」

新增使用者後,對方會收到電子郵件,通知他們有權存取合作夥伴帳戶。

移除使用者

如何移除使用者:

  1. 找出要移除的使用者,然後按一下表格列中的 按鈕。
  2. 選取「移除使用者」
  3. 確認移除。

您移除的使用者會收到電子郵件通知,告知他們已無法存取合作夥伴帳戶。

您無法移除擁有者角色的使用者。如要變更或移除擁有者,請與支援團隊聯絡。

變更使用者角色

如要更新使用者角色,請按照下列步驟操作:

  1. 找出要更新的使用者,然後按一下表格資料列中的 按鈕。
  2. 選取「編輯角色」
  3. 從下拉式選單中選擇新角色。
  4. 按一下 [儲存]

設定服務帳戶來驗證 API 呼叫

呼叫 RBM API 時,您會使用服務帳戶金鑰驗證呼叫。這個金鑰可讓您建立及管理品牌和服務專員,並以服務專員身分傳送訊息和要求。服務帳戶最多可有 10 個金鑰。

如要安全地驗證 API 呼叫,您還需要 oauth2l 指令列工具。

請按照下列步驟產生服務帳戶金鑰:

  1. 在「帳戶設定」中,前往「服務帳戶」頁面。
  2. 依序點選「建立金鑰」和「建立」。瀏覽器會下載服務帳戶金鑰。

請將服務帳戶金鑰儲存在安全的私人位置,請勿公開分享您的金鑰。您稍後需要這個金鑰才能存取 RBM API。

設定合作夥伴 Webhook

Webhook 是合作夥伴建立的 HTTPS 回呼,可指定服務專員應如何回應訊息和事件。設定 webhook 後,您就可以開始接收訊息事件

如果您想為任何服務專員使用不同的 Webhook,可以設定服務專員層級的 Webhook,以便覆寫合作夥伴 Webhook。詳情請參閱「設定代理程式 Webhook」。

如要設定合作夥伴 Webhook,請按照下列步驟操作:

  1. 開啟 Business Communications 開發人員控制台,然後使用 RBM 合作夥伴的 Google 帳戶登入。

  2. 開啟「帳戶設定」

  3. 在「RCS Business Messaging Webhook 網址」部分,點選「設定」

  4. 在「Webhook 端點網址」中,輸入開頭為「https://」的 Webhook 網址。

  5. 請記下 clientToken 值。您需要這項資訊,才能驗證您收到的訊息是否來自 Google

  6. 設定 Webhook 以便接受含有指定 clientToken 參數的 POST 要求,並傳送 200 OK 回應,其中 secret 參數的純文字值做為回應主體。

    舉例來說,如果 webhook 收到以下內容的 POST 要求

    {
      "clientToken":"SJENCPGJESMGUFPY",
      "secret":"1234567890"
    }
    

    接著,Webhook 應確認 clientToken 值,如果 clientToken 正確,則傳回 200 OK 回應,並以 1234567890 做為回應主體:

    // 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);
    });
    
  7. 在開發人員控制台中,按一下「驗證」。RBM 驗證 webhook 後,對話方塊就會關閉。

如要處理 webhook 傳送失敗問題,並確保可靠的訊息處理作業,請參閱「訊息處理」一文。

驗證收到的訊息

由於 webhook 可接收來自任何寄件者的訊息,因此您應先確認 Google 傳送的訊息,再處理訊息內容。

如要確認你收到的訊息是由 Google 傳送,請按照下列步驟操作:

  1. 擷取訊息的 X-Goog-Signature 標頭。這是訊息主體酬載的雜湊 Base64 編碼副本。
  2. 將要求 message.body 元素中的 RBM 酬載解碼為 Base-64。
  3. 使用 webhook 的用戶端權杖 (您在設定 webhook 時指定的) 做為金鑰,建立 base-64 解碼訊息酬載位元組的 SHA512 HMAC,然後將結果以 base-64 編碼。
  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
    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);
  

後續步驟

合作夥伴帳戶設定完成後,您就可以建立第一個代理程式