1.上传素材接口
一次上传不能大于2M的内容
请求方法:post
接口地址:
http://sms.ccell.cn/sms/video/material
请求参数说明:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
userId | 是 | number | 短信账号 |
password | 是 | String | 短信账号密码 |
templateName | 否 | String | 模板名称 |
data | 是 | object | 视频短信数据对象 |
data对象:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
subject | 是 | String | 视频短信主题 |
content | 是 | object | 视频短信内容数据对象 |
content对象:
虽然text,fileName是选传参数,但是text和fileName必须并且只能存在一个
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
frame | 是 | String | 文件顺序,其中“-”前数字代表帧所 在位置,后面的数字代表该文 件在本 帧内的顺序,必选 |
text | 否 | String | 文本内容,当附件为文本类型时使用 该字段,包括 txt、vcf,内容 编码: UTF-8 当内容中含有可变参数时,使用$进行 包裹,例如 $person$您好 |
fileName | 否 | String | 文件名,附件为音频、视频、图片时 使用该字段, 包括: 音频: amr、mid、mp3 图像:jpg、png、gif 视频:mp4、3gp 可选 |
请求包例子:
请求示例(Get):
POST /sms/video/material HTTP/1.1
Content-Type: multipart/form-data; boundary=********************1635125737824
User-Agent: Requests 4.18.1, Java 1.8.0_144
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Pragma: no-cache
Host: 14.152.78.251:8848
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 836640
--********************1635125737824
Content-Disposition: form-data; name="data"
{"userId":203400,"password":"7nFbaFdhpFIwA4q9BhlCrwFThhLWXAYm","templateName":"测 试模板","data":{"subject":"测试","content":[{"frame":"001-01","text":"云边有个小卖 部,货架堆着岁月和夕阳,背后就是山。老人靠着躺椅假装睡着,小孩子偷走了一块糖。泪水几点钟落地,飞 鸟要去向何方。人们聚和离,云朵来又往。\n\n和煦的阳光,透过稠密的树叶洒落下来,成了点点金色的光 斑,天气晴朗,空气新鲜,生活有所期待,湖上泛着一片青烟似的薄雾,远望微山,只隐约辨出灰色的山 影。","fileName":null},{"frame":"001- 02","text":null,"fileName":"202108100950_0018_1.jpg"},{"frame":"002- 01","text":null,"fileName":"123414644d39acfd4a075a5b8eb8c445731.mp4"}]}}
--********************1635125737824
Content-Disposition: form-data; name="123414644d39acfd4a075a5b8eb8c445731.mp4";
filename="123414644d39acfd4a075a5b8eb8c445731.mp4"
Content-Type: video/mp4
123414644d39acfd4a075a5b8eb8c445731.mp4的文件数据
--********************1635125737824
Content-Disposition: form-data; name="202108100950_0018_1.jpg";
filename="202108100950_0018_1.jpg"
Content-Type: image/jpeg
202108100950_0018_1.jpg的文件数据
--********************1635125737824--
响应参数说明:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
head | 是 | object | 接口响应头信息对象 |
body | 否 | object | 接口响应内容信息对象 |
head对象:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
code | 是 | String | 错误代码,接口调用正常是为0,其他为错误代码 |
message | 是 | String | 错误信息,一般用于提示给用户看。 |
body对象:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
templateId | 是 | String | 模板号 |
响应:
{"head":{"code":"0","message":"成功","elapsedTime":0},
"body": {"templateId":1000009}}
2.查询素材审核状态接口
使用上传素材接口返回的模板号查询素材审核状态
请求:
post http://sms.ccell.cn/sms/video/materialstatus
{"userId": xxx, "password": "xxx", "templateId": [1000000,1000001,1000002,1000008]}
响应:
body内的status参数说明:
0:待审核
1:审核通过
2:审核不通过
`{"head":{"code":"0","message":"成功","elapsedTime":0},
"body": [{"templateId":1000000,"templateName":"测试模板","status":1,"msg":"审核通过"},
{"templateId":1000001,"templateName":"测试模板","status":2,"msg":"内容不合规"},
{"templateId":1000002,"templateName":"测试模板","status":0,"msg":"待审核"},
{"templateId":1000008,"templateName":"测试模板","status":0,"msg":"待审核"}]}`
3.发送视频短信接口
3.1发送短信
3.1.1接口地址
HTTPS:https://sms.ccell.cn/sms3_api/jsonapi/jsonrpc2.jsp
3.1.2参数说明
3.1.2.1请求参数
请求包体必须为标准的JSON
请求包体说明:
{ "id":id, "method":"接口类型,发送为send(必填)", "params":{ "userid":"账号(必填)", "password":"密码(必填)", "submit":[ { "content":"短信内容(必选)", "phone":"电话号码,若多个号码用”,”隔开(必选)" }, { "content":"短信内容(必选)", "phone":"电话号码,若多个号码用”,”隔开(必选)" }, ...... { "content":"短信内容(必选)", "phone":"电话号码,若多个号码用”,”隔开(必选)" } ] } }
注意:每次请求提交的号码数请控制在500个以内。多个号码的分隔符为英文半角”,”。短信内容不能超 过1000字符。
请求包体示例:
3.1.2.2不带变量发送:
不带变量发送在content中提交素材上传接口中返回的模板号即可
请求方法:post
https://sms.ccell.cn/sms3_api/jsonapi/jsonrpc2.jsp
{ "id":1, "method":"send", "params":{ "userid":"200001", "password":"abcdhjskdfjjjjjjjjjjjjjjjjjjsjk65", "submit":[ { "content":"templateId=1000009【签名】", "phone":"12345678910" } ] } }
3.1.2.3带变量发送:
带变量发送在content中提交素材上传接口中返回的模板号并且带上变量名和变量值
请求方法:post
https://sms.ccell.cn/sms3_api/jsonapi/jsonrpc2.jsp
{ "id":1, "method":"send", "params":{ "userid":"200001", "password":"abcdhjskdfjjjjjjjjjjjjjjjjjjsjk65", "submit":[ { "content":"templateId=1000009#variable1=xxx#variable2=xxx【签 名】", "phone":"12345678910" } ] } }
3.1.2.4返回值说明
返回值为标准的JSON
返回值包体说明:
{ "id":"id", "result":[ { "info":"描述", "msgid":"序列号", "phone":"手机号码", "return":"状态码" }, { "info":"描述", "msgid":"序列号", "phone":"手机号码", "return":"状态码" }, { "info":"描述", "msgid":"序列号", "phone":"手机号码", "return":"状态码" } ] }
返回值包体示例:
{ "id":1, "result":[ { "info":"成功", "msgid":"4495599595170205200", "phone":"13800000000", "return":"0" }, { "info":"成功", "msgid":"4495599595680112600", "phone":"13800000001", "return":"0" }, { "info":"成功", "msgid":"4495599598710528600", "phone":"13800300000", "return":"0" } ] }
注意:msgid为唯一序列,状态报告会原样返回。如果验证不成功会返回{"error":{"code":状态 码,"message":"描述"},"id":1}形式的返回值。
4.获取视频短信状态接口
4.2获取状态报告**
4.2.1接口地址
https://sms.ccell.cn/sms3_api/jsonapi/jsonrpc2.jsp
4.2.2参数说明
4.2.2.1请求参数
请求包体必须为标准的JSON
请求包体说明:
{ "id":"id", "method":"接口类型,状态为report(必填)", "params":{ "userid":"账号(必填)", "password":"密码(必填)" } }
请求包体示例:
{ "id":1, "method":"report", "params":{ "userid":"200001", "password":"123456" } }
4.2.2.2返回值说明
返回值为标准的JSON
返回值包体说明:
{ "id":"id", "result":[ { "info":"描述", "linkid":"原样返回的自定义序列码,没有使用为空", "msgid":"序列号", "phone":"手机号码", "recvtime":"时间", "status":"状态码" }, { "info":"描述", "linkid":"原样返回的自定义序列码,没有使用为空", "msgid":"序列号", "phone":"手机号码", "recvtime":"时间", "status":"状态码" }, { "info":"描述", "linkid":"原样返回的自定义序列码,没有使用为空", "msgid":"序列号", "phone":"手机号码", "recvtime":"时间", "status":"状态码" } ] }
返回值包体示例:
{ "id":1, "result":[ { "info":"成功", "linkid":"100001111110", "msgid":"4495599595170205200", "phone":"13800000000", "recvtime":"2015-10-10 10:54:15.0", "status":"0" }, { "info":"ERRORRD", "linkid":"100001111111", "msgid":"4495599595680112600", "phone":"13800000001", "recvtime":"2015-10-10 10:54:15.0", "status":"-1" }, { "info":"成功", "linkid":"100001111112", "msgid":"4495599598710528600", "phone":"13800300000", "recvtime":"2015-10-10 10:54:15.0", "status":"0" } ] }
注意:每次连接最多返回300条状态。如果没有状态会返回空的{"id":1,"result":[]}。如果验证不成功会返 回{"error":{"code":状态码,"message":"描述"},"id":1}形式的返回值。
5.获取视频短信上行接口
5.3获取上行
5.3.1接口地址
https://sms.ccell.cn/sms3_api/jsonapi/jsonrpc2.jsp
5.3.2参数说明
5.3.2.1请求参数
请求包体必须为标准的JSON
请求包体说明:
{ "id":"id:", "method":"接口类型,上行为upmsg (必填)", "params":{ "userid":"账号(必填)", "password":"密码(必填)" } }
请求包体示例:
{ "id":1, "method":"upmsg", "params":{ "userid":"200001", "password":"123456" } }
5.3.2.2返回值说明
返回值为标准的JSON
返回值包体说明:
{ "id":"id", "result":[ { "msgcontent":"上行内容", "phone":"手机号码", "spnumber":"端口号", "motime":"时间" }, { "msgcontent":"上行内容", "phone":"手机号码", "spnumber":"端口号", "motime":"时间" }, { "msgcontent":"上行内容", "phone":"手机号码", "spnumber":"端口号", "motime":"时间" }] }
返回值包体示例:
{ "id":1, "result":[ { "msgcontent":"知道了", "phone":"13800000000", "spnumber":"0001", "motime":"2015-10-10 17:48:46" }, { "msgcontent":"ok", "phone":"13800000001", "spnumber":"0001", "motime":"2015-10-10 18:15:19" }, { "msgcontent":"收到", "phone":"13800300000", "spnumber":"0001", "motime":"2015-10-10 18:15:29" } ] }
注意:每次连接最多返回100条上行。如果没有上行会返回空的{"id":1,"result":[]}。如果验证不成功会返 回{"error":{"code":状态码,"message":"描述"},"id":1}形式的返回值。
6.状态码说明
状态码 | 说明 |
0 | 成功 |
1001001 | 参数不完整 |
1001002 | 余额不足 |
1001003 | 账号已冻结 |
1001004 | 密码不正确 |
1001005 | 访问IP受限 |
1001006 | 并发数超限 |
1001007 | 短信附加语不符 |
1004001 | 手机号不可识别 |
1004002 | 未配置有效发送规则 |
1004003 | 短信内容必须有签名 |
1004004 | 短信内容必须指定签名 |
1004005 | 短信内容指定签名 |
1004006 | 无可用通道 |
1004007 | 模板不匹配 |
1004008 | 不能发黑名单号码 |
1004009 | 非白名单号码 |
1004010 | 不能发黑词内容 |
1004011 | 内容中不包括白词 |
1004012 | 定时发送时间参数不正确 |
1004013 | 定时发送时间不能大于50天 |
1004014 | 定时发送时间不能小于当前时间 |
1004015 | 短信签名限20字符 |
1001999 | 接口系统错 |