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