设置 webhook

网络钩子是合作伙伴创建的 HTTPS 回调,可指定代理应如何响应消息和事件。除非您使用 Dialogflow 等预构建的自动化解决方案,否则需要设置自定义网络钩子来定义代理的行为。

合作伙伴级和代理级网络钩子

您可以在合作伙伴级别或代理级别设置 webhook。 合作伙伴级别的网络钩子适用于您维护的每个代理,而代理级别的网络钩子则适用于单个代理。

如果您运行多个具有不同行为的代理,您可能希望使用代理级设置为每个代理设置不同的 webhook。另一方面,如果您的代理行为类似,或者您只有一个代理,则可以使用合作伙伴级别的网络钩子。

如果您同时配置了合作伙伴级网络钩子和代理级网络钩子,则代理级网络钩子优先级高于其特定的代理,而合作伙伴级网络钩子适用于没有代理级网络钩子的代理。

设置合作伙伴级网络钩子

如需设置合作伙伴级网络钩子,请按以下步骤操作:

  1. 打开 Business Communications 开发者控制台,然后使用您的 Business Messages Google 帐号登录。
  2. 打开帐号设置
  3. 确保选择了正确的合作伙伴帐号。
  4. 对于 Business Messages 网络钩子网址,点击配置
  5. 网络钩子端点网址部分,输入应用的网址 +“/callback/”。 例如,可能类似于“https://PROJECT_ID.appspot.com/callback/”。
  6. 记下您的 clientToken 值。您需要使用这些信息来验证收到的邮件是否来自 Google
  7. 将 webhook 配置为接受具有指定 clientToken 参数的 POST 请求,并发送 200 OK 响应,并将 Secret 参数的纯文本值作为响应正文。例如,假设您的 webhook 收到包含以下正文内容的 POST 请求:

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

    在这种情况下,webhook 应确认 clientToken 值,如果 clientToken 正确无误,则返回响应 0123456789 作为响应的 200 OK

  8. 在控制台中,点击验证。Business Messages 验证您的 webhook 后,对话框将关闭。

设置代理级 webhook

您会在合作伙伴级网络钩子中收到发送给代理的消息。如果您希望特定代理的消息到达其他 webhook,可以设置代理级 webhook。

  1. 打开 Business Communications 开发者控制台,然后使用您的 Business Messages Google 帐号登录。
  2. 点击您的代理。
  3. 点击集成
  4. 对于网络钩子,点击配置
  5. 网络钩子端点网址部分,输入 webhook 的网址,以“https://”开头。
  6. 记下您的 clientToken 值。您需要使用它来验证您收到的消息是否来自 Google
  7. 将 webhook 配置为接受具有指定 clientToken 参数的 POST 请求,并发送包含 Secret 参数的值的 200 OK 响应。例如,假设您的 webhook 收到包含以下正文内容的 POST 请求:

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

    在这种情况下,webhook 应确认 clientToken 值,如果 clientToken 正确无误,则返回 200 OK 响应,并将 Secret 网址参数设置为 0123456789

  8. 在控制台中,点击验证。Business Messages 验证您的 webhook 后,对话框将关闭。