SUBMAIl CMPP 协议接入文档
SUBMAIL CMPP 协议基于中国移动短消息 CMPP 2 通讯协议。
参考开发文档:《中国移动通信 互联网短信网关接口协议 (China Mobile Peer to Peer, CMPP) (V2.0)》
基于 CMPP 通讯协议,接入 SUBMAIL CMPP 可实现短消息发送、状态和短消息上行等功能;要接入SUBMAIL CMPP 网关,请前往 短信-》创建/管理 AppID 页面创建一个 CMPP 应用;
参数示例
CMPP参数 | 示例 | 描述 |
---|---|---|
IP/URL | cmpp.mysubmail.com | 接口URL,如果您的系统仅支持 IP 对接或无法使用域名,请联系商务或售后支持 |
Port | 7890 | CMPP 端口号 |
User / SP_ID | appid | SP_ID /用户名;前往 短信-》创建/管理 AppID 页面获取 |
Password | cmpp key | 密码;前往 短信-》创建/管理 AppID 页面获取 |
Src_Id | appid | 企业ID/接入号;前往 短信-》创建/管理 AppID 页面获取 |
请注意:
- 每个独立的 CMPP 应用默认为 1 个TCP链路,初始流速默认为 100/秒;
- CMPP 要求必须指定一个 授权的 IP 进行绑定;您可以绑定多个 IP;
- 当一个链路已成功登录后,其他链路将无法继续使用该 APPID 进行登录;
- CMPP 短消息正文编码统一采用 UCS 2 编码即 Msg_Fmt = 8,其他编码均不被支持;
- CMPP 应用支持 6 位自定义扩展
SUBMAIL CMPP 网关支持大多数的常用 CMPP 指令
CMPP 指令支持列表
指令 | 指令描述 |
---|---|
CMPP_CONNECT | 连接/登录 |
CMPP_TERMINATE | 链路拆除 |
CMPP_SUBMIT | 短消息发送 |
CMPP_DELIVER | 回执/短消息上行 |
CMPP_ACTIVE_TEST | 链路检测(心跳包) |
除上述列表中的指令外,其他 CMPP 指令均不被支持;如遇特殊需求,请联系商务或售后支持;
关于长短信
SUBMAIl CMPP 网关支持长短信发送,最大字符限制为1000 字,包含签名,正文、标点符号和空格;
要发送长短信,请正确的设置 TP_udhi 、 Pk_total 和 Pk_number 参数;
正文 UDHI 头采用 6 字节 UDHI,格式:05 00 03 XX MM NN
- byte 1 : 05, 表示剩余协议头的长度
- byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)
- byte 3 : 03, 这个值表示剩下短信标识的长度
- byte 4 : XX,这批短信的唯一标志(被拆分的多条短信,此值必需一致),事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯 一并不是很 重要。
- byte 5 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。
- byte 6 : NN, 当前短信的序号。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
示例:05 00 03 39 02 01
错误/状态码
SUBMAIL CMPP 网关除透传短消息实际状态外会有一些特殊的状态码,如模板审核拒绝、频率超限、余额不足等
状态码 | 交互方式 | 描述 |
---|---|---|
SUBERRL | CMPP_DELIVER | 提交失败(长短信并包超时) |
SIGNERR | CMPP_DELIVER | 短信正文未包含短信签名,或短信签名没有前置 |
CONTERR | CMPP_DELIVER | 短信正文超过最大长度限制(1000字) |
BEYONDD | CMPP_DELIVER | CMPP应用请求超限(请前往短信-》创建/管理 APPID 页面设置发送限制参数) |
FRQEBYD | CMPP_DELIVER | 发送超限(相同内容同一天内对同一手机号发送超过15条) |
UBLOCKD | CMPP_DELIVER | 自定义黑名单 (请前往短信-》创建/管理 APPID 页面设置或管理黑名单) |
REJECTD | CMPP_DELIVER | 审核拒绝 此状态与网关REJECTD状态码一致,如遇相同内容全部返回该错误码,则模板审核被拒,请前往 短信-》创建 /管理模板页面查看具体驳回原因,修改后重新提交该模板进行审核即可正常发送 |
BALANCU | CMPP_DELIVER | 通用/运营类短信余额不足 |
BALANCT | CMPP_DELIVER | 事务类短信余额不足 |
NOROUTE | CMPP_DELIVER | 无路由 |
BLOCKED | CMPP_DELIVER | 系统屏蔽 |
BEYONDT | CMPP_DELIVER | 模板发送超限;请前往 短信-》创建 /管理模板页面 更改此模板发送限制 |
UNSUBED | CMPP_DELIVER | 用户已退订;请前往 短信-》上行交互页面设置取消退订规则 |