設定合作夥伴帳戶

當您註冊成為 RBM 合作夥伴後,就會擁有合作夥伴帳戶。如要存取合作夥伴帳戶設定,請開啟 Business Communications Developer Console,然後按一下「合作夥伴帳戶設定」。您可以在這裡執行下列操作:

更新合作夥伴帳戶資訊

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

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

當服務專員發生任何技術問題時,Google 會聯絡該專員。如有需要,您可以更新

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

管理品牌

如果你是 RBM 合作夥伴,可以代表品牌建立服務專員。

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

新增品牌

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

編輯品牌

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

  1. 勾選品牌名稱旁的核取方塊。
  2. 依序點選 按鈕和「Edit name」
  3. 視需要進行修改,然後按一下「完成」

移除品牌

無法移除已與代理程式建立關聯的品牌,即使代理程式未啟動也一樣。

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

管理使用者

帳戶設定中的「使用者」頁面可讓您管理合作夥伴帳戶的使用者。建立合作夥伴帳戶的使用者俱備「擁有者」角色。新使用者的身分為「管理員」或「讀取者」。

  • 管理員可存取 Play 管理中心的所有功能,可管理屬於合作夥伴帳戶的任何或所有代理程式。
  • 讀取者擁有 Play 管理中心的唯讀存取權,可以查看屬於合作夥伴帳戶的任何及所有代理程式。

新增使用者

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

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

移除使用者

如何移除使用者:

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

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

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

變更使用者角色

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

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

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

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

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

  1. 「Account settings」(帳戶設定) 中,前往「Service account」(服務帳戶) 頁面。
  2. 按一下「Create key」(建立金鑰),然後點選「Create」(建立)。您的瀏覽器會下載服務帳戶金鑰。

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

設定合作夥伴 Webhook

Webhook 是合作夥伴建立的 HTTPS 回呼,用於指定代理程式應如何回應訊息和事件。設定 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 正確,傳回包含 1234567890200 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);
    });
    
  7. 在 Developer Console 中,按一下「驗證」。RBM 驗證 Webhook 時,對話方塊會關閉。

驗證收到的訊息

由於 Webhook 可以接收來自任何寄件者的訊息,因此在處理訊息內容之前,您應確認 Google 已傳送傳入的訊息。

如要驗證 Google 是否傳送了您收到的訊息,請按照下列步驟操作:

  1. 擷取郵件的 X-Goog-Signature 標頭。這是訊息內文酬載的雜湊碼,採用 Base64 編碼。
  2. 在要求的 message.body 元素中透過 Base-64 解碼 RBM 酬載。
  3. 使用 Webhook 的用戶端憑證 (您在設定 Webhook 時所指定的) 做為金鑰,建立含 Base-64 解碼訊息酬載的 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
    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);
  

後續步驟

現在合作夥伴帳戶已設定完成,現在可以建構您的第一個代理程式了。