注册成为 RBM 合作伙伴后,您就拥有了合作伙伴账号。如何访问 您的合作伙伴账号设置,请打开 Business Communications 开发者控制台 然后点击合作伙伴账号设置。您可以在此处执行以下操作:
更新合作伙伴账号信息
在设置页面,您可以查看您的合作伙伴 ID 并更新 以下信息:
字段 | 说明 |
---|---|
合作伙伴名称 | 您的合作伙伴账号名称 |
显示名称 | 名称将显示在
运营商收到的 RBM 结算报告(作为 owner_name )
字段)。运营商将使用此号码确定您是可信的合作伙伴,以及
确保他们为您使用 RBM 生成正确的账单结算信息
来覆盖他们的订阅者您在此处提供的名称应与
运营商通信合同中使用的名称。 |
技术联系人 | 如果 Google 遇到任何技术问题, 您的代理。您可
|
网络钩子 | 这是您的 webhook 端点网址。点击配置进行更新。 当您 配置您的合作伙伴 webhook,它适用于您的所有代理。如果您想使用 一个 Webhook,则可以配置一个代理, webhook。 |
管理品牌
作为 RBM 合作伙伴,您可以代表品牌创建代理。
使用账号设置中的品牌页面 来添加、修改和移除 使用合作伙伴账号
添加品牌
如需添加品牌,请在输入字段中输入其名称,然后点击添加。
修改品牌
如需修改品牌,请执行以下操作:
- 点击品牌名称旁边的复选框。
- 点击 按钮,然后点击 修改姓名。
- 完成相应的修改后,点击完成。
移除品牌
如果品牌与代理相关联,则无法移除,即使该代理也是如此 未启动。
若要移除品牌,请点击品牌名称旁边的复选框,然后点击 删除。
管理用户
账号设置中的用户页面 是您管理合作伙伴账号用户的地方。创建 合作伙伴账号的“所有者”角色。新用户可拥有管理员角色或 Reader。
- 管理员可以使用开发者控制台的所有功能, 管理属于该合作伙伴账号的所有代理。
- 读者拥有对 Developer Console 的只读权限,可以查看任意和 所有属于该合作伙伴账号的代理。
添加用户
要添加用户,请在输入字段中输入其电子邮件地址,然后选择 角色。
您添加新用户后,该用户会收到一封电子邮件,通知他们 对该合作伙伴账号的访问权限。
移除用户
如需移除用户,请执行以下操作:
- 找到您想要移除的用户,然后点击 按钮。
- 选择移除用户。
- 确认移除。
您移除的用户会收到一封电子邮件,通知他们不再拥有 对该合作伙伴账号的访问权限。
您无法移除具有所有者角色的用户。要更改或移除所有者,您需要 您需要与支持团队联系。
更改用户的角色
如需更新用户的角色,请执行以下操作:
- 找到要更新的用户,然后点击 按钮。
- 选择修改角色。
- 从下拉列表中选择一个新角色。
- 点击保存。
设置服务账号以对 API 调用进行身份验证
调用 RBM API 时, 您使用服务账号密钥对调用进行身份验证。借助此密钥,您可以创建 以及管理品牌和代理,以及以代理的身份发送消息和请求。
如需生成服务账号密钥,请按以下步骤操作:
- 在账号设置中, 转到服务账号页面。
- 点击创建密钥,然后点击创建。您的浏览器会下载 服务账号密钥。
将您的服务账号密钥存储在安全、私密的位置。不分享您的 密钥。您稍后需要使用此密钥访问 RBM API。
配置合作伙伴网络钩子
网络钩子是合作伙伴创建的 HTTPS 回调,用于指定您的代理 响应消息和事件。配置 webhook 后,您可以 开始接收消息 和事件。
如需配置合作伙伴网络钩子,请按以下步骤操作:
打开 Business Communications 开发者控制台 并使用您的 RBM 合作伙伴 Google 账号登录。
打开账号设置。
在 RCS Business Messaging webhook 网址 部分,点击配置。
在网络钩子端点网址部分,输入以 “https://”。
记下您的
clientToken
值。您需要具备 验证您收到的消息是否来自 Google。配置 webhook,以接受带有指定
POST
clientToken
参数,并发送包含纯文本值的200 OK
响应secret
参数作为响应正文。例如,如果您的 webhook 收到具有以下正文内容的
POST
请求{ "clientToken":"SJENCPGJESMGUFPY", "secret":"1234567890" }
那么您的网络钩子应确认
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); });
在 Developer Console 中,点击验证。当 RBM 验证您的网络钩子时, 该对话框就会关闭。
验证收到的邮件
由于网络钩子可以接收来自任何发件人的消息,因此您应验证 Google 先发送收到的消息,然后处理消息内容。
要验证 Google 是否向您发送了邮件,请按以下步骤操作:
- 提取邮件的
X-Goog-Signature
标头。这是一个经过哈希处理、 消息正文载荷的 base64 编码副本。 - 对请求的
message.body
元素中的 RBM 载荷进行 Base-64 解码。 - 使用网络钩子的客户端令牌(您在设置自己的 webhook)作为密钥,创建以 base-64 编码的字节的 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 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);
后续步骤
您的合作伙伴账号已设置完毕,现在您可以 构建您的第一个代理。