Create消息端点的OpenAPI规范包括以下请求内容类型:
consumes:
- application/json
- multipart/mixed
- multipart/form-data我发现SMS / MMS指令在API引用中包含了一个multipart/mixed示例,但没有看到任何关于使用multipart/form-data的信息。我对发送文件特别感兴趣。
https://developers.ringcentral.com/api-reference/SMS/createSMSMessage
相同的API引用显示了对发送传真的multipart/form-data和multipart/mixed的支持。
https://developers.ringcentral.com/api-reference/Fax/createFaxMessage
因为这两个API都发送文件和元数据,所以我想知道SMS是否也支持multipart/form-data,如果支持,如何发送?
发布于 2019-08-25 02:21:53
可以发送multipart/form-data,如下面的示例所示:
POST / HTTP/1.1
HOST: platform.ringcentral.com/restapi/v1.0/account/~/extension/~/sms
Authorization: Bearer <MyToken>
Content-Type: multipart/form-data; boundary=12345
--12345
Content-Disposition: form-data; name="to"
+16505550101
--12345
Content-Disposition: form-data; name="to"
+16505550102
--12345
Content-Disposition: form-data; name="from"
+16505550100
--12345
Content-Disposition: form-data; name="text"
Hello World
--12345
Content-Disposition: form-data; name="attachment" filename="picture.jpg"
content of picture.jpg ...
--12345--这可以使用curl完成,如下所示:
curl -XPOST https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/sms \
-H 'Authorization: Bearer <MyToken>' \
-F 'to=+16505550101' \
-F 'to=+16505550102' \
-F 'from=+16505550100' \
-F 'text=Hello World' \
-F 'attachment=@picture.jpg'发布于 2019-08-23 16:47:11
不,它看起来不是这样的。
您为SMS消息链接的示例使用multipart/mixed将API调用本身(依次作为application/json发送)与作为MMS (image/png)发送的有效负载分开。
在传真API中使用multipart/form-data特定于包含特定元数据的方式,但是SMS/MMS没有一个等效的系统,因为它们都需要作为单个JSON文档或作为multipart/mixed消息的JSON元素编码的特定元信息。
不过,要发送文件,multipart/mixed是可以的。然后,您的请求将是这样的:
POST /restapi/v1.0/account/403391985008/extension/403391985008/sms
Content-Type: multipart/mixed; boundary=Boundary_1_14413901_1361871080888
--Boundary_1_14413901_1361871080888
Content-Type: application/json; charset=UTF-8
Content-Transfer-Encoding: 8bit
{"to" :[{"phoneNumber": "+18772004569"},{"phoneNumber": "+18772094569"}],
"text" :"hello",
"from" :{"phoneNumber": "+18882004237"}}
--Boundary_1_14413901_1361871080888
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="filename.zip"
[Some encoded binary stream here ...]
--Boundary_1_14413901_1361871080888--应该由您正确设置文件的mime类型并确保编码。这里的要点是,消息信息被编码在多部分消息中的第一个JSON组件中,而附加到MMS的文件则在第二个部分中编码。
https://stackoverflow.com/questions/57366977
复制相似问题