更新日期:     浏览次数:

1. 公共号消息应答

1.1. 网络传输协议规范

1.1.1. 网络传输协议

HTTP

1.1.2. HTTP请求地址

公共号菜单配置的URL.

如果匹配菜单规则,则向该URL POST消息.

注意:10秒超时,则中断失败.

1.1.3. HTTP请求方法

POST

1.1.4. HTTP内容类型

Content-Type: application/json

1.2. 消息内容定义规范

1.2.1. 内容格式

默认的字符编码格式为UTF-8格式

1.2.2. 内容组成

{
    "ServiceType": "xt讯通、wx微信、lw来往…",
    "PubAccId": "讯通公众号id",
    "FromUserName": "如果是微信类型则为微信用户的openid,如果为讯通类型则为讯通用户ID",
    "ToUserName": "如果是微信类型,则为微信公众号ID",
    "MsgType": "消息类型",
    "MsgId": "消息ID",
    "Eid": "企业号",
    "CreateTime": "时间",
    "PubToken": "讯通公众号密钥加密",
    "Payload": {
        "Content": "",
        "PicUrl": "",
        "MediaId": "",
        "Format": "",
        "Title": "",
        "Description": "",
        "Url": "",
        "Location_X": "",
        "Location_Y": "",
        "Scale": "",
        "Label": "",
        "ThumbMediaId": ""
    }
}

消息类型MsgType定义:

public static String TEXT = "text";
public static String IMAGE = "image";
public static String VOICE = "voice";
public static String LINK = "link";
public static String VIDEO = "video";
public static String LOCATION = "location";
public static String CLICK = "click";//菜单点击事件
public static String VIEW = "view"; //菜单连接事件
public static String SUBSCRIBE = "subscribe"; //订阅事件
public static String XT="xt";
public static String WX="wx";

讯通公众号密钥加密PubToken:

用于企业对公共号消息来源的验证,如果业务不需要这么安全,可以忽略验证。 PubToken=sha(PubAccId,FromUserName,CreateTime,MsgId,公众号密钥pubkey),sha哈希算法

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哈希
    }

1.2.3. 完整范例

{
    "ServiceType": "xt",
    "PubAccId": "XT-a833d285-xxx",
    "FromUserName": "c51b52e8-xxx",
    "ToUserName": "XT-a833d285-xxx",
    "MsgType": "text",
    "MsgId": "XT-baa6c6fd-xxx",
    "CreateTime": "1396593594951",
    "PubToken": "82490e344986c798e7d600ce8417cbb80a6axxx",
    "Payload": {
        "Content": "TEST"
    }
}

1.3. FAQ

暂无

results matching ""

    No results matching ""