如何使用Circuit Bot通过Rest API消息在Circuit Conversation中发布消息

时间:2019-09-19 12:21:37

标签: circuit-sdk

我正试图通过Rest API调用通过Circuit Bot在电路对话中发布消息。请帮忙。

2 个答案:

答案 0 :(得分:0)

这可以通过两个步骤完成:

  1. 使用身份验证端点为您的漫游器获取令牌
  2. 使用消息端点(以及步骤1中的令牌)发布消息

假设您已经:

  • 机器人(客户端ID,客户端机密)
  • 对话ID(机器人必须是它的参与者)

步骤1:获取令牌

curl -X POST 
  https://<circuitBaseUrl>/oauth/token \
  -H 'Authorization: Basic <base64-encode(<clientId>:<clientSecret>)>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&scope=WRITE_CONVERSATIONS'

从响应中获取access_token

第2步:使用REST API发布

curl -X POST \
  https://<circuitBaseUrl>/rest/v2/conversations/<conversationId>/messages \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Host: beta.circuit.com' \
  -d content=hello%20from%20postman
  

欢迎来到电路开发者社区;-)

答案 1 :(得分:0)

您有两个选择:

  1. 使用传入的Webhook。这非常简单,并且不需要OAuth,因为Webhook网址包含令牌和特定的对话。具有此网址的任何人都可以发布对话。有两种选择,既可以自己发布,也可以作为机器人发布。如果要以机器人程序发布,则首先需要使用“管理应用程序>自定义应用程序”页面创建一个webhook机器人。有关更多信息,请参见这些常见问题解答页面上的https://www.circuit.com/unifyportalfaqdetail?articleId=164448和其他Webhook文章。

    这是一个curl示例,用于在传入的Webhook URL上发布消息。

    curl https://circuitsandbox.net/rest/webhooks/incoming/9999999-0b95-4088-b272-5bef80f8e68e -H "Content-Type: application/json" -d '{"text":"hello world"}'

  2. 通过“管理应用程序>自定义应用程序”创建实际的OAuth 2.0机器人,并使用常规的REST API(https://circuitsandbox.net/rest/v2/swagger/ui/index.html)。 github上有几个REST示例。有关简单的REST漫游器示例,请参见https://github.com/circuit/circuit-REST-bot