服务器推送
云通讯平台为开发者提供了服务器推送接口,即从服务器端向客户端推送消息,可用于推送系统通知等使用场景。
1、请求地址
- /{SoftVersion}/Application/{appId}/IM/PushMsg
2、请求包头
请参阅《鉴权说明》
3、请求包体
属性 | 类型 | 约束 | 说明 |
pushType | int | 必选 | 推送类型,1:个人,2:群组,默认为1 |
sender | String | 必选 | 发送者帐号,必须在客户端登录过,且sender所在客户端 的appid要与请求的appid要统一,长度不得超过96个字符 |
senderNickName | String | 可选 | 发送者昵称 |
receiver | list | 必选 | 接收者帐号,如果是个人,最大上限100人/次, 如果是群组,仅支持1个; 如果需要跨应用给个人发送信息,需要在接收者帐号前加appid和#。 例如:appid=1,接收者帐号=a,则需要拼为1#a。 由于群组ID为唯一ID,因此跨应用给群组发送消息无需增加appid和#。 |
msgType | int | 必选 | 消息类型,1:文本消息,2:语音消息,3:视频消息, 4:图片消息,5:位置消息,6:文件,26:指令消息(使用extOpts字段,则必须设置该类型) |
msgContent | String | 可选 | 文本内容,最大长度2048字节, 文本和附件二选一,不能都为空 |
msgDomain | String | 可选 | 扩展字段,最大长度2048字符 |
msgFileName | String | 可选 | 文件名,最大长度128字节 |
msgFileUrl | String | 可选 | 文件绝对路径,最大长度1024个字符。 |
extOpts
此参数内容需要进行 base64加密 | String | 可选 | "isSave":"",是否保存, 1:保存,非1:不保存 |
String | 可选 | "isOfflinePush":"",是否走离线推送, 1 : 离线推送, 2:不走离线推送, 3:不走离线推送,并返回发送者错误码 | |
String | 可选 | "isHint":"", 是否提示 1:提示, 非1:静默通知 | |
String | 可选 | "isSyncMsg":"", 消息是否同步多设备, 1:同步,2:不同步 | |
String | 可选 | "apsalert":"", 自定义消息推送内容 |
4、请求示例
- POST /2013-12-26/Application/20150314000000110000000000000010/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":""}