是否可以使用 multipart/form-data 发送 RingCentral 短信/彩信?
Is it possible to send RingCentral SMS / MMS using multipart/form-data?
创建 SMS 消息端点的 OpenAPI 规范包括以下请求内容类型:
consumes:
- application/json
- multipart/mixed
- multipart/form-data
我在 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 都发送文件和元数据,所以我想知道短信 API 是否也支持 multipart/form-data
,如果支持,如何发送?
不,好像不是这样。
您为 SMS 消息链接的示例使用 multipart/mixed
将 API 调用本身(它又作为 application/json
发送)与作为彩信 (image/png
).
multipart/form-data
在传真 API 中的使用特定于包含特定元数据的方式,但 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 类型并确保内容已编码。这里的关键点是 message 信息编码在多部分消息的第一个 JSON 组件中,而 file 附加到彩信在第二位编码。
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'
创建 SMS 消息端点的 OpenAPI 规范包括以下请求内容类型:
consumes:
- application/json
- multipart/mixed
- multipart/form-data
我在 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 都发送文件和元数据,所以我想知道短信 API 是否也支持 multipart/form-data
,如果支持,如何发送?
不,好像不是这样。
您为 SMS 消息链接的示例使用 multipart/mixed
将 API 调用本身(它又作为 application/json
发送)与作为彩信 (image/png
).
multipart/form-data
在传真 API 中的使用特定于包含特定元数据的方式,但 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 类型并确保内容已编码。这里的关键点是 message 信息编码在多部分消息的第一个 JSON 组件中,而 file 附加到彩信在第二位编码。
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'