codecamp

微信接口分析数据接口

接口分析数据接口

接口分析数据


微信公众平台于2015年1月6日启动了数据接口的邀请内测。通过数据接口,开发者可以获取与公众平台官网统计模块类似但更灵活的数据,还可根据需要进行高级处理。

在公众号登录授权机制的权限集划分中,接口分析数据接口属于帐号服务权限。

向所有公众号开发者开放数据接口的时间将另行通知。

请注意:

1、接口侧的公众号数据的数据库中仅存储了2014年12月1日之后的数据,将查询不到在此之前的日期,即使有查到,也是不可信的脏数据;
2、请开发者在调用接口获取数据后,将数据保存在自身数据库中,即加快下次用户的访问速度,也降低了微信侧接口调用的不必要损耗。

接口分析数据接口指的是用于获得公众平台官网数据统计模块中接口分析数据的接口,具体接口列表如无用户属性数据接口):

接口名称最大时间跨度接口调用地址(必须使用https)
获取接口分析数据(getinterfacesummary)30https://api.weixin.qq.com/datacube/getinterfacesummary?access_token=ACCESS_TOKEN
获取接口分析分时数据(getinterfacesummaryhour)1https://api.weixin.qq.com/datacube/getinterfacesummaryhour?access_token=ACCESS_TOKEN

最大时间跨度是指一次接口调用时最大可获取数据的时间范围,如最大时间跨度为7是指最多一次性获取7天的数据。access_token的实际值请通过“获取access_token”来获取。


接口调用请求说明

接口分析数据接口(包括接口列表中的所有接口)需要向相应接口调用地址POST以下示例数据包:

{ 
    "begin_date": "2014-12-07", 
    "end_date": "2014-12-07"
}

调用参数说明

参数是否必须说明
access_token调用接口凭证
begin_date获取数据的起始日期,begin_date和end_date的差值需小于“最大时间跨度”(比如最大时间跨度为1时,begin_date和end_date的差值只能为0,才能小于1),否则会报错
end_date获取数据的结束日期,end_date允许设置的最大值为昨日

返回说明

正常情况下,获取接口分析数据接口的返回JSON数据包如下:

{ 
   "list": [ 
       { 
           "ref_date": "2014-12-07", 
           "callback_count": 36974, 
           "fail_count": 67, 
           "total_time_cost": 14994291, 
           "max_time_cost": 5044
       }
	//后续还有不同ref_date(在begin_date和end_date之间)的数据
   ]
}

正常情况下,获取接口分析分时数据接口的返回JSON数据包如下:

{ 
   "list": [ 
       { 
           "ref_date": "2014-12-01", 
           "ref_hour": 0, 
           "callback_count": 331, 
           "fail_count": 18, 
           "total_time_cost": 167870, 
           "max_time_cost": 5042
       }
	//后续还有不同ref_hour的数据
   ]
}

返回参数说明

参数说明
ref_date数据的日期
ref_hour数据的小时
callback_count通过服务器配置地址获得消息后,被动回复用户消息的次数
fail_count上述动作的失败次数
total_time_cost总耗时,除以callback_count即为平均耗时
max_time_cost最大耗时

错误时微信会返回错误码等信息,具体错误码查询,请见:全局返回码说明

微信消息分析数据接口
微信卡券接口
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信门店

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }