c# - Kustomer API,如何在对话中添加附件
问题描述
我正在使用 Kustomer API,我已成功创建附件,但无法在对话中添加附件。我找不到任何关于如何在对话中添加的 API 文档。
https://apidocs.kustomer.com/?version=latest
你们能帮帮我吗?谢谢。
解决方案
当您使用 Kustomer API 创建消息时,您将在消息对象的附件数组中包含您创建的附件的附件 ID。
您需要向要添加此附件的邮件发送补丁请求。附件被添加到消息中,而不是对话中。
您创建的附件如下所示:
"data": {
"id": "5ec42bbad47d84001a0dd107",
"type": "attachment",
"attributes": {
"name": "testing.png",
"contentType": "image/png",
"contentLength": 1282,
"redacted": false,
"uploaded": false,
"createdAt": "2020-05-19T18:55:54.390Z",
"updatedAt": "2020-05-19T18:55:54.390Z",
"context": "attachment"
},
"relationships": {
"org": {
"data": {
"id": "5e664db1c9639a0019c67fd0",
"type": "org"
},
"links": {
"self": "/v1/orgs/5e664db1c9639a0019c67fd0"
}
}
},
"links": {
"self": "/v1/attachments/5ec42bbad47d84001a0dd107"
}
},
"meta": {
"provider": "s3",
"upload": {
"url": "https://s3.amazonaws.com/kustomer-prod1-attachments",
"fields": {
"key": "attachments/5e664db1c9639a0019c67fd0/5ec42bbad47d84001a0dd107-testing.png",
"acl": "private",
"Content-Type": "image/png",
"X-Amz-Meta-Attachment-Id": "5ec42bbad47d84001a0dd107",
"bucket": "kustomer-prod1-attachments",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Credential": "AKIAIIKHW25JWTRL7R7Q/20200519/us-east-1/s3/aws4_request",
"X-Amz-Date": "20200519T185554Z",
"Policy": "eyJleHBpcmF0aW9uIjoiMjAyMC0wNS0xOVQxOToyNTo1NFoiLCJjb25kaXRpb25zIjpbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMTI4MiwxMjgyXSx7ImtleSI6ImF0dGFjaG1lbnRzLzVlNjY0ZGIxYzk2MzlhMDAxOWM2N2ZkMC81ZWM0MmJiYWQ0N2Q4NDAwMWEwZGQxMDctdGVzdGluZy5wbmcifSx7ImFjbCI6InByaXZhdGUifSx7IkNvbnRlbnQtVHlwZSI6ImltYWdlL3BuZyJ9LHsiWC1BbXotTWV0YS1BdHRhY2htZW50LUlkIjoiNWVjNDJiYmFkNDdkODQwMDFhMGRkMTA3In0seyJidWNrZXQiOiJrdXN0b21lci1wcm9kMS1hdHRhY2htZW50cyJ9LHsiWC1BbXotQWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6IkFLSUFJSUtIVzI1SldUUkw3UjdRLzIwMjAwNTE5L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IlgtQW16LURhdGUiOiIyMDIwMDUxOVQxODU1NTRaIn1dfQ==",
"X-Amz-Signature": "f00ce41d04f3c962f68ac6f4f096b8054cb81183ab9dbc0e5dd795d12e0239dc"
}
}
}
您需要向在您创建的附件的响应表单中找到的 meta.upload.url 发送另一个 POST 请求。根据 API 文档,这将需要在此 POST 请求中包含所有 meta.upload.fileds 信息。一旦你这样做了,附件就会被上传。要将其添加到消息中,您需要向消息 API 端点发送 PATCH 请求。
https://api.kustomerapp.com/v1/messages/:id
https://apidocs.kustomer.com/?version=latest#959920e4-17ff-458d-af90-5458297f2148
您可以在消息对象的附件对象中添加附件 ID。
"attachments": {
"links": {
"self": "/v1/messages/5ec15c3fb2f51f0019ebee09/attachments"
},
"data": [
{
"type": "attachment",
"id": "5ec15c71d120a7001ad1c14b"
}
]
}
我想在这里进行更新:对消息的 Patch 请求的有效负载如下所示:
{
"attachments":[
{
"_id": "5ec15c71d120a7001ad1c14b",
"name": "Yass.png",
"contentType": "image/png",
"contentLength": 11288
}
]
}
这将用于向现有消息添加附件。如果您想为尚未发送的邮件添加附件,您必须创建草稿邮件并发送 POST 请求以将附件添加到该草稿。/v1/drafts/{id}/附件
您需要在这里做两件事
- 在正文中传递一个 sourceId,它是原始附件的 ID
- 我认为在请求 URL 中包含一个查询参数,上面写着
?method=post
如果您还有其他问题,请发送电子邮件至 support@kustomer.com,我们很乐意为您提供帮助。
推荐阅读
- bash - 如何使用 bash 将包含“姓氏,名字”的 csv 列分成两个不同的 csv 列?
- java - 开始活动(意图);似乎总是使应用程序崩溃
- javascript - 在 react-table 中,我结合了基本的排序和调整大小的示例,但想在调整列大小时抑制排序
- string - Mule 3.8.4 中的 for 循环 数据编织 1.0
- asp.net - 如何在 IIS 上提供已编译的 Web 服务?
- ruby-on-rails - 如何获取`reject_if`的对象?
- node.js - 在节点js中查找包含文件的父文件夹
- c# - 将行号列添加到 IList
- swift - 在 Swift 中为作为 UIView 扩展的类设置动画
- python - python LightGBM重现性问题