微信公眾平臺于2015年1月6日啟動了數(shù)據(jù)接口的邀請內(nèi)測。通過數(shù)據(jù)接口,開發(fā)者可以獲取與公眾平臺官網(wǎng)統(tǒng)計模塊類似但更靈活的數(shù)據(jù),還可根據(jù)需要進行高級處理。
在公眾號登錄授權(quán)機制的權(quán)限集劃分中,圖文分析數(shù)據(jù)接口屬于群發(fā)與通知權(quán)限。
向所有公眾號開發(fā)者開放數(shù)據(jù)接口的時間將另行通知。
請注意:
1、接口側(cè)的公眾號數(shù)據(jù)的數(shù)據(jù)庫中僅存儲了2014年12月1日之后的數(shù)據(jù),將查詢不到在此之前的日期,即使有查到,也是不可信的臟數(shù)據(jù); 2、請開發(fā)者在調(diào)用接口獲取數(shù)據(jù)后,將數(shù)據(jù)保存在自身數(shù)據(jù)庫中,即加快下次用戶的訪問速度,也降低了微信側(cè)接口調(diào)用的不必要損耗。 3、額外注意,獲取圖文群發(fā)每日數(shù)據(jù)接口的結(jié)果中,只有中間頁閱讀人數(shù)+原文頁閱讀人數(shù)+分享轉(zhuǎn)發(fā)人數(shù)+分享轉(zhuǎn)發(fā)次數(shù)+收藏次數(shù) >=3的結(jié)果才會得到統(tǒng)計,過小的閱讀量的圖文消息無法統(tǒng)計。
圖文分析數(shù)據(jù)接口指的是用于獲得公眾平臺官網(wǎng)數(shù)據(jù)統(tǒng)計模塊中圖文分析數(shù)據(jù)的接口,具體接口列表如下:
接口名稱 | 最大時間跨度 | 接口調(diào)用地址(必須使用https) |
---|---|---|
獲取圖文群發(fā)每日數(shù)據(jù)(getarticlesummary) | 1 | https://api.weixin.qq.com/datacube/getarticlesummary?access_token=ACCESS_TOKEN |
獲取圖文群發(fā)總數(shù)據(jù)(getarticletotal) | 1 | https://api.weixin.qq.com/datacube/getarticletotal?access_token=ACCESS_TOKEN |
獲取圖文統(tǒng)計數(shù)據(jù)(getuserread) | 3 | https://api.weixin.qq.com/datacube/getuserread?access_token=ACCESS_TOKEN |
獲取圖文統(tǒng)計分時數(shù)據(jù)(getuserreadhour) | 1 | https://api.weixin.qq.com/datacube/getuserreadhour?access_token=ACCESS_TOKEN |
獲取圖文分享轉(zhuǎn)發(fā)數(shù)據(jù)(getusershare) | 7 | https://api.weixin.qq.com/datacube/getusershare?access_token=ACCESS_TOKEN |
獲取圖文分享轉(zhuǎn)發(fā)分時數(shù)據(jù)(getusersharehour) | 1 | https://api.weixin.qq.com/datacube/getusersharehour?access_token=ACCESS_TOKEN |
最大時間跨度是指一次接口調(diào)用時最大可獲取數(shù)據(jù)的時間范圍,如最大時間跨度為7是指最多一次性獲取7天的數(shù)據(jù)。access_token的實際值請通過“獲取access_token”來獲取。
接口調(diào)用請求說明
圖文分析數(shù)據(jù)接口(包括接口列表中的所有接口)需要向相應接口調(diào)用地址POST以下示例數(shù)據(jù)包:
{ "begin_date": "2014-12-08", "end_date": "2014-12-08" }
調(diào)用參數(shù)說明
參數(shù) | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
begin_date | 是 | 獲取數(shù)據(jù)的起始日期,begin_date和end_date的差值需小于“最大時間跨度”(比如最大時間跨度為1時,begin_date和end_date的差值只能為0,才能小于1),否則會報錯 |
end_date | 是 | 獲取數(shù)據(jù)的結(jié)束日期,end_date允許設置的最大值為昨日 |
返回說明
正常情況下,獲取圖文群發(fā)每日數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下:
{ "list": [ { "ref_date": "2014-12-08", "msgid": "10000050_1", "title": "12月27日 DiLi日報", "int_page_read_user": 23676, "int_page_read_count": 25615, "ori_page_read_user": 29, "ori_page_read_count": 34, "share_user": 122, "share_count": 994, "add_to_fav_user": 1, "add_to_fav_count": 3 } //后續(xù)會列出該日期內(nèi)所有被閱讀過的文章(僅包括群發(fā)的文章)在當天的閱讀次數(shù)等數(shù)據(jù) ] }
正常情況下,獲取圖文群發(fā)總數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下(請注意,details中,每天對應的數(shù)值為該文章到該日為止的總量(而不是當日的量))。 額外需要注意獲取圖文群發(fā)每日數(shù)據(jù)(getarticlesummary)和獲取圖文群發(fā)總數(shù)據(jù)(getarticletotal)的區(qū)別如下:
1、前者獲取的是某天所有被閱讀過的文章(僅包括群發(fā)的文章)在當天的閱讀次數(shù)等數(shù)據(jù)。 2、后者獲取的是,某天群發(fā)的文章,從群發(fā)日起到接口調(diào)用日(但最多統(tǒng)計發(fā)表日后7天數(shù)據(jù)),每天的到當天的總等數(shù)據(jù)。例如某篇文章是12月1日發(fā)出的,發(fā)出后在1日、2日、3日的閱讀次數(shù)分別為1萬,則getarticletotal獲取到的數(shù)據(jù)為,距發(fā)出到12月1日24時的總閱讀量為1萬,距發(fā)出到12月2日24時的總閱讀量為2萬,距發(fā)出到12月1日24時的總閱讀量為3萬。
{ "list": [ { "ref_date": "2014-12-14", "msgid": "202457380_1", "title": "馬航丟畫記", "details": [ { "stat_date": "2014-12-14", "target_user": 261917, "int_page_read_user": 23676, "int_page_read_count": 25615, "ori_page_read_user": 29, "ori_page_read_count": 34, "share_user": 122, "share_count": 994, "add_to_fav_user": 1, "add_to_fav_count": 3, "int_page_from_session_read_user": 657283, "int_page_from_session_read_count": 753486, "int_page_from_hist_msg_read_user": 1669, "int_page_from_hist_msg_read_count": 1920, "int_page_from_feed_read_user": 367308, "int_page_from_feed_read_count": 433422, "int_page_from_friends_read_user": 15428, "int_page_from_friends_read_count": 19645, "int_page_from_other_read_user": 477, "int_page_from_other_read_count": 703, "feed_share_from_session_user": 63925, "feed_share_from_session_cnt": 66489, "feed_share_from_feed_user": 18249, "feed_share_from_feed_cnt": 19319, "feed_share_from_other_user": 731, "feed_share_from_other_cnt": 775 }, //后續(xù)還會列出所有stat_date符合“ref_date(群發(fā)的日期)到接口調(diào)用日期”(但最多只統(tǒng)計7天)的數(shù)據(jù) ] }, //后續(xù)還有ref_date(群發(fā)的日期)在begin_date和end_date之間的群發(fā)文章的數(shù)據(jù) ] }
正常情況下,獲取圖文統(tǒng)計數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下:
{ "list": [ { "ref_date": "2014-12-07", "int_page_read_user": 45524, "int_page_read_count": 48796, "ori_page_read_user": 11, "ori_page_read_count": 35, "share_user": 11, "share_count": 276, "add_to_fav_user": 5, "add_to_fav_count": 15 }, //后續(xù)還有ref_date在begin_date和end_date之間的數(shù)據(jù) ] }
正常情況下,獲取圖文統(tǒng)計分時數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下:
{ { "list": [ { "ref_date": "2015-07-14", "ref_hour": 0, "user_source": 0, "int_page_read_user": 6391, "int_page_read_count": 7836, "ori_page_read_user": 375, "ori_page_read_count": 440, "share_user": 2, "share_count": 2, "add_to_fav_user": 0, "add_to_fav_count": 0 }, { "ref_date": "2015-07-14", "ref_hour": 0, "user_source": 1, "int_page_read_user": 1, "int_page_read_count": 1, "ori_page_read_user": 0, "ori_page_read_count": 0, "share_user": 0, "share_count": 0, "add_to_fav_user": 0, "add_to_fav_count": 0 }, { "ref_date": "2015-07-14", "ref_hour": 0, "user_source": 2, "int_page_read_user": 3, "int_page_read_count": 3, "ori_page_read_user": 0, "ori_page_read_count": 0, "share_user": 0, "share_count": 0, "add_to_fav_user": 0, "add_to_fav_count": 0 }, { "ref_date": "2015-07-14", "ref_hour": 0, "user_source": 4, "int_page_read_user": 42, "int_page_read_count": 100, "ori_page_read_user": 0, "ori_page_read_count": 0, "share_user": 0, "share_count": 0, "add_to_fav_user": 0, "add_to_fav_count": 0 } //后續(xù)還有ref_hour逐漸增大,以列舉1天24小時的數(shù)據(jù) ] }
正常情況下,獲取圖文分享轉(zhuǎn)發(fā)數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下:
{ "list": [ { "ref_date": "2014-12-07", "share_scene": 1, "share_count": 207, "share_user": 11 }, { "ref_date": "2014-12-07", "share_scene": 5, "share_count": 23, "share_user": 11 } //后續(xù)還有不同share_scene(分享場景)的數(shù)據(jù),以及ref_date在begin_date和end_date之間的數(shù)據(jù) ] }
正常情況下,獲取圖文分享轉(zhuǎn)發(fā)每日數(shù)據(jù)接口的返回JSON數(shù)據(jù)包如下:
{ "list": [ { "ref_date": "2014-12-07", "ref_hour": 1200, "share_scene": 1, "share_count": 72, "share_user": 4 } //后續(xù)還有不同share_scene的數(shù)據(jù),以及ref_hour逐漸增大的數(shù)據(jù)。由于最大時間跨度為1,所以ref_date此處固定 ] }
返回參數(shù)說明
參數(shù) | 說明 |
---|---|
ref_date | 數(shù)據(jù)的日期,需在begin_date和end_date之間 |
ref_hour | 數(shù)據(jù)的小時,包括從000到2300,分別代表的是[000,100)到[2300,2400),即每日的第1小時和最后1小時 |
stat_date | 統(tǒng)計的日期,在getarticletotal接口中,ref_date指的是文章群發(fā)出日期, 而stat_date是數(shù)據(jù)統(tǒng)計日期 |
msgid | 請注意:這里的msgid實際上是由msgid(圖文消息id,這也就是群發(fā)接口調(diào)用后返回的msg_data_id)和index(消息次序索引)組成, 例如12003_3, 其中12003是msgid,即一次群發(fā)的消息的id; 3為index,假設該次群發(fā)的圖文消息共5個文章(因為可能為多圖文),3表示5個中的第3個 |
title | 圖文消息的標題 |
int_page_read_user | 圖文頁(點擊群發(fā)圖文卡片進入的頁面)的閱讀人數(shù) |
int_page_read_count | 圖文頁的閱讀次數(shù) |
ori_page_read_user | 原文頁(點擊圖文頁“閱讀原文”進入的頁面)的閱讀人數(shù),無原文頁時此處數(shù)據(jù)為0 |
ori_page_read_count | 原文頁的閱讀次數(shù) |
share_scene | 分享的場景 1代表好友轉(zhuǎn)發(fā) 2代表朋友圈 3代表騰訊微博 255代表其他 |
share_user | 分享的人數(shù) |
share_count | 分享的次數(shù) |
add_to_fav_user | 收藏的人數(shù) |
add_to_fav_count | 收藏的次數(shù) |
獲取圖文群發(fā)總數(shù)據(jù)接口中的詳細字段解釋 | intpagefromsessionreaduser 公眾號會話閱讀人數(shù) |
target_user | 送達人數(shù),一般約等于總粉絲數(shù)(需排除黑名單或其他異常情況下無法收到消息的粉絲) |
user_source | 在獲取圖文閱讀分時數(shù)據(jù)時才有該字段,代表用戶從哪里進入來閱讀該圖文。0:會話;1.好友;2.朋友圈;3.騰訊微博;4.歷史消息頁;5.其他 |
錯誤時微信會返回錯誤碼等信息,具體錯誤碼查詢,請見:全局返回碼說明
更多建議: