java云之家发送信息_pubacct:公共服务号开放api_消息发送 - 云之家·开放平台

消息内容由消息的发送发、接收方、消息类型、身份认证签名等不可见信息以及发布内容等可见信息组成。

备注:消息若要进待办列表,公共号必须上传头像

{

"from":"发送方信息,格式为JSON对象",

"to":"接收方信息,格式为包含一至多个接收方信息JSON对象的JSON数组",

"type":"消息类型,格式为整型",(取值 2:单文本,5:文本链接,6:图文链接)

"msg":"发布到讯通的消息内容,格式为JSON对象"

}

1) from的定义:

{

"no":"发送方企业的企业注册号(eID),格式为字符串",

"pub":"发送使用的公共号ID,格式为字符串",

"time":"发送时间,为'currentTimeMillis()以毫秒为单位的当前时间'的字符串或数字",

"nonce":"随机数,格式为字符串或数字",

"pubtoken":"公共号加密串,格式为字符串。"

}

公共号密钥验证规则pubtoken=sha(no,pubid,pubsercet,nonce,time)

如果您是isv伙伴可以在创建轻应用界面查看pubid,pubsercet。如果您是企业内部轻应用可以登录yunzhijia.com/pubacc系统左边菜单栏 API接口 查看

import org.apache.commons.codec.digest.DigestUtils;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;

public static String sha(String... data){

Arrays.sort(data);//按字母顺序排序数组

return DigestUtils.shaHex(StringUtils.join(data));//把数组连接成字符串(无分隔符),并sha1哈希

}

2) to的定义:

[

{

"no":"接收方企业的企业注册号(eID),格式为字符串",

"user":"接收方的用户ID,格式为包含OPENID的JSON数组"

},

{

……

},

……

]

其中,”to”:[] 表示所有订阅的企业和用户。(企业自建公共号此参数不起作用)

其中,”to”:[{“no”:“10001”,”code”:“all”},{“no”:“10002”,”code”:“all”}….] 表示企业10001,10002所有订阅的用户。”code”:“all”一定不要漏,否则报错 (推送待办消息时,此参数不起作用)

其中,”to”:[{“no”:“10001”,”user”:[“1”,”2”]},{“no”:“10002”,”user”:[“3”,”4”]}] 表示企业10001的openid=1,2用户;企业10002的openid=3,4用户。

3) type的定义:

• 2:纯文本信息

• 5:文本链接信息

• 6:图文混排信息

5) msg的定义:

根据不同的type定义,msg会有不同的格式定义。

type为2时,msg的定义:

{

"text":"文本消息内容,格式为字符串"

}

type为5时,msg的定义:

{

"text":"文本消息内容,格式为字符串",

"url":"文本链接地址,格式为经过URLENCODE编码的字符串",

"appid": 如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考开发,

"todo":"是否推送待办消息,格式为整型,默认1=推送到待办消息;0=推送原公共号消息"(若为1或者不填,公共号必须要有头像),

"sourceid":todo为1时输入,自定义业务id,可选

}

“url”:“文本链接地址,格式为参数值经过URLENCODE编码的字符串” 注意:只是参数值编码,不要编码全部路径或者路径包含非法字符,否则无法打开url

doku.php?id=使用说明&abc=123 编码后为

doku.php?id=%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E&abc=123

todo:是否推送待办消息,默认1=有appid则推送到待办消息;不想推送到待办消息可以设置为0=就是原公共号消息

type为6时,msg的定义:

{

"model":"排版展现模板,格式为整型",

"todo":"是否推送待办消息,格式为整型,默认1=推送到待办消息;0=推送原公共号消息",

"sourceid":todo为1时输入,自定义业务id,

"list":"发布信息列表,格式为包含发布信息JSON对象的JSON数组"

}

5.1) model的定义:

• 1:单条文本编排模板

• 2:单条图文混排模板

• 3:多条图文混排模板

• 4:应用消息模板

5.2) list的定义:

根据不同的model定义,list会有不同的格式定义。

model为1时,list的定义:

[

{

"date":"发布日期,格式为包含了'年月日时分秒'字符串",

"title":"消息标题,格式为字符串",

"text":"消息摘要,格式为字符串",

"zip":"内容压缩包二进制字节流,格式为经过BASE64编码的字符串",

"url":"原文链接,格式为经过URLENCODE编码的字符串",

"appid": 如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考开发

}

]

“url”:“文本链接地址,格式为参数值经过URLENCODE编码的字符串” 注意:只是参数值编码,不要编码全部路径或者路径包含非法字符,否则无法打开url

doku.php?id=使用说明&abc=123 编码后为

doku.php?id=%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E&abc=123

model为2时,list的定义:

[

{

"date":"发布日期,格式为包含了'年月日时分秒'字符串",

"title":"消息标题,格式为字符串",

"text":"消息摘要,格式为字符串",

"zip":"内容压缩包二进制字节流,格式为经过BASE64编码的字符串",

"url":"原文链接,格式为经过URLENCODE编码的字符串",

"appid": 必填,

"name":"图片的文件名,格式为字符串",

"pic":"图片的二进制字节流,格式为经过BASE64编码的字符串"

}

]

model为3时,list的定义:

[

{

"date":"发布日期,格式为包含了'年月日时分秒'字符串",

"title":"消息标题,格式为字符串",

"text":"消息摘要,格式为字符串",

"zip":"内容压缩包二进制字节流,格式为经过BASE64编码的字符串",

"url":"原文链接,格式为经过URLENCODE编码的字符串",

"appid": 如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考开发

"name":"图片的文件名,格式为字符串",

"pic":"图片的二进制字节流,格式为经过BASE64编码的字符串"

},

{

……

},

……

]

5.2.1) zip的定义

以zip格式压缩的内容文件夹,文件夹根目录内必须包含名称为index.html的文件,该文件将作为讯通消息查看全文的页面。

5.2.2) pic的定义

讯通公共号消息大尺寸缩略图的宽度和高度规格为542px*260px,小尺寸缩略图的宽度和高度规格为142px*112px,

如发送图片的比例不相符,将会在显示前被裁减。model为3时,第一条消息显示为大尺寸缩略图,其他的为小尺寸缩略图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值