漫画导入数据格式文档
一、api传输格式
直达服务也要求第三方向微信后台写入数据,开发者可以通过开放的api提前将第三方数据写入,微信会通过该数据提前知道第三方服务对数据的服务能力,微信会判断用户输入的query与第三方数据的匹配程度进行流量分配,单次api导入数据大小不超过5K。
http请求方式:POST
http(s)://api.weixin.qq.com/wxa/setdynamicdata?access_token=ACCESS_TOKEN
POST数据示例如下:
{
"lifespan": 86400,
"query": "{\"type\":XXXXXX}",
"scene": 1,
"data": "{\"items\": [{XXX},{XXX},{XXX}], \"attribute\": {\"count\": M, \"totalcount\": N, \"id\": \"XXX\", \"seq\": i}}"
}
字段名称 | 字段类型 | 说明 |
---|---|---|
lifespan | unsigned int32 | 数据有效时间,单位为秒,一般为86400,一天一次导入的频率 |
query | string | 固定为"{\"type\":XXXXX}",用于标识数据类目 |
scene | int32 | 1代表用于搜索的数据 |
data | string | 对应推送的数据,多条数据放在items列表中,该数据被微信用于流量分配,注意该字段为string类型而不是object |
二、数据格式
query字段中type定义为:
key | 说明 | define |
---|---|---|
type | 类型编号 | 1000023 |
data字段的定义:
字段名称 | 字段类型 | 说明 |
---|---|---|
items | array | 数据内容见items数组数据定义 |
attribute | object | {"id":"XXX", "seq": i, "count": M, "totalcount": N} |
说明:
id
为此批数据的唯一id,注意同一批数据可能分多次api推送,这多次推送的id必须是一致的;seq
为多次推送的递增序列,为0到n-1,第一次推送seq为0,第二次推送seq为1,以此类推;count
为此次API推送的数据条数;totalcount
为此批数据的总条数,sum(count(0).size() + ... + count(n-1).size()),即所有api推送数据条数总和。
items数组中数据定义为:
key | 类型 | 说明 | sample |
---|---|---|---|
cartoon | string | 漫画名称 | 海贼王 |
author | array | 作者 | ["宫崎骏"] |
protagonist | array | 主角列表 | ["鸣人"] |
最终POST的数据内容为:
{
"data": "{\"items\": [{\"cartoon\":\"海贼王\",\"author\":\"[\\\"宫崎骏\\\"]\",\"protagonist\":\"[\\\"鸣人\\\"]\"}], \"attribute\": {\"count\": 2, \"totalcount\": 100, \"id\": \"XXX\", \"seq\": 0}}",
"lifespan": 86400,
"query": "{\"type\":1000023}",
"scene": 1
}
基于不同的搜索模式,开发者实际需要导入的数据字段为本文档所罗列的数据字段的子集。本文档仅做参考,开发者可在选择模板后,在微信公众平台下载相应的导入数据协议文档。详情见导入抽样数据。