业务背景
用于ISV插件与千牛消息中心的系统对接,方便ISV业务的告警、提醒等 系统通知类消息及时发送给订阅用户
插件服务号申请:为插件申请一个插件专门的服务号,并可以自己到fm后台查看一级、二级类目。
插件与服务号绑定申请:为appkey跟电台类目做好绑定关联
备注:现在所有千牛插件都默认已经有消息发送api权限了。
在千牛里,一个可以发消息的账号我们称之为一个服务号,如下图所示
每一个服务号都有一个唯一的标志,我们称之为一级类目
一个账号根据发送的消息的内容不同,我们又可以对其进行归类,我们称之为**二级类目__。如上图中的
就是二级类目.
在这个基础上,服务号还有一些其他的规则,他们包括:
发送消息的API文档地址为://open.taobao.com/apidoc/api.htm?path=scopeId:10662-apiId:22542
改API可以一次性发送多条message过来,message里面有几个属性重点描述下:
msg_category : 一级类目
msg_type:二级类目
nick:消息的接受者
任何一条消息,一定是发往某个用户的某个服务号的某个子类型的。例如:
往朱棣(nick)的千牛电台(一级类目)的课堂(二级类目)下推送一条消息
所以msg_category,msg_type,nick 都是必传的。
发送消息API限制当前发送的appkey和发送的目标电台是同一个开发者名下。
API常见错误码说明
<err_code>isv.dup-send</err_code>:消息重复发送,相同的send_no,无法发送两条,遇到该错误码请勿重试
<err_code>isv.invalid-parameter:msg_category or msg_type</err_code>:一级类目名称或者二级类目名称错误/不存在,请根据方胜给你的类目名称进行发送,遇到该错误码请勿重试
<err_code>isp.user-service-unavailable</err_code>:发送的用户名错误,输入正确的用户名,遇到该错误码请勿重试
<sub_code>isv.service-error</sub_code><sub_msg>java.lang.Long cannot be cast to java.lang.Integer</sub_msg>:send_no过长,超过了Integer的范围,遇到该错误码请勿重试
有些系统类型的消息和功能挂钩,如果用户没有订阅改类型消息,将直接导致功能不可用。如量子推出了目标达成告警的功能,用户可以通过量子插件设置今天的销售目标,当销售目标达成后,自动发送目标达成的消息。那么,用户在设置今天的目标的时候,需要订阅了目标达成类消息,才能保证此功能的可用,如果用户选择不订阅此类消息,那么默认视为不使用该功能,功能设置直接置为灰色。
这种情况下,就需要用到系统类消息API进行推广,做法为:
当用户访问插件的功能的时候,可以通过JSSDK获取用户是否订阅了某二级类目,如果没有,直接调用JSSDK开放的订阅API,引导用户订阅此消息类目。
如果用户点击好,用户将订阅上该类目。如果用户点击不允许,千牛将拒绝您的请求,同时告诉您,您需要根据您的实际情况做后续处理。 系统类消息推广限制推广的服务号和当前推广的插件必须是同一个开发者名下。
如果您只是想呼出您的服务号的订阅页面,可以按照这里的API,传入您的一级类目即可。 通用推广不限制推广的服务号和当前推广的插件是否是同一个开发者名下。
建立服务号的时候,我们建立的都是中文名,但是你见过通过中文对接的系统么?不管是一级类目还是二级类目,我们都是通过类目的英文名对接的。如果您不知道您的服务号的一二级类目英文名。可以自己到fm后台查看。
上面开放的多个API都严格限制了,操作的插件和服务号必须是同一个开发者名下,一个插件背后需要关联一个服务号。如何关联,请找苏屠进行操作。