云通讯平台为开发者提供了服务器推送接口,即从服务器端向客户端推送消息,可用于推送系统通知等使用场景。
1、请求地址
/{SoftVersion}/Application/{appId}/IM/PushMsg
2、请求包头
请参阅《鉴权说明》
3、请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
pushType | int | 必选 | 推送类型,1:个人,2:群组,默认为1 |
sender | String | 必选 | 发送者帐号,必须在客户端登录过,且sender所在客户端的appid要与请求的appid要统一,长度不得超过96个字符 |
senderNickName | String | 可选 | 发送者昵称 |
receiver | String | 必选 | 接收者帐号,如果是个人,最大上限100人/次,如果是群组,仅支持1个;如果需要跨应用给个人发送信息,需要在接收者帐号前加appid和#。例如:appid=1,接收者帐号=a,则需要拼为1#a。由于群组ID为唯一ID,因此跨应用给群组发送消息无需增加appid和#。 |
msgType | int | 必选 | 消息类型,1:文本消息,2:语音消息,3:视频消息,4:图片消息,5:位置消息,6:文件,26:指令消息 |
msgContent | String | 可选 | 文本内容,最大长度2048字节,文本和附件二选一,不能都为空 |
msgDomain | String | 可选 | 扩展字段,最大长度2048字符 |
msgFileName | String |
可选 | 文件名,最大长度128字节 |
msgFileUrl | String | 可选 | 文件绝对路径,最大长度1024个字符。 |
extOpts
此参数需要进行base64加密 |
String | 可选 | "isSave":"", msgType=26时,是否保存,1:保存,非1:不保存 |
String | 可选 | "isOfflinePush":"", msgType=26时,是否走离线推送,1:离线推送,2:不走离线推送,3:不走离线推送,并返回发送者错误码 | |
String | 可选 | "isHint":"", msgType=26时,是否提示 1:提示,非1:静默通知 | |
String | 可选 | "isSyncMsg":"", msgType=26时,消息是否同步多设备,1:同步,2:不同步 | |
String | 可选 | "apsalert":"", 自定义消息推送内容 |
4、请求示例
POST /2013-12-26/Application/297e7c37446272f301/IM/PushMsg?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "pushType":"1", "sender":"13291217102", "receiver":["18201370642","13121353225"], "msgType":"1", "msgContent":"你好", "msgDomain":"yuntongxun", "msgFileName":"", "msgFileUrl":"", "extOpts":"" }
5、响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功) |
statusMsg | String | 必选 | 取值success(成功) |
msgId | String | 必选 | 消息Id |
timestamp | String | 必选 | 时间戳 |
6、响应示例
HTTP/1.1 200 OK Content-Length:586 {"statusCode":"000000","statusMsg":"success","msgId":"","timestamp":""}
文档更新时间:2018年1月18日