搖一搖周邊
搖一搖周邊是微信在線下的全新功能, 為線下商戶提供近距離連接用戶的能力, 并支持線下商戶向周邊用戶提供個(gè)性化營(yíng)銷、互動(dòng)及信息推薦等服務(wù)。
獲取實(shí)例
$shakearound = $officialAccount->shakeAround;
說明
特別提醒:
- 1、下述所有的接口調(diào)用的方法參數(shù)都要嚴(yán)格按照方法參數(shù)前的類型傳入相應(yīng)類型的實(shí)參,否則可能會(huì)得到非預(yù)期的結(jié)果。
- 2、涉及需要傳入設(shè)備
id
($deviceIdentifier
)的參數(shù)時(shí),該參數(shù)是一個(gè)以device_id
或包含uuid major minor
為key
的關(guān)聯(lián)數(shù)組。 - 3、涉及需要傳入設(shè)備
id
列表($deviceIdentifiers
)的參數(shù)時(shí),該參數(shù)是一個(gè)二維數(shù)組,第一層為索引類型,第二層為關(guān)聯(lián)類型($deviceIdentifier
)。
// 參數(shù) $deviceIdentifier 的實(shí)參形式:
['device_id' => 10097]
// 或
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12102,
]
// 參數(shù)$deviceIdentifiers的實(shí)參形式:
[
['device_id' => 10097],
['device_id' => 10098],
]
// 或
[
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12102,
],
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12103,
]
]
開通搖一搖周邊
提示:若不是做 公眾號(hào)第三方平臺(tái) 開發(fā),建議直接在微信管理后臺(tái)申請(qǐng)開通搖一搖周邊功能。
申請(qǐng)開通
申請(qǐng)開通搖一搖周邊功能。成功提交申請(qǐng)請(qǐng)求后,工作人員會(huì)在三個(gè)工作日內(nèi)完成審核。若審核不通過,可以重新提交申請(qǐng)請(qǐng)求。若是審核中,請(qǐng)耐心等待工作人員審核,在審核中狀態(tài)不能再提交申請(qǐng)請(qǐng)求。
方法:
$shakearound->register($data)
注意:
- 1、相關(guān)資質(zhì)文件的圖片是使用本頁(yè)面下方的素材管理的接口上傳的,切勿和另一個(gè) 素材管理 接口混淆。
- 2、行業(yè)代碼請(qǐng)務(wù)必傳入 字符串 類型的實(shí)參,否則以數(shù)字
0
開頭的行業(yè)代碼將會(huì)被當(dāng)成八進(jìn)制數(shù)處理(將轉(zhuǎn)換為十進(jìn)制數(shù)),這可能不是期望的。
查詢審核狀態(tài)
查詢已經(jīng)提交的開通搖一搖周邊功能申請(qǐng)的審核狀態(tài)。在申請(qǐng)?zhí)峤缓螅ぷ魅藛T會(huì)在三個(gè)工作日內(nèi)完成審核。
方法:
$shakearound->status()
獲取搖一搖的設(shè)備及用戶信息
獲取設(shè)備信息,包括 UUID、major、minor
,以及距離、openID
等信息。
方法:
$shakearound->user($ticket);
// 或者需要返回門店 poi_id
$shakearound->user($ticket, true);
設(shè)備管理
申請(qǐng)?jiān)O(shè)備 ID
申請(qǐng)配置設(shè)備所需的 UUID、Major、Minor
。申請(qǐng)成功后返回批次 ID
,可用返回的批次 ID
通過 “查詢?cè)O(shè)備ID申請(qǐng)狀態(tài)” 接口查詢目前申請(qǐng)的審核狀態(tài)。一個(gè)公眾賬號(hào)最多可申請(qǐng) 100000
個(gè)設(shè)備 ID
,如需申請(qǐng)的設(shè)備 ID
數(shù)超過最大限額,請(qǐng)郵件至 zhoubian@tencent.com
,郵件格式如下:
標(biāo)題:申請(qǐng)?zhí)嵘O(shè)備 ID
額度。
內(nèi)容:
- 1、公眾賬號(hào)名稱及
appid
(wx
開頭的字符串,在mp
平臺(tái)可查看) - 2、用途
- 3、預(yù)估需要多少設(shè)備
ID
方法:
$shakearound->device->apply($data);
查詢?cè)O(shè)備 ID 申請(qǐng)審核狀態(tài)
查詢?cè)O(shè)備 ID
申請(qǐng)的審核狀態(tài)。若單次申請(qǐng)的設(shè)備 ID
數(shù)量小于等于 500
個(gè),系統(tǒng)會(huì)進(jìn)行快速審核;若單次申請(qǐng)的設(shè)備 ID
數(shù)量大于 500
個(gè),則在三個(gè)工作日內(nèi)完成審核。
方法:
// $applyId 批次ID,申請(qǐng)?jiān)O(shè)備ID時(shí)所返回的批次ID
$shakearound->device->status($applyId);
編輯設(shè)備信息
僅能修改設(shè)備的備注信息。
方法:
$shakearound->device->update(array $deviceIdentifier, string $comment);
參數(shù):
-
array $deviceIdentifier
。設(shè)備id
,設(shè)備編號(hào)device_id
或UUID、major、minor
的關(guān)聯(lián)數(shù)組,若二者都填,則以設(shè)備編號(hào)為優(yōu)先 -
string $comment
。設(shè)備的備注信息,不超過15
個(gè)漢字或30
個(gè)英文字母
使用示例:
<?php
$result = $shakearound->device->update(['device_id' => 10011], 'test');
// 或
$result = $shakearound->device->update(['uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
], 'test');
// 返回結(jié)果:
/*
{
"data": {},
"errcode": 0,
"errmsg": "success."
}
*/
var_dump($result['errcode']); // 0
配置設(shè)備與門店/其他公眾賬號(hào)門店的關(guān)聯(lián)關(guān)系
關(guān)聯(lián)本公眾賬號(hào)門店時(shí),支持創(chuàng)建門店后直接關(guān)聯(lián)在設(shè)備上,無(wú)需為審核通過狀態(tài),搖周邊后臺(tái)自動(dòng)更新門店的最新信息和狀態(tài)。 關(guān)聯(lián)其他公眾賬號(hào)門店時(shí),支持設(shè)備關(guān)聯(lián)其他公眾賬號(hào)的門店,門店需為審核通過狀態(tài)。
因?yàn)榈谌介T店不歸屬本公眾賬號(hào),所以未保存到設(shè)備詳情中,查詢?cè)O(shè)備列表接口與獲取搖周邊的設(shè)備及用戶信息接口不會(huì)返回第三方門店。
方法:
$shakearound->device->bindPoi(array $deviceIdentifier, $poiId);
// 或者 綁定第三方
$shakearound->device->bindThirdPoi(array $deviceIdentifier, $poiId, $poiAppId);
參數(shù):
-
array $deviceIdentifier
。設(shè)備id
,設(shè)備編號(hào)device_id
或UUID、major、minor
的關(guān)聯(lián)數(shù)組,若二者都填,則以設(shè)備編號(hào)為優(yōu)先 -
int $poiId
。設(shè)備關(guān)聯(lián)的門店ID
,關(guān)聯(lián)門店后,在門店1KM
的范圍內(nèi)有優(yōu)先搖出信息的機(jī)會(huì)。當(dāng)值為0
時(shí),將清除設(shè)備已關(guān)聯(lián)的門店ID
-
string $poiAppId
。關(guān)聯(lián)門店所歸屬的公眾賬號(hào)的APPID
使用示例:
<?php
// 關(guān)聯(lián)本公眾賬號(hào)門店
$result = $shakearound->device->bindPoi(['device_id' => 10011], 1231);
// 或
$result = $shakearound->device->bindPoi([
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
], 1231);
// 關(guān)聯(lián)其他公眾賬號(hào)門店
// wxappid 為關(guān)聯(lián)門店所歸屬的公眾賬號(hào)的 APP ID
$result = $shakearound->device->bindThirdPoi(['device_id' => 10011], 1231, 'wxappid');
// 或
$result = $shakearound->device->bindThirdPoi([
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
], 1231, 'wxappid');
/* 返回結(jié)果
{
"data": {},
"errcode": 0,
"errmsg": "success."
}
*/
查詢?cè)O(shè)備列表
查詢已有的設(shè)備 ID
、UUID
、Major
、Minor
、激活狀態(tài)、備注信息、關(guān)聯(lián)門店、關(guān)聯(lián)頁(yè)面等信息。
根據(jù)設(shè)備 id 批量取回設(shè)備數(shù)據(jù)
方法:
$shakearound->device->listByIds(array $deviceIdentifiers);
參數(shù):
-
array $deviceIdentifiers
。設(shè)備 id 列表
使用示例:
<?php
$result = $shakearound->device->listByIds([
['device_id' => 10097],
['device_id' => 10098],
]);
// 或
$result = $shakearound->device->listByIds([
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12102,
],
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12103,
]
]);
/* 返回結(jié)果
{
"data": {
"devices": [
{
"comment": "",
"device_id": 10097,
"major": 10001,
"minor": 12102,
"status": 1,
"last_active_time":1437276018,
"poi_id": 0,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
},
{
"comment": "",
"device_id": 10098,
"major": 10001,
"minor": 12103,
"status": 1,
"last_active_time":1437276018,
"poi_appid":"wxe3813f5d8c546fc7"
"poi_id": 123,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
}
],
"total_count": 151
},
"errcode": 0,
"errmsg": "success."
}
*/
分頁(yè)批量取回設(shè)備數(shù)據(jù)
方法:
$shakearound->device->list(int $lastId, int $count);
參數(shù):
-
int $lastId
前一次查詢列表末尾的設(shè)備編號(hào)device_id
,第一次查詢lastId
為0
,$count
待查詢的設(shè)備數(shù)量,不能超過50
個(gè)
使用示例:
<?php
$result = $shakearound->device->list(10097, 3);
// 返回結(jié)果同上
根據(jù)申請(qǐng)時(shí)的批次 ID 分頁(yè)批量取回設(shè)備數(shù)據(jù)
方法:
$shakearound->device->listByApplyId(int $applyId, int $lastId, int $count)
參數(shù):
-
int $applyId
批次ID
,申請(qǐng)?jiān)O(shè)備ID
時(shí)所返回的批次ID
-
int $lastId
前一次查詢列表末尾的設(shè)備編號(hào)device_id
,第一次查詢lastId
為0
-
int $count
待查詢的設(shè)備數(shù)量,不能超過50
個(gè)
使用示例:
<?php
$result = $shakearound->device->listByApplyId(1231, 10097, 3);
// 返回結(jié)果同上
頁(yè)面管理
新增頁(yè)面
新增搖一搖出來(lái)的頁(yè)面信息,包括在搖一搖頁(yè)面出現(xiàn)的主標(biāo)題、副標(biāo)題、圖片和點(diǎn)擊進(jìn)去的超鏈接。其中,圖片必須為用素材管理接口上傳至微信側(cè)服務(wù)器后返回的鏈接。
注意:圖片是使用本頁(yè)面下方的素材管理的接口上傳的,切勿和另一個(gè) 素材管理 接口混淆。
方法:
$shakearound->page->create($data);
具體需要傳遞的參數(shù)請(qǐng)查看:微信開發(fā)官網(wǎng) https://developers.weixin.qq.com/doc/offiaccount/Shake_Nearby/Pages_management/Page_management.html
參數(shù):
-
$title
在搖一搖頁(yè)面展示的主標(biāo)題,不超過6
個(gè)漢字或12
個(gè)英文字母 -
$description
在搖一搖頁(yè)面展示的副標(biāo)題,不超過7
個(gè)漢字或14
個(gè)英文字母 -
$pageUrl
點(diǎn)擊進(jìn)去的超鏈接 -
$iconUrl
在搖一搖頁(yè)面展示的圖片。圖片需先上傳至微信側(cè)服務(wù)器,用 “素材管理-上傳圖片素材” 接口上傳圖片,返回的圖片URL
再配置在此處 -
$comment
可選,頁(yè)面的備注信息,不超過15
個(gè)漢字或30
個(gè)英文字母
使用示例:
<?php
$data = [
"title" => "主標(biāo)題",
"description" => "副標(biāo)題",
"page_url" => " https://zb.weixin.qq.com ",
"comment" => "數(shù)據(jù)示例",
"icon_url" => "http://3gimg.qq.com/shake_nearby/dy/icon "
];
$result = $shakearound->page->create($data);
/* 返回結(jié)果
{
"data": {
"page_id": 28840
}
"errcode": 0,
"errmsg": "success."
}
*/
編輯頁(yè)面信息
編輯搖一搖出來(lái)的頁(yè)面信息,包括在搖一搖頁(yè)面出現(xiàn)的主標(biāo)題、副標(biāo)題、圖片和點(diǎn)擊進(jìn)去的超鏈接。
方法:
$shakearound->page->update(int $pageId, array $data);
具體需要傳遞的參數(shù)請(qǐng)查看:微信開發(fā)官網(wǎng) https://developers.weixin.qq.com/doc/offiaccount/Shake_Nearby/Pages_management/Edit_page_information.html
參數(shù):
-
int $pageId
。搖周邊頁(yè)面唯一ID
-
array $data
需要更新的信息
使用示例:
<?php
$result = $shakearound->page->update(28840, [
'title' => '主標(biāo)題',
'description' => '副標(biāo)題',
// ...
]);
查詢頁(yè)面列表
查詢已有的頁(yè)面,包括在搖一搖頁(yè)面出現(xiàn)的主標(biāo)題、副標(biāo)題、圖片和點(diǎn)擊進(jìn)去的超鏈接。
根據(jù)頁(yè)面 id
批量取回頁(yè)面數(shù)據(jù)
方法:
$shakearound->page->listByIds(array $pageIds);
參數(shù):
-
array $pageIds
。頁(yè)面的id
列表,索引數(shù)組
使用示例:
<?php
$result = $shakearound->page->listByIds([28840, 28842]);
/* 返回結(jié)果
{
"data": {
"pages": [
{
"comment": "just for test",
"description": "test",
"icon_url": "https://www.baidu.com/img/bd_logo1",
"page_id": 28840,
"page_url": "http://xw.qq.com/testapi1",
"title": "測(cè)試1"
},
{
"comment": "just for test",
"description": "test",
"icon_url": "https://www.baidu.com/img/bd_logo1",
"page_id": 28842,
"page_url": "http://xw.qq.com/testapi2",
"title": "測(cè)試2"
}
],
"total_count": 2
},
"errcode": 0,
"errmsg": "success."
}
*/
分頁(yè)批量取回頁(yè)面數(shù)據(jù)
方法:
$shakearound->page->list(int $begin, int $count);
參數(shù):
-
int $begin
頁(yè)面列表的起始索引值 -
int $count
待查詢的頁(yè)面數(shù)量,不能超過50
個(gè)
使用示例:
<?php
$result = $shakearound->page->list(0,2);
// 返回結(jié)果同上
刪除頁(yè)面
刪除已有的頁(yè)面,包括在搖一搖頁(yè)面出現(xiàn)的主標(biāo)題、副標(biāo)題、圖片和點(diǎn)擊進(jìn)去的超鏈接。
注意: 只有頁(yè)面與設(shè)備沒有關(guān)聯(lián)關(guān)系時(shí),才可被刪除。
方法:
$shakearound->page->delete(int $pageId);
參數(shù):
-
int $pageId
。頁(yè)面的id
使用示例:
<?php
$result = $shakearound->page->delete(34567);
/* 返回結(jié)果
{
"data": {
},
"errcode": 0,
"errmsg": "success."
}
*/
素材管理
上傳在搖一搖功能中需使用到的圖片素材,素材保存在微信側(cè)服務(wù)器上。圖片格式限定為:jpg/jpeg/png/gif
。若圖片為在搖一搖頁(yè)面展示的圖片,則其素材為 icon
類型的圖片,圖片大小建議 120 px *120 px
,限制不超過 200 px *200 px
,圖片需為 正方形
。若圖片為申請(qǐng)開通搖一搖周邊功能需要上傳的資質(zhì)文件圖片,則其素材為 license
類型的圖片,圖片的文件大小不超過 2MB
,尺寸不限,形狀不限。
方法:
$shakearound->material->uploadImage(string $path [,string $type = 'icon'])
參數(shù):
-
string $path
。圖片所在路徑 -
string $type
。可選參數(shù),值為icon
或license
。
使用示例:
<?php
$result = $shakearound->material->uploadImage(__DIR__ . '/stubs/image.jpg');
/* 返回結(jié)果
{
"data": {
"pic_url": http://shp.qpic.cn/wechat_shakearound_pic/0/1428377032e9dd2797018cad79186e03e8c5aec8dc/120"
},
"errcode": 0,
"errmsg": "success."
}
*/
管理設(shè)備與頁(yè)面的關(guān)系
通過接口申請(qǐng)的設(shè)備 ID
,需先配置頁(yè)面,若未配置頁(yè)面,則搖不出頁(yè)面信息。
配置設(shè)備與頁(yè)面的關(guān)聯(lián)關(guān)系
配置完成后,在此設(shè)備的信號(hào)范圍內(nèi),即可搖出關(guān)聯(lián)的頁(yè)面信息。若設(shè)備配置多個(gè)頁(yè)面,則隨機(jī)出現(xiàn)頁(yè)面信息。一個(gè)設(shè)備最多可配置 30
個(gè)關(guān)聯(lián)頁(yè)面。
注意:
- 1、配置時(shí)傳入該設(shè)備需要關(guān)聯(lián)的頁(yè)面的
id
列表,該設(shè)備原有的關(guān)聯(lián)關(guān)系將被直接清除。 - 2、頁(yè)面的
id
列表允許為空(傳入空數(shù)組),當(dāng)頁(yè)面的id
列表為空時(shí)則會(huì)清除該設(shè)備的所有關(guān)聯(lián)關(guān)系。
方法:
$shakearound->relation->bindPages(array $deviceIdentifier, array $pageIds);
參數(shù):
-
array $deviceIdentifier
。設(shè)備id
,設(shè)備編號(hào)device_id
或UUID
、major
、minor
的關(guān)聯(lián)數(shù)組,若二者都填,則以設(shè)備編號(hào)為優(yōu)先 -
array $pageIds
。頁(yè)面的id
列表,索引數(shù)組
使用示例:
<?php
$result = $shakearound->relation->bindPages(['device_id' => 10011], [12345, 23456, 334567]);
// 或
$result = $shakearound->relation->bindPages([
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
], [12345, 23456, 334567]);
/* 返回結(jié)果
{
"data": {
},
"errcode": 0,
"errmsg": "success."
}
*/
var_dump($result->errcode); // 0
查詢?cè)O(shè)備與頁(yè)面的關(guān)聯(lián)關(guān)系
查詢指定設(shè)備所關(guān)聯(lián)的頁(yè)面
根據(jù)設(shè)備 ID
或完整的 UUID
、Major
、Minor
查詢?cè)撛O(shè)備所關(guān)聯(lián)的所有頁(yè)面信息
方法:
$shakearound->relation->listByDeviceId(array $deviceIdentifier);
注意:該方法默認(rèn)對(duì)返回的數(shù)據(jù)進(jìn)行處理后返回一個(gè)包含頁(yè)面
id
的索引數(shù)組。
參數(shù):
-
array $deviceIdentifier
。設(shè)備id
,設(shè)備編號(hào)device_id
或UUID
、Major
、Minor
的關(guān)聯(lián)數(shù)組,若二者都填,則以設(shè)備編號(hào)為優(yōu)先
使用示例:
<?php
$result = $shakearound->relation->listByDeviceId(['device_id' => 10011]);
// 或
$result = $shakearound->relation->listByDeviceId([
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
]);
// 返回結(jié)果
var_dump($result); // [50054,50055]
查詢指定頁(yè)面所關(guān)聯(lián)的設(shè)備
指定頁(yè)面 ID
分頁(yè)查詢?cè)擁?yè)面所關(guān)聯(lián)的所有的設(shè)備信息
方法:
$shakearound->relation->listByPageId(int $pageId, int $begin, int $count);
參數(shù):
-
int $pageId
。指定的頁(yè)面id
-
int $begin
。關(guān)聯(lián)關(guān)系列表的起始索引值 -
int $count
。待查詢的關(guān)聯(lián)關(guān)系數(shù)量,不能超過50
個(gè)
使用示例:
<?php
$result = $shakearound->relation->listByPageId(50054, 0, 3);
/* 返回結(jié)果
{
"data": {
"relations": [{
"device_id": 797994,
"major": 10001,
"minor": 10023,
"page_id": 50054,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
},
{
"device_id": 797995,
"major": 10001,
"minor": 10024,
"page_id": 50054,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
}
],
"total_count": 2
},
"errcode": 0,
"errmsg": "success."
}
*/
搖一搖數(shù)據(jù)統(tǒng)計(jì)
此接口無(wú)法獲取當(dāng)天的數(shù)據(jù),最早只能獲取前一天的數(shù)據(jù)。由于系統(tǒng)在凌晨處理前一天的數(shù)據(jù),太早調(diào)用此接口可能獲取不到數(shù)據(jù),建議在早上
8:00
之后調(diào)用此接口。
以設(shè)備為維度的數(shù)據(jù)統(tǒng)計(jì)
查詢單個(gè)設(shè)備進(jìn)行搖周邊操作的人數(shù)、次數(shù),點(diǎn)擊搖周邊消息的人數(shù)、次數(shù)。
注意:查詢的最長(zhǎng)時(shí)間跨度為 30 天。只能查詢最近 90 天的數(shù)據(jù)。
方法:
$shakearound->stats->deviceSummary(array $deviceIdentifier, int $beginDate, int $endDate);
參數(shù):
-
array $deviceIdentifier
設(shè)備id
,設(shè)備編號(hào)device_id
或UUID
、major
、minor
的關(guān)聯(lián)數(shù)組,若二者都填,則以設(shè)備編號(hào)為優(yōu)先 -
int $beginDate
起始日期時(shí)間戳,最長(zhǎng)時(shí)間跨度為30
天,單位為秒 -
int $endDate
結(jié)束日期時(shí)間戳,最長(zhǎng)時(shí)間跨度為30
天,單位為秒
使用示例:
<?php
$result = $shakearound->stats->deviceSummary(['device_id' => 10011], 1425052800, 1425139200);
// 或
$result = $shakearound->stats->deviceSummary([
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 1002,
'minor' => 1223,
], 1425052800, 1425139200);
/* 返回結(jié)果
{
"data": [{
"click_pv": 0,
"click_uv": 0,
"ftime": 1425052800,
"shake_pv": 0,
"shake_uv": 0
},
{
"click_pv": 0,
"click_uv": 0,
"ftime": 1425139200,
"shake_pv": 0,
"shake_uv": 0
}
],
"errcode": 0,
"errmsg": "success."
}
*/
批量查詢?cè)O(shè)備統(tǒng)計(jì)數(shù)據(jù)
查詢指定時(shí)間商家?guī)ぬ?hào)下的每個(gè)設(shè)備進(jìn)行搖周邊操作的人數(shù)、次數(shù),點(diǎn)擊搖周邊消息的人數(shù)、次數(shù)。
只能查詢最近
90
天內(nèi)的數(shù)據(jù),且一次只能查詢一天。注意:對(duì)于搖周邊人數(shù)、搖周邊次數(shù)、點(diǎn)擊搖周邊消息的人數(shù)、點(diǎn)擊搖周邊消息的次數(shù)都為0
的設(shè)備,不在結(jié)果列表中返回。
方法:
$shakearound->stats->devicesSummary(int $timestamp, int $pageIndex);
參數(shù):
-
int $timestamp
。指定查詢?nèi)掌跁r(shí)間戳,單位為秒 -
int $pageIndex
。指定查詢的結(jié)果頁(yè)序號(hào),返回結(jié)果按搖周邊人數(shù)降序排序,每50
條記錄為一頁(yè)
使用示例:
<?php
$result = $shakearound->stats->devicesSummary(1435075200, 1);
/* 返回結(jié)果
{
"data": {
"devices": [
{
"device_id": 10097,
"major": 10001,
"minor": 12102,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
"shake_pv": 1
"shake_uv": 2
"click_pv": 3
"click_uv": 4
},
{
"device_id": 10098,
"major": 10001,
"minor": 12103,
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825"
"shake_pv": 1
"shake_uv": 2
"click_pv": 3
"click_uv": 4
}
],
},
"date":1435075200
"total_count": 151
"page_index":1
"errcode": 0,
"errmsg": "success."
}
*/
以頁(yè)面為維度的數(shù)據(jù)統(tǒng)計(jì)
查詢單個(gè)頁(yè)面通過搖周邊搖出來(lái)的人數(shù)、次數(shù),點(diǎn)擊搖周邊頁(yè)面的人數(shù)、次數(shù)
注意:查詢的最長(zhǎng)時(shí)間跨度為
30
天。只能查詢最近90
天的數(shù)據(jù)。
方法:
$shakearound->stats->pageSummary(int $pageId, int $beginDate, int $endDate);
參數(shù):
-
int $pageId
。指定頁(yè)面的頁(yè)面ID
-
int $beginDate
。起始日期時(shí)間戳,最長(zhǎng)時(shí)間跨度為30
天,單位為秒 -
int $endDate
。結(jié)束日期時(shí)間戳,最長(zhǎng)時(shí)間跨度為30
天,單位為秒
使用示例:
<?php
$result = $shakearound->stats->pageSummary(12345, 1425052800, 1425139200);
/* 返回結(jié)果
{
"data": [
{
"click_pv": 0,
"click_uv": 0,
"ftime": 1425052800,
"shake_pv": 0,
"shake_uv": 0
},
{
"click_pv": 0,
"click_uv": 0,
"ftime": 1425139200,
"shake_pv": 0,
"shake_uv": 0
}
],
"errcode": 0,
"errmsg": "success."
}
*/
批量查詢頁(yè)面統(tǒng)計(jì)數(shù)據(jù)
查詢指定時(shí)間商家?guī)ぬ?hào)下的每個(gè)頁(yè)面進(jìn)行搖周邊操作的人數(shù)、次數(shù),點(diǎn)擊搖周邊消息的人數(shù)、次數(shù)。
注意:對(duì)于搖周邊人數(shù)、搖周邊次數(shù)、點(diǎn)擊搖周邊消息的人數(shù)、點(diǎn)擊搖周邊消息的次數(shù)都為
0
的頁(yè)面,不在結(jié)果列表中返回。
方法:
$shakearound->stats->pagesSummary(int $timestamp, int $pageIndex);
參數(shù):
-
int $timestamp
。指定查詢?nèi)掌跁r(shí)間戳,單位為秒 -
int $pageIndex
。指定查詢的結(jié)果頁(yè)序號(hào),返回結(jié)果按搖周邊人數(shù)降序排序,每50
條記錄為一頁(yè)
示例:
<?php
$result = $shakearound->stats->pagesSummary(1435075200, 1);
/* 返回結(jié)果
{
"data": {
"pages": [
{
"page_id": 1234 "click_pv": 1,
"click_uv": 3,
"shake_pv": 0,
"shake_uv": 0
},
{
"page_id": 5678 "click_pv": 1,
"click_uv": 2,
"shake_pv": 0,
"shake_uv": 0
},
],
},
"date": 1435075200,
"total_count": 151,
"page_index": 1,
"errcode": 0,
"errmsg": "success."
}
*/
設(shè)備分組管理
調(diào)用 H5
頁(yè)面獲取設(shè)備信息 JS API
接口,需要先把設(shè)備分組,微信客戶端只會(huì)返回已在分組中的設(shè)備信息。
新增分組
新建設(shè)備分組,每個(gè)帳號(hào)下最多只有 1000
個(gè)分組。
方法:
$shakearound->group->create(string $name);
參數(shù):
-
string $name
。分組名稱,不超過100
漢字或200
個(gè)英文字母
使用示例:
<?php
$result = $shakearound->group->create('test');
/* 返回結(jié)果
{
"data": {
"group_id": 123,
"group_name": "test"
},
"errcode": 0,
"errmsg": "success."
}
*/
編輯分組信息
編輯設(shè)備分組信息,目前只能修改分組名。
方法:
$shakearound->group->update(int $groupId, string $name);
參數(shù):
-
int $groupId
。分組唯一標(biāo)識(shí),全局唯一 -
string $name
。分組名稱,不超過100
漢字或200
個(gè)英文字母
使用示例:
<?php
$result = $shakearound->group->update(123, 'newName');
/* 返回結(jié)果
{
"data": {},
"errcode": 0,
"errmsg": "success."
}
*/
刪除分組
刪除設(shè)備分組,若分組中還存在設(shè)備,則不能刪除成功。需把設(shè)備移除以后,才能刪除。
在執(zhí)行刪除前,最好先使用
get
方法查詢分組詳情,若分組內(nèi)有設(shè)備,先使用removeDevices
方法移除。
方法:
$shakearound->group->delete(int $groupId);
參數(shù):
-
int $groupId
。分組唯一標(biāo)識(shí),全局唯一
使用示例:
<?php
$result = $shakearound->group->delete(123);
/* 返回結(jié)果
{
"data": {},
"errcode": 0,
"errmsg": "success."
}
*/
查詢分組列表
查詢賬號(hào)下所有的分組。
方法:
$shakearound->group->list(int $begin, int $count);
參數(shù):
-
int $begin
。分組列表的起始索引值 -
int $count
。待查詢的分組數(shù)量,不能超過1000
個(gè)
使用示例:
<?php
$result = $shakearound->group->list(0, 2);
/* 返回結(jié)果
{
"data": {
"groups":[
{
"group_id" : 123,
"group_name" : "test1"
},
{
"group_id" : 124,
"group_name" : "test2"
}
],
"total_count": 100
},
"errcode": 0,
"errmsg": "success."
}
*/
查詢分組詳情
查詢分組詳情,包括分組名、分組 id
、分組里的設(shè)備列表。
方法:
$shakearound->group->get(int $groupId, int $begin, int $count);
參數(shù):
-
int $groupId
。分組唯一標(biāo)識(shí),全局唯一 -
int $begin
。分組里設(shè)備的起始索引值 -
int $count
。待查詢的分組里設(shè)備的數(shù)量,不能超過1000
個(gè)
使用示例:
<?php
$result = $shakearound->group->get(123, 0, 2);
/* 返回結(jié)果
{
"data": {
"group_id" : 123,
"group_name" : "test",
"total_count": 100,
"devices" :[
{
"device_id" : 123456,
"uuid" : "FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major" : 10001,
"minor" : 10001,
"comment" : "test device1",
"poi_id" : 12345,
},
{
"device_id" : 123457,
"uuid" : "FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major" : 10001,
"minor" : 10002,
"comment" : "test device2",
"poi_id" : 12345,
}
]
},
"errcode": 0,
"errmsg": "success."
}
*/
添加設(shè)備到分組
添加設(shè)備到分組,每個(gè)分組能夠持有的設(shè)備上限為 10000
,并且每次添加操作的添加上限為 1000
。
只有在搖周邊申請(qǐng)的設(shè)備才能添加到分組。
方法:
$shakearound->group->addDevices(int $groupId, array $deviceIdentifiers);
參數(shù):
-
int $groupId
。分組唯一標(biāo)識(shí),全局唯一 -
array $deviceIdentifiers
。設(shè)備id
列表
使用示例:
<?php
$result = $shakearound->group->addDevices(123, [
['device_id' => 10097],
['device_id' => 10098],
]);
// 或
$result = $shakearound->group->addDevices(123, [
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12102,
],
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12103,
]
]);
/* 返回結(jié)果
{
"data": {},
"errcode": 0,
"errmsg": "success."
}
*/
從分組中移除設(shè)備
從分組中移除設(shè)備,每次刪除操作的上限為 1000。
方法:
$shakearound->group->removeDevices(int $groupId, array $deviceIdentifiers);
參數(shù):
-
int $groupId
。分組唯一標(biāo)識(shí),全局唯一 -
int $deviceIdentifiers
。設(shè)備id
列表
使用示例:
<?php
$result = $shakearound->group->removeDevices(123, [
['device_id' => 10097],
['device_id' => 10098],
]);
// 或
$result = $shakearound->group->removeDevices(123, [
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12102,
],
[
'uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',
'major' => 10001,
'minor' => 12103,
]
]);
搖一搖事件通知
用戶進(jìn)入搖一搖界面,在 “周邊” 頁(yè)卡下?lián)u一搖時(shí),微信會(huì)把這個(gè)事件推送到開發(fā)者填寫的 URL
(登錄公眾平臺(tái)進(jìn)入開發(fā)者中心設(shè)置)。推送內(nèi)容包含搖一搖時(shí) “周邊” 頁(yè)卡展示出來(lái)的頁(yè)面所對(duì)應(yīng)的設(shè)備信息,以及附近最多五個(gè)屬于該公眾賬號(hào)的設(shè)備的信息。當(dāng)搖出列表時(shí),此事件不推送。
搖一搖事件的事件類型:
ShakearoundUserShake
關(guān)于事件的處理請(qǐng)移步:請(qǐng)參考:服務(wù)端,關(guān)于事件類型請(qǐng)參考微信官方文檔:http://mp.weixin.qq.com/wiki/