案卷号日期云MAS平台SDK1.0.0(HTTP版)用户手册作者:中国移动通信有限公司政企客户分公司完成日期:2015-12-7签收人:签收日期:修改情况记录:版本号修改内容修改日期修改人1.0.0草稿2015-12-7汪植成1.0.1签名错误或普通短信不允许使用模板短信的签名编码2016-04-20汪植成1云MAS平台HTTP开发说明1.1简介云MAS平台SDKHTTP版接口说明文档1.2背景系统名称:云MAS平台项目开发者:中国移动通信集团政企客户分公司1.3定义MTMessageTerminal——下行短信,即向手机终端发送短信MOMessageOriginal——上行短信,即手机用户向特服号码发送短信1.4环境服务器具有直连访问互联网的能力。并且提供HTTPServer接收比较报告,状态报告,上行短信。1.5云MAS平台与HTTP客户端数据交互流程HTTP客户端云MAS服务端云MAS消息队列云MAS审核服务云MAS发送服务行业网关1.HTTP客户端提交短信至云MAS2.服务端提交消息至消息队列2.服务端提交消息至审核服务3.审核不通过4.返回审核结果数据结构见2.13.审核通过,消息队列提交客户封包至发送服务4.提交短信至行业网关5.返回短信回复6.返回短信回复8.返回短信回执9.返回短信回执7.返回短信回复数据结构见2.210.返回短信回执数据结构见2.34.通知删除待发内容4.返回审核状态HTTP服务端2:返回状态码和后台生成的UUID,SDK收到的返回值说明:“1.返回提交状态”,说明云MAS是否收到HTTP提交的数据;数据还未提交行业网关;“4.返回审核结果”,说明云MAS已经对提交内容进行了审核;数据还未提交行业网关;“7.返回短信回复”,短信已经提交网关;“10.返回短信回执”,短信已被网关下发;*因平台有流控设置,需要进行多条短信连续提交时,为保证提交速度和效率,请按照“1.返回提交状态”返回值判断是否提交下一条;2数据结构说明2.1MT提交报告数据结构类型(TYPE):JSON用途用于内部,跟踪短信状态,不能用于判断短信是否正确送达,短信是否送达以移动公司提供的账单为准。字段名数据类型说明typestring消息类型:1表示为提交报告,2表示为状态报告,3表示为用户上行短信,见附录4.1(8)report_statusstring状态报告的值,见附录4.1mobilesstring手机号码,多个手机号码英文半角逗号分隔submit_datestring发送时间(格式为yyyy-mm-ddhi24:mi:ss)receive_datestring接收时间(格式为yyyy-mm-ddhi24:mi:ss)error_codestring未发送成功错误编码,见附录4.1msg_groupstring消息批次号,由云MAS平台生成,用于验证短信提交报告和状态报告的一致性2.2MT状态报告数据结构类型(TYPE):JSON用途保存状态报告接口函数返回的短信内容,不能用于判断短信是否正确送达,短信是否送达以移动公司提供的账单为准。字段名数据类型说明typestring消息类型:1表示为提交报告,2表示为状态报告,3表示为用户上行短信report_statusstring状态报告的值,参见真实网关状态报告值mobilestring手机号码,每次返回单个号码submit_datestringYYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-59)receive_datestringYYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-59)error_codestring未发送成功错误编码,参见真实网关错误码msg_groupstring消息批次号,由云MAS平台生成,用于验证短信提交报告和状态报告的一致性2.3MO数据结构类型(Type):JSON用途保存上行短信接口函数返回的短信内容。字段名数据类型说明typestring消息类型:1表示为提交报告,2表示为状态报告,3表示为用户上行短信mobilestring手机号码,单个号码sms_contentstring上行短消息内容send_timestring发送时间(格式为yyyy-mm-ddhi24:mi:ss)serialstring客户上行目标服务代码。3功能介绍及使用3.1身份验证功能介绍企业必须通过身份验证才能进行短信发送,身份验证用户名、密码和集团客户名称完成。请求申明测试环境:正式环境:参数详解参数名称说明ec_name集团客户名称user_name用户名user_passwd密码返回值返回值描述mas_user_id用户登录idaccess_tokenAPI输入参数签名密钥access_token_expire_secondsAPI输入参数签名超时时间,超过此阈值后API输入参数签名密钥作废,需要重新申请,调用HTTPAPI时应该在超时时间到达以前申请新的签名密钥status验证状态,错误码请参考:3.1.13.1.1错误码描述SC:4060登录验证请求超速Error:Invalidauthorization未通过授权Success登录成功3.2发送普通短信HTTP客户端向云MAS平台发送请求,带上相应的请求参数,云MAS平台接收请求,并进行验证,验证通过后进行短信发送。请求声明测试环境:正式环境:参数详解参数名称说明mas_user_id用户唯一标识mobiles手机号码数组,逗号分隔。content发送短信内容sign网关签名编码,必填,签名编码在中国移动集团开通帐号后分配,可以在云MAS网页端管理子系统-SMS接口管理功能中下载。serial扩展码,根据向移动公司申请的通道填写,如果申请的精确匹配通道,则填写空字符串(),否则添加移动公司允许的扩展码macAPI输入参数签名结果,签名算法:将mas_user_id,mobiles,content,sign,serial,access_token按照顺序拼接,然后通过MD5+HEX计算后得出的值返回值RET-CODE返回值描述SC:4060登录验证请求超速SC:4010用户TOKEN不存在,可能已失效或未登录SC:4000HTTPMAC校验错误,请注意签名参数顺序SC:4140手机号码数量超过200SC:4141短信内容字符数超过5000SC:4011用户信息缺失,可能已失效或未登录SC:5001接口处理异常,请联系技术支持或稍候再试SC:0000短信成功提交至云MAS平台SC:7002非法号码批次SC:7003重复号码SC:112签名错误或普通短信不允许使用模板短信的签名编码MSG-GROUP返回短信批次号3.3发送模板短信功能介绍模板短信发送,HTTP客户端向云MAS平台发送请求,根据指定模板ID,传入模板所需参数发送短信,云MAS平台接收请求,并进行验证,验证通过后进行短信发送。函数声明测试环境:正式环境:参数详解参数名称说明mas_user_id用户唯一标识template_id模版ID,模板由用户在中国移动集团提供的客户业务平台上,由客户自己增加短信模版的信息。params模版参数,多个用空格分割。模板采用模板和参数合成的方式产生短信,短信内容由发送服务器自动拼接。模板参数必须和模板中定义的动态填写的参数的个数一致。mobiles手机号码数组,逗号分隔。content短信内容sign网关签名编码,必填,签名编码由企业在中国移动集团开通帐号分配serial扩展码,根据向移动公司申请的通道填写,如果申请的精确匹配通道,则填写空字符串(),否则添加移动公司允许的扩展码macAPI输入参数签名结果,签名算法:将mas_user_id,template_id,params,mobiles,content,sign,serial,,access_token按照顺序拼接,然后通过MD5+HEX计算后得出的值返回值RET-CODE返回值描述SC:4060登录验证请求超速SC:4010用户TOKEN不存在,可能已失效或未登录SC:4000HTTPMAC校验错误,请注意签名参数顺序SC:4140手机号码数量超过200SC:4141短信内容字符数超过5000SC:4011用户信息缺失,可能已失效或未登录SC:5001接口处理异常,请联系技术支持或稍候再试SC:0000短信成功提交至云MAS平台SC:7001自定义参数为空SC:7002非法号码批次SC:7003重复号码MSG-GROUP返回短信批次号3.4获取提交报告功能介绍云MAS平台将提交报告采用POST方式推送至开户时设定的HTTP地址,如果推送失败,两秒后将再次推送,连续失败三次后将丢弃数据;数据结构参考2.1MT提交报告数据结构。此方法获得的数据不能用于判断短信是否正确送达,短信是否送达以移动公司提供的账单为准3.5获取状态报告功能介绍云MAS平台将状态报告采用POST方式推送至开户时设定的HTTP地址,如果推送失败,两秒后将再次推送,连续失败三次后将丢弃数据;数据结构参考2.2MT状态报告数据结构。此方法获得的数据不能用于判断短信是否正确送达,短信是否送达以移动公司提供的账单为准3.6获取上行短信功能介绍云MAS平台将上行短信采用POST方式推送至开户时设定的HTTP地址,如果推送失败,两秒后将再次推送,连续失败三次后将丢弃数据;数据结构参考2.3MO数据结构。4附录4.1常见问题1.如何判断短信已经成功提交给云MAS平台?HTTP请求返回MSG_GROUP,RET-CODE为SC:0000则表示短信已经成功提交给云MAS平台;2.HTTP登陆请求有时间间隔吗?有,最大允许请求的时间间隔为2分钟;验签的超时时间为2个小时3.HTTP请求最高速率多少?HTTP请求最高限速10条/秒;4.文档中提到了“提交报告”和“状态报告”,请问这两个有什么不同点和相同点?提交报告:指HTTP客户端提交给云MAS的报告,报告由云MAS收到HTTP客户端提交请求后发出;状态报告:云MAS提交给行业网关,行业网关返回的报告,云MAS透传给HTTP客户端;5.发送长短信是否有字数上限,长短信是不是不需要客户端来拆分,而有云平台完成?长短信字数上限是500,最好不要超过400,长短信由云MAS完成拆分,客户端提交一条即可;6.发送短信签名,是不是由客户端发送短信时附带在短信内容后边发送即可?发送短信签名由行业网关添加,客户发送时所选签名请参见页面中“SMS接口管理”中下载的对应签名编码,发送时填写在短信参数(Sign,详见接口文档3.2中;7.提交的号码数量有限制吗?有,一次提交的号码数量不能超过200个;8.关于回执数据说明提交报告:指短信提交到云MAS平台和短信提交至网关的回执信息;1)短信成功提交至云MAS并审核通过将返回CM:00002)短信成功提交至网关将返回CM:3000状态报告:真实网关返回的状态报告,DELIVRD表示短信已成功到达用户终端;