将文件(图片)附加到对话

时间:2018-07-20 11:47:42

标签: circuit-sdk

我希望能够使用REST API将文件附加到对话中。可能吗? / conversations / {convId} / messages / {itemId}有一个“附件”,但是可以使用吗?怎么样?该字段的描述不可用。

1 个答案:

答案 0 :(得分:0)

Circuit的文件API支持附件的上传。收到访问令牌后,您就可以发布带有字节数据的消息。以下示例将上传一个名为test.jpg的文件

POST /rest/v2/fileapi HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Content-Length: 100
Content-Disposition: attachment; filename="test.jpg"
Cache-Control: no-cache

<your content in binary form here>

通常,我使用Postman进行测试,因为它非常易于使用并且支持OAuth 2.0令牌生成(https://www.getpostman.com/

您将收到一个类似

的结果
{"fileId":"fb211fd6-df53-4b82-824d-986dac47b3e7","attachmentId":"ZmIyMT..."}

如果要验证您的上传,可以通过

进行检查
GET /rest/v2/fileapi?fileid=fb211fd6-df53-4b82-824d-986dac47b3e7 HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Cache-Control: no-cache

好吧,这很容易,既然您已将文件上传到后端,则必须将其附加到对话项中。今天,我们不支持UPDATE,即您需要创建一个新的。

POST /rest/v2/conversations/<conv ID>/messages HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

content=New+Text+Message&attachments=ZmIyMT...

您必须传递生成的附件ID。执行此请求后,文件将附加到对话。

如果您跳过第二步,则该文件将不会链接到任何对话,只有发起上传的用户才能访问该文件,并且该文件将在接下来的24-48小时内自动删除。

希望这会有所帮助,如果您还有其他问题,请告诉我。