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    西安云翔软件信息科技有限公司

0 0
原创粉丝点击