宠物领养服务-宠物领养导入数据格式文档

一、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 类型编号 1015026

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
pet_type string 宠物类型 泰迪

最终POST的数据内容为:

{
"data": "{\"items\": [{\"pet_type\":\"泰迪\"}], \"attribute\": {\"count\": 2, \"totalcount\": 100, \"id\": \"XXX\", \"seq\": 0}}", 
"lifespan": 86400, 
"query": "{\"type\":1015026}", 
"scene": 1
}

基于不同的搜索模式,开发者实际需要导入的数据字段为本文档所罗列的数据字段的子集。本文档仅做参考,开发者可在选择模板后,在微信公众平台下载相应的导入数据协议文档。详情见导入抽样数据