註冊成為 RCS for Business 合作夥伴後,您會獲得合作夥伴帳戶。如要存取合作夥伴帳戶設定,請開啟 RCS for Business 開發人員控制台,然後按一下「合作夥伴帳戶設定」。接著進行下列操作:
更新合作夥伴帳戶資訊
您可以在「設定」頁面中查看合作夥伴 ID,並更新下列資訊:
| 欄位 | 說明 |
|---|---|
| 合作夥伴名稱 | 合作夥伴帳戶名稱 |
| 顯示名稱 | 名稱會顯示在電信業者收到的
帳單報表中 (做為owner_name欄位)。電信業者會使用這項資訊,將你識別為值得信賴的合作夥伴,並產生正確的帳單資訊,供你使用 RCS 企業訊息服務與訂閱者聯絡。您在此提供的名稱應與電信業者訊息合約中使用的名稱一致。 |
| 技術支援聯絡窗口 | 當服務專員發生技術問題時,Google 會聯絡這個人。你可以更新他們的
|
| Webhook | 這是你的 Webhook 端點網址。按一下「設定」即可更新。 設定合作夥伴 Webhook 後,所有代理程式都會套用這項設定。如要為個別代理程式使用不同的 Webhook,可以設定代理程式 Webhook,該 Webhook 只會套用至該代理程式。 |
管理品牌
身為 RCS 企業即時通訊合作夥伴,您可以代表品牌建立服務專員。
在「帳戶設定」的「品牌」頁面中,新增、編輯及移除與合作夥伴帳戶相關聯的品牌。
新增品牌
如要新增品牌,請在輸入欄位中輸入品牌名稱,然後按一下「新增」。
編輯品牌
說明文件。如要編輯品牌,請按照下列步驟操作:
- 按一下品牌名稱旁的核取方塊。
- 按一下 按鈕,然後點選「編輯名稱」。
- 進行所需編輯,然後按一下「完成」。
移除品牌
如果品牌與服務專員相關聯,即使服務專員尚未發布,也無法移除品牌。
如要移除品牌,請按一下品牌名稱旁的核取方塊,然後按一下「刪除」。
管理使用者
您可以在「帳戶設定」的「使用者」頁面中管理合作夥伴帳戶的使用者。建立合作夥伴帳戶的使用者會具備「擁有者」角色。新使用者可以擔任管理員或讀者角色。
- 管理員可以存取開發人員控制台的所有功能,管理合作夥伴帳戶中的所有代理程式。
- 讀者具備開發人員控制台的唯讀存取權,可查看合作夥伴帳戶的所有代理程式。
新增使用者
如要新增使用者,請在輸入欄位中輸入電子郵件地址,然後選取「角色」。
新增使用者後,對方會收到電子郵件,得知自己有權存取合作夥伴帳戶。
移除使用者
如何移除使用者:
- 找出要移除的使用者,然後按一下該使用者表格列中的 按鈕。
- 選取「移除使用者」。
- 確認移除。
遭移除的使用者會收到電子郵件,通知他們已無法存取合作夥伴帳戶。
您無法移除擁有者角色的使用者。如要變更或移除擁有者,請與支援團隊聯絡。
變更使用者角色
如何更新使用者角色:
- 找出要更新的使用者,然後按一下該使用者表格列中的「」按鈕。
- 選取「編輯角色」。
- 從下拉式選單中選擇新角色。
- 按一下 [儲存]。
設定服務帳戶來驗證 API 呼叫
呼叫 RBM API 時,您會使用服務帳戶金鑰驗證呼叫。這個金鑰可讓您建立及管理品牌和服務專員,並以服務專員身分傳送訊息和要求。每個服務帳戶最多可有 10 個金鑰。
如要安全地驗證 API 呼叫,您也需要 oauth2l 指令列工具。
請按照下列步驟產生服務帳戶金鑰:
將服務帳戶金鑰儲存在安全無虞的私人位置。請勿公開分享金鑰。稍後您需要這個金鑰才能存取 RBM API。
設定合作夥伴 Webhook
如要瞭解如何設定合作夥伴 Webhook,請參閱「Webhook」指南。
如需非同步處理 Webhook 的指引,避免傳送失敗,請參閱「訊息處理」。
驗證收到的郵件
由於 Webhook 可以接收任何寄件者的訊息,因此您應先確認內送訊息是由 Google 傳送,再處理訊息內容。
如要確認您收到的訊息是否由 Google 傳送,請按照下列步驟操作:
- 擷取郵件的
X-Goog-Signature標頭。這是訊息主體承載的雜湊副本,並採用 Base64 編碼。 - 在要求的
message.body元素中,以 Base64 解碼 RBM 酬載。 - 使用網路掛鉤的用戶端權杖 (設定網路掛鉤時指定),以 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);
後續步驟
合作夥伴帳戶設定完成後,即可建構第一個代理程式。