我想在freshdesk api中创建一个带有附件的工单。我可以在没有附件的情况下创建票据。这是我的示例代码:
post_dict = {
'helpdesk_ticket': {
'description': "Testing Code sample 3",
'subject': "example7",
'email': "example7@example.com",
'priority': 2,
'status': 2,
},
}
headers = {'Content-Type': 'application/json'}
r = requests.post(FRESHDESK_URL + '/helpdesk/tickets.json',
auth=(FRESHDESK_API_KEY, "X"),
headers=headers,
data=json.dumps(post_dict),
)
raw_input(r.status_code)
raw_input(r.content)
这是用于在Freshdesk中创建票证的。现在使用相同的post_dict,我想创建带有附件的票证。欢迎任何关于如何使用这个json请求方法或任何其他方法来实现这一点的建议。
发布于 2015-05-05 18:34:49
创建带有附件的工单需要提交多个部分的表单。不幸的是,这意味着请求与没有附件的简单请求非常不同。
每个字段都需要作为一个单独的表单写入到请求中,前面有一个“边界”,后面有一个字符返回。
然后,应该将每个附件写入请求,在写入附件之前再次使用边界,并在之后添加字符return。
在响应的末尾,必须写入最终边界。这与用于边界的字符串相同,但还包括边界前后的2个破折号( -- ),以表示其为最终。如果没有最终边界,FreshDesk会给出一个500内部服务器错误,因为几周前他们的应用程序接口发生了一些变化(它过去常常在最后接受一个非最终边界)。
发布于 2017-07-15 09:49:00
对于发送附件,Content-Type必须为multipart/form-data
.The sample cURL是可以帮助您的。
curl -v -u yourmail@gmail.com:yourpassword -F
"attachments[]=@/path/to/attachment1.ext" -F
"attachments[]=@/path/to/attachment2.ext" -F "email=example@example.com" -F
"subject=Ticket Title" -F "description=this is a sample ticket" -X POST
'https://yoururl.freshdesk.com/api/v2/tickets'
https://stackoverflow.com/questions/28083166
复制相似问题