注意:以下文档只适用于TOP接口,请谨慎使用!

千牛场景之发送消息

更新时间:2017/06/06 访问次数:61063

业务背景

用于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的范围,遇到该错误码请勿重试

 

              {"code":"15","msg":"Remote service error","sub_code":"isv.not-allow-send-msg","sub_msg":""}:appkey没有发送到该类目权限,请联系方胜给appkey跟服务号做好绑定

 

推广服务号

系统类消息推广

有些系统类型的消息和功能挂钩,如果用户没有订阅改类型消息,将直接导致功能不可用。如量子推出了目标达成告警的功能,用户可以通过量子插件设置今天的销售目标,当销售目标达成后,自动发送目标达成的消息。那么,用户在设置今天的目标的时候,需要订阅了目标达成类消息,才能保证此功能的可用,如果用户选择不订阅此类消息,那么默认视为不使用该功能,功能设置直接置为灰色。

这种情况下,就需要用到系统类消息API进行推广,做法为:

当用户访问插件的功能的时候,可以通过JSSDK获取用户是否订阅了某二级类目,如果没有,直接调用JSSDK开放的订阅API,引导用户订阅此消息类目。

查询接口点击这里订阅接口点击这里,调用后,效果如下图所示

如果用户点击,用户将订阅上该类目。如果用户点击不允许,千牛将拒绝您的请求,同时告诉您,您需要根据您的实际情况做后续处理。 系统类消息推广限制推广的服务号和当前推广的插件必须是同一个开发者名下。

通用推广

如果您只是想呼出您的服务号的订阅页面,可以按照这里的API,传入您的一级类目即可。 通用推广不限制推广的服务号和当前推广的插件是否是同一个开发者名下。

 

需要注意的

如何获取我服务号类目信息

建立服务号的时候,我们建立的都是中文名,但是你见过通过中文对接的系统么?不管是一级类目还是二级类目,我们都是通过类目的英文名对接的。如果您不知道您的服务号的一二级类目英文名。可以自己到fm后台查看。

如何关联我的插件和我的服务号

上面开放的多个API都严格限制了,操作的插件和服务号必须是同一个开发者名下,一个插件背后需要关联一个服务号。如何关联,请找苏屠进行操作。

线上规范

内容规范(待完善)

频率规范(待完善)

推广规范(待完善)

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部