imo 开放平台消息推送
来源:互联网 发布:sql server 2012 r2 编辑:程序博客网 时间:2024/05/29 04:47
中国互联网办公室·imo运营中心
目录
1引言 3
1.1编写目的 3
1.2读者对象 3
1.3文档内容 3
1.4系统说明 3
2业务流程 4
3接口说明: 6
4接入范例 7
1 引言
1.1 编写目的
说明消息推送系统的业务流程。
1.2 读者对象
需要接入消息推送的第三方,以及消息推送系统的开发,产品人员
1.3 文档内容
消息推送授权申请和接口说明。
1.4 系统说明
1. 目前消息推送仅限于向获得授权的公司中的在线用户推送。
2. 仅限从第三方APP的服务器推送,其公网出口IP需要加入授权列表
3. 推送时需要使用消息接受者的imo账号,因此一般需要第三方系统用户系统和其imo账号建立对应关系(单点登录逐个绑定或批量进行绑定)
2 业务流程
1. 接入方发送申请邮件,邮件内容包括要获得授权的公司imo账号列表,接入方服务器公网出口IP
2. imo 开放平台通过接入申请,为接入方发放特定API_KEY(1个32个字节长的字符串)
3. 接入方通过imo开放平台的消息推送API发送消息
3 接口说明:
1. Sendmsg接口说明
调用方式:http post
调用地址:http://open.imoffice.com:5186/index.php?app=sendmsg
参数:fromcid 推送消息的组织id
参数:fromuid 推送消息的用户id
参数:appcid 申请appkey时使用的cid
参数:appuid 申请appkey时使用的uid
参数:pushtype 消息类型(1在线消息,2离线消息)
参数:users, 消息接收者列表
参数:msg,消息内容,格式见后续说明
参数:appkey,imo发放的接入方标识,取值,32byte字符串
参数:sender,发送者标识,发送方任意填写,仅用于跟踪,取值,英文字母字符串
参数:chart , 提交信息编码设置,当poptype为1时此参数选填,当poptype为2时此参数必填。此参数只能设为UTF8。
参数:poptype, 弹出形式,当为1时以消息框弹出,当为2时以单人聊天框弹出。
返回值:{“result”:”success”, “info”:”ok”}, 失败时取值请参考错误码列表
users参数数组格式说明:
json数组 [{"cid":43,"uid":1},{"cid":43,"uid":2},{"cid":43,"uid":3}],数组长度不超过100,即每次调用最多只能发送给100个人
msg参数数组格式说明:
{"ver":"1.0",
"subject":"消息",
"title":"您有一条新消息",
"img":"http:\/\/www.imoffice.com\/test.png",
"desc":"内容描述",
"lnk":"http;\/\/www.imoffice.com"
}
参数名
说明
备注
Ver
版本号
目前写死1.0
Subject
(暂不提供)
推送应用名称
utf8编码,不超过15个字,不填写时默认为“消息”,此项目请暂不要使用,还未开放。
title
推送的标题
unicodelittle编码,不超过15个字,不填写时默认为“您有一条新消息”,且需要先进行base64_encode,再url_encode编码。当poptype参数为2时,此项参数的值会变为单人聊天框的标题。
img
指向图片的url
图片大小为70*70px,图片较大时会压缩到这个尺寸,如果没有指定图片,则显示默认图片, 此内容需要urlencode
desc
推送消息的内容描述
unicodelittle编码,可输入2-120个字,页面无法显示完全时会出现tips,为空时取标题内容, 且需要先进行base64_encode,再url_encode编码
lnk
点击推送消息打开的web url
此内容需要urlencode。
返回结果
说明
{"result":"false", "info":"titlelen is error"}
标题不符合指定长度
{"result":"false", "info":"desclen is error"}
内容不符合指定长度
{"result":"false",info":"appkey is error"}
appcid,appuid, appkey不合法
{"result":"false","info":"params error"}
fromcid,fromuid,appcid,appuid不正确
{"result":"success","info":"ok"}
通信成功
{"result":"false", "info":"More than the users limit"}
超过来了单次允许发送的上线
{"result":"false", "info":"Contains the unauthorized company"}
包含了未授权的公司cid
{"result":"false", "info":" access is dined from your ip"}
来源IP不合法
{"result":"false","info":"Message structure is errore"}
数据结构不正确
{"result":"false","msg":"invalid fromcid or fromuid param"}
fromcid或fromuid参数填写不正确
{"result":"false","msg":"invalid poptype param"}
poptype的值是不合法的
2. 消息实例:
消息框模式
单人聊天框模式
4 接入范例
使用测试页面发送消息:
方式
地址接口
参数
返回数据
发送消息
POST
http://open.imoffice.com:5186/index.php?app=sendmsg p?app=sendmsg
fromcid,发送者cid
fromuid,发送者uid
appcid,appuid app申请者的cid和uid
appkey,应用appkey
$users接受信息的用户列表(例如:[{"cid":43,"uid":1},{"cid":43,"uid":2},{"cid":43,"uid":3}])
$msg发送的消息(例如:
{"ver":"1.0",
"title":"\u6d4b\u8bd5\u6d88\u606f","img":"http:\/\/www.imoffice.com\/test.png","desc":"\u8fd9\u662f\u6d4b\u8bd5\u6d88\u606f","lnk":"http;\/\/www.imoffice.com"})
{"result":"false",info":"appkeyis error"}
or
{"result":"false","info":"params error"}
or
{"result":"success","info":"ok"}
title和desc的内容要求从utf8转unicodelittle编码的例子:
php:
$title = '你有一条新消息';
$unicodelittle_title = iconv('UTF-8','unicodelittle',$title);
$base64_title = Base64_encode($unicodelittle_title);
echo $base64_title;
输出结果为:YE8JZwBOYWewZYhtb2A=
.Net:
string a = '你有一条新消息';
byte[] b = System.Text.Encoding.Unicode.GetBytes(a);
a = Convert.ToBase64String(b);
Console.Write(a);
输出结果为:YE8JZwBOYWewZYhtb2A=
5 chart参数说明:
chart参数:
作用:在发送消息时可不对title 和 desc进行unicode 和BASE64 编码转换。
方式:POST
参数:chart=UTF8(注意大小写,且页面必须为UTF8编码)
Msg内容只需urlencode
样例如下:
urlencode('{"ver":"1.0","title":"你有一条新消息","img":"","desc":"<测试>","lnk":"http://www.baidu.com"}');
结果:
%7B%22ver%22%3A%221.0%22%2C%22title%22%3A%22%E4%BD%A0%E6%9C%89%E4%B8%80%E6%9D%A1%E6%96%B0%E6%B6%88%E6%81%AF%22%2C%22img%22%3A%22%22%2C%22desc%22%3A%22%3C%E6%B5%8B%E8%AF%95%3E%22%2C%22lnk%22%3A%22http%3A%2F%2Fwww.baidu.com%22%7D
整个POST内容:
users=[{"cid":1000,"uid":1234}]&fromcid=1000&fromuid=1234&appkey=079c02f4af9f8eb305f02d80b19a0f72&appuid=1234&appcid=1000&pushtype=2&chart=UTF8&msg=%7B%22ver%22%3A%221.0%22%2C%22title%22%3A%22%E4%BD%A0%E6%9C%89%E4%B8%80%E6%9D%A1%E6%96%B0%E6%B6%88%E6%81%AF%22%2C%22img%22%3A%22%22%2C%22desc%22%3A%22%3C%E6%B5%8B%E8%AF%95%3E%22%2C%22lnk%22%3A%22http%3A%2F%2Fwww.baidu.com%22%7D
当poptype参数的值为2时,chart参数必须为2。
http://www.yxxx.net.cn 西安云翔软件信息科技有限公司
- imo 开放平台消息推送
- IMO 开放平台单点登录
- imo 开放平台反向登录
- imo 开放平台客户端API接口说明
- Websocket消息推送平台
- 消息推送平台
- Android 推送消息开放接口 OpenPush
- iOS远程消息推送(信鸽推送平台)
- Adroid平台消息推送服务
- .net平台推送ios消息
- 常见的消息推送平台
- Android消息推送:第三方消息推送平台详细解析
- Android消息推送:第三方消息推送平台详细解析
- Android平台消息推送功能的记录~
- 平台消息推送是如何实现的
- 多平台轻量级消息推送系统msgd
- 对消息推送平台的思考(1) - 利用第三方推送平台做notify实现推送消息
- .net平台借助第三方推送服务在推送Android消息(极光推送)
- 浅谈TCP/IP网络编程中socket的行为
- android sdk manager 超时的解决办法
- linux C 遍历目录及其子目录 opendir -> readdir -> closedir
- linux tcp socket简单例子
- win8开发使用模板的时候,背景得到不同的颜色值
- imo 开放平台消息推送
- JAVA 判断字符串是否整数
- 中科红旗的生与死
- UIViewController的生命周期及iOS程序执行顺序
- JfreeChart实现数据的实时动态曲线显示
- Mysql 查询日志slow_launch_time和Long_query_time
- select poll epoll 对比
- 模板Singleton
- 摇骰子(娱乐)