首页 > 解决方案 > Kustomer API,如何在对话中添加附件

问题描述

我正在使用 Kustomer API,我已成功创建附件,但无法在对话中添加附件。我找不到任何关于如何在对话中添加的 API 文档。

https://apidocs.kustomer.com/?version=latest

你们能帮帮我吗?谢谢。

标签: c#apikustomer

解决方案


当您使用 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}/附件

您需要在这里做两件事

  1. 在正文中传递一个 sourceId,它是原始附件的 ID
  2. 我认为在请求 URL 中包含一个查询参数,上面写着?method=post

如果您还有其他问题,请发送电子邮件至 support@kustomer.com,我们很乐意为您提供帮助。


推荐阅读