wechat-shake_around 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9dc3f613987fad317ff5364ab73cf17a30d38d81
4
- data.tar.gz: 6dcb7d96aded2a179907d9321d389239b3b03231
3
+ metadata.gz: ade87fe6c471bbbcec03f1ae4cb4543234dc88ff
4
+ data.tar.gz: 77271b546768163e25bdad157f387d334787f2d0
5
5
  SHA512:
6
- metadata.gz: 6f577e33cd8c61dd5b65fa6ebe81d1c2b6b59895fda18e8f900cb7561c760ec1795b96bf0180a435cc824190f60285321eacdbcd5064cf89dc0804609c85eaa8
7
- data.tar.gz: cfde83ebc7910a1cb5acfefa2c302d225dcf26c3ac7812718f3d35fb93faa74ad3b9e41f0f95aad9a207b4211318248a069a26cd98ce9173b65389c60fdae8c6
6
+ metadata.gz: c1d06babbf659b2c1fbe8a102266ff33cec371d62fe44e3c575af3557b2dc73c829e521cdc20e965318c70470d94736b4d88b1f5c0491b9519f41c7b5a9d98d0
7
+ data.tar.gz: 39bd730d7716ce4955f762f758330eb24d238ea8e7e1103bbb33dbe38ad9849eabe59ae2fdd65782dd4c1a393b0b85dc5fd9ba3528ece42abc6e7eaa5fbecfb7
data/CHANGELOG.md CHANGED
@@ -30,4 +30,7 @@
30
30
  1. Apply wrapper class
31
31
 
32
32
  ## v0.8
33
- 2. Beacon PoI Relation wrapper class
33
+ 1. Beacon PoI Relation wrapper class
34
+
35
+ ## v0.9
36
+ 1. Registration wrapper class
data/README.md CHANGED
@@ -24,10 +24,44 @@ Or install it yourself as:
24
24
 
25
25
  ## Usage
26
26
 
27
- [Get Beacon & PoI & Page & Shaker 获取摇周边的设备及用户信息](http://mp.weixin.qq.com/wiki/3/34904a5db3d0ec7bb5306335b8da1faf.html)
27
+
28
+
29
+ ### Registration 注册开通摇周边
30
+ [Create Registration 申请开通功能](http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E7.94.B3.E8.AF.B7.E5.BC.80.E9.80.9A.E5.8A.9F.E8.83.BD)
31
+ 成功提交申请请求后,工作人员会在三个工作日内完成审核。
32
+ 若审核不通过,可以重新提交申请请求。
33
+ 若是审核中,请耐心等待工作人员审核,在审核中状态不能再提交申请请求。
34
+ industry_id参考[所需资质文件](http://3gimg.qq.com/shake_nearby/Qualificationdocuments.html)
28
35
  ```ruby
29
- response = ::Wechat::ShakeAround::Shaking.load access_token, params[:ticket]
30
- if response.present? && 0==response['errcode']
36
+ response = Wechat::ShakeAround::Registration.create(access_token, name, phone_number, email, industry_id, qualification_links, apply_reason)
37
+ if response.present? && 0==response['errcode'].to_i
38
+ # Do something more...
39
+ else
40
+ # Show response['errmsg']
41
+ end
42
+ ```
43
+
44
+ [Check Registration Audit Status 查询审核状态](http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E6.9F.A5.E8.AF.A2.E5.AE.A1.E6.A0.B8.E7.8A.B6.E6.80.81)
45
+ ```ruby
46
+ response = Wechat::ShakeAround::Registration.load(access_token)
47
+ if response.present? && 0==response['errcode'].to_i
48
+ status = response['data']
49
+ apply_time = status['apply_time'] # 提交申请的时间戳
50
+ audit_comment = status['audit_comment'] # 审核备注,包括审核不通过的原因
51
+ audit_status = status['audit_status'] # 0:审核未通过、1:审核中、2:审核已通过
52
+ audit_time = status['audit_time'] # 确定审核结果的时间戳;若状态为审核中,则该时间值为0
53
+ else
54
+ # Show response['errmsg']
55
+ end
56
+ ```
57
+
58
+
59
+
60
+ ### Handle the Callback of Shaking 处理摇周边行为的回调
61
+ [Get Beacon & PoI & Page & Shaker 获取摇周边的设备及用户信息](http://mp.weixin.qq.com/wiki/3/34904a5db3d0ec7bb5306335b8da1faf.html)
62
+ ```ruby
63
+ response = Wechat::ShakeAround::Shaking.load access_token, params[:ticket]
64
+ if response.present? && 0==response['errcode'].to_i
31
65
  page_id = response['page_id']
32
66
  open_id = response['openid']
33
67
  poi_id = response['poi_id']
@@ -36,11 +70,400 @@ if response.present? && 0==response['errcode']
36
70
  beacon_uuid = beacon['uuid']
37
71
  beacon_major = beacon['major']
38
72
  beacon_minor = beacon['minor']
73
+ else
74
+ # Show response['errmsg']
75
+ end
76
+ ```
77
+
78
+
79
+
80
+ ### Apply the Device IDs 申请Beacon设备ID
81
+ [Apply Beacon Device IDs 申请设备ID](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E7.94.B3.E8.AF.B7.E8.AE.BE.E5.A4.87ID)
82
+ ```ruby
83
+ quantity = 500
84
+ reason = 'Test Purpose'
85
+ comment = 'Some Mall' # optional
86
+ poi_id = nil # optional Some PoI ID
87
+ response = Wechat::ShakeAround::Apply.create access_token, quantity, apply_reason, comment, poi_id
88
+ if response.present? && 0==response['errcode'].to_i
89
+ apply_id = response['data']['apply_id']
90
+ audit_status = response['data']['audit_status']
91
+ # 0:审核未通过、1:审核中、2:审核已通过
92
+ audit_comment = response['data']['audit_comment']
93
+ else
94
+ # Show response['errmsg']
95
+ end
96
+ ```
97
+
98
+ [Query the Status of Application of Beacon Device IDs 查询设备ID申请审核状态](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87ID.E7.94.B3.E8.AF.B7.E5.AE.A1.E6.A0.B8.E7.8A.B6.E6.80.81)
99
+ ```ruby
100
+ response = Wechat::ShakeAround::Apply.load access_token, apply_id
101
+ if response.present? && 0==response['errcode'].to_i
102
+ apply_time = response['data']['apply_time']
103
+ # 提交申请的时间戳
104
+ audit_status = response['data']['audit_status']
105
+ # 0:审核未通过、1:审核中、2:审核已通过
106
+ audit_comment = response['data']['audit_comment']
107
+ audit_time = response['data']['audit_time']
108
+ # 确定审核结果的时间戳,若状态为审核中,则该时间值为0
109
+ else
110
+ # Show response['errmsg']
111
+ end
112
+ ```
113
+
114
+
115
+
116
+ ### Manage the Beacon Devices 管理Beacon设备信息
117
+ [Get Beacon information by Batch 查询设备列表](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E5.88.97.E8.A1.A8)
118
+ ```ruby
119
+ offset = 40
120
+ limit = 20
121
+ apply_id = nil
122
+ response = Wechat::ShakeAround::Beacon.index access_token, offset, limit, apply_id
123
+ if response.present? && 0==response['errcode'].to_i
124
+ total_count = response['data']['total_count']
125
+ response['data']['devices'].each do |device|
126
+ device_id = device['device_id']
127
+ uuid = device['uuid']
128
+ major = device['major']
129
+ minor = device['minor']
130
+ status = device['status']
131
+ # 0:未激活,1:已激活
132
+ last_active_time = device['last_active_time']
133
+ # 设备最近一次被摇到的日期(最早只能获取前一天的数据);新申请的设备该字段值为0
134
+ poi_id = device['poi_id']
135
+ # 设备关联的门店ID,关联门店后,在门店1KM的范围内有优先摇出信息的机会
136
+ end
137
+ else
138
+ # Show response['errmsg']
139
+ end
140
+ ```
141
+
142
+ [Get Beacon information 查询设备](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E5.88.97.E8.A1.A8)
143
+ device_id 是整数或者Hash结构:{ uuid: UUID, major: MAJOR, minor: MINOR }。
144
+ ```ruby
145
+ response = Wechat::ShakeAround::Beacon.load access_token, device_id
146
+ if response.present? && 0==response['errcode'].to_i
147
+ total_count = response['data']['total_count']
148
+ response['data']['devices'].each do |device|
149
+ device_id = device['device_id']
150
+ uuid = device['uuid']
151
+ major = device['major']
152
+ minor = device['minor']
153
+ status = device['status']
154
+ # 0:未激活,1:已激活
155
+ last_active_time = device['last_active_time']
156
+ # 设备最近一次被摇到的日期(最早只能获取前一天的数据);新申请的设备该字段值为0
157
+ poi_id = device['poi_id']
158
+ # 设备关联的门店ID,关联门店后,在门店1KM的范围内有优先摇出信息的机会
159
+ end
160
+ else
161
+ # Show response['errmsg']
162
+ end
163
+ ```
164
+
165
+ [Update Beacon information 编辑设备信息](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E7.BC.96.E8.BE.91.E8.AE.BE.E5.A4.87.E4.BF.A1.E6.81.AF)
166
+ device_id 是整数或者Hash结构:{ uuid: UUID, major: MAJOR, minor: MINOR }。
167
+ ```ruby
168
+ response = Wechat::ShakeAround::Beacon.update access_token, device_id, comment
169
+ if response.present? && 0==response['errcode'].to_i
170
+ # Do something more...
171
+ else
172
+ # Show response['errmsg']
173
+ end
174
+ ```
175
+
176
+
177
+
178
+ ### Manage the Beacon Device Groups 管理Beacon设备分组
179
+ [Get Groups by Batch 查询分组列表](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.9F.A5.E8.AF.A2.E5.88.86.E7.BB.84.E5.88.97.E8.A1.A8)
180
+ ```ruby
181
+ response = Wechat::ShakeAround::Group.index access_token, offset, limit
182
+ if response.present? && 0==response['errcode'].to_i
183
+ total_count = response['data']['total_count']
184
+ response['data']['groups'].each do |group|
185
+ group_id = group['group_id']
186
+ group_name = group['group_name']
187
+ end
188
+ else
189
+ # Show response['errmsg']
190
+ end
191
+ ```
192
+
193
+ [Get Group per ID 查询分组详情](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.9F.A5.E8.AF.A2.E5.88.86.E7.BB.84.E8.AF.A6.E6.83.85)
194
+ ```ruby
195
+ response = Wechat::ShakeAround::Group.load access_token, group_id, offset, limit
196
+ if response.present? && 0==response['errcode'].to_i
197
+ group_id = response['data']['group_id']
198
+ group_name = response['data']['group_name']
199
+ total_count = response['data']['total_count']
200
+ response['data']['devices'].each do |device|
201
+ device_id = device['device_id']
202
+ uuid = device['uuid']
203
+ major_id = device['major_id']
204
+ minor_id = device['minor_id']
205
+ comment = device['comment']
206
+ poi_id = device['poi_id']
207
+ end
208
+ else
209
+ # Show response['errmsg']
210
+ end
211
+ ```
212
+
213
+ [Delete Group 删除分组](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E5.88.A0.E9.99.A4.E5.88.86.E7.BB.84)
214
+ ```ruby
215
+ response = Wechat::ShakeAround::Group.destroy access_token, group_id
216
+ if response.present? && 0==response['errcode'].to_i
217
+ # Do something more
218
+ else
219
+ # Show response['errmsg']
220
+ end
221
+ ```
222
+
223
+ [Update Group 编辑分组信息](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E7.BC.96.E8.BE.91.E5.88.86.E7.BB.84.E4.BF.A1.E6.81.AF)
224
+ ```ruby
225
+ response = Wechat::ShakeAround::Group.update access_token, group_id, name
226
+ if response.present? && 0==response['errcode'].to_i
227
+ # Do something more
228
+ else
229
+ # Show response['errmsg']
230
+ end
231
+ ```
232
+
233
+ [Create Group 新增分组](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.96.B0.E5.A2.9E.E5.88.86.E7.BB.84)
234
+ ```ruby
235
+ response = Wechat::ShakeAround::Group.create access_token, name
236
+ if response.present? && 0==response['errcode'].to_i
237
+ group_id = response['data']['group_id']
238
+ else
239
+ # Show response['errmsg']
240
+ end
241
+ ```
242
+
243
+
244
+
245
+ ### Manage Beacon Device Group Relations 管理Beacon设备分组关系
246
+ [Create Device Group Relation 新增设备分组关联](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.B7.BB.E5.8A.A0.E8.AE.BE.E5.A4.87.E5.88.B0.E5.88.86.E7.BB.84)
247
+ ```ruby
248
+ response = Wechat::ShakeAround::DeviceGroupRelation.create access_token, device_id, group_id
249
+ if response.present? && 0==response['errcode'].to_i
250
+ # Do something more
251
+ else
252
+ # Show response['errmsg']
253
+ end
254
+ ```
255
+
256
+ [Destroy Device Group Relation 删除设备分组关联](http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E4.BB.8E.E5.88.86.E7.BB.84.E4.B8.AD.E7.A7.BB.E9.99.A4.E8.AE.BE.E5.A4.87)
257
+ ```ruby
258
+ response = Wechat::ShakeAround::DeviceGroupRelation.destroy access_token, device_id, group_id
259
+ if response.present? && 0==response['errcode'].to_i
260
+ # Do something more
261
+ else
262
+ # Show response['errmsg']
39
263
  end
264
+ ```
265
+
40
266
 
41
267
 
268
+ ### Manage Pages 管理页面
269
+ [Get Pages by Batch 获取页面列表](http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E5.88.97.E8.A1.A8)
270
+ ```ruby
271
+ response = Wechat::ShakeAround::Page.index access_token, offset, limit
272
+ if response.present? && 0==response['errcode'].to_i
273
+ total_count = response['data']['total_count']
274
+ response['data']['pages'].each do |page|
275
+ comment = page['comment'] # 页面的备注信息
276
+ description = page['description'] # 在摇一摇页面展示的副标题
277
+ icon_url = page['icon_url'] # 在摇一摇页面展示的图片
278
+ page_id = page['page_id'] # 摇周边页面唯一ID
279
+ page_url = page['page_url'] # 跳转链接
280
+ title = page['title'] # 在摇一摇页面展示的主标题
281
+ end
282
+ else
283
+ # Show response['errmsg']
284
+ end
285
+ ```
286
+
287
+ [Get Page per ID 获取页面详情](http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E5.88.97.E8.A1.A8)
288
+ ```ruby
289
+ response = Wechat::ShakeAround::Page.load access_token, page_id
290
+ if response.present? && 0==response['errcode'].to_i
291
+ total_count = response['data']['total_count']
292
+ page = response['data']['pages'][0]
293
+ comment = page['comment'] # 页面的备注信息
294
+ description = page['description'] # 在摇一摇页面展示的副标题
295
+ icon_url = page['icon_url'] # 在摇一摇页面展示的图片
296
+ page_id = page['page_id'] # 摇周边页面唯一ID
297
+ page_url = page['page_url'] # 跳转链接
298
+ title = page['title'] # 在摇一摇页面展示的主标题
299
+ else
300
+ # Show response['errmsg']
301
+ end
302
+ ```
303
+
304
+ [Destroy Page per ID 删除页面](http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E5.88.A0.E9.99.A4.E9.A1.B5.E9.9D.A2)
305
+ ```ruby
306
+ response = Wechat::ShakeAround::Page.destroy access_token, page_id
307
+ if response.present? && 0==response['errcode'].to_i
308
+ # Do something more
309
+ else
310
+ # Show response['errmsg']
311
+ end
312
+ ```
313
+
314
+ [Update Page per ID 编辑页面信息](http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E7.BC.96.E8.BE.91.E9.A1.B5.E9.9D.A2.E4.BF.A1.E6.81.AF)
315
+ ```ruby
316
+ response = Wechat::ShakeAround::Page.update access_token, page_id, title, description, comment, page_link, icon_link
317
+ if response.present? && 0==response['errcode'].to_i
318
+ # Do something more
319
+ else
320
+ # Show response['errmsg']
321
+ end
322
+ ```
323
+
324
+ [Create Page 新增页面](http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.96.B0.E5.A2.9E.E9.A1.B5.E9.9D.A2)
325
+ ```ruby
326
+ response = Wechat::ShakeAround::Page.create access_token, title, description, comment, page_link, icon_link
327
+ if response.present? && 0==response['errcode'].to_i
328
+ page_id = response['data']['page_id']
329
+ else
330
+ # Show response['errmsg']
331
+ end
332
+ ```
333
+
334
+
335
+
336
+ ### Manage Beacon Device Page Relations 管理Beacon设备页面关系
337
+ [Destroy Beacon Page Relation 删除Beacon页面关系](http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html)
338
+ device_id 可以是整数或者Hash结构:{ uuid: UUID, major: MAJOR, minor: MINOR }。
339
+ ```ruby
340
+ response = Wechat::ShakeAround::BeaconPageRelation.destroy access_token, device_id, page_id
341
+ if response.present? && 0==response['errcode'].to_i
342
+ # Do something more
343
+ else
344
+ # Show response['errmsg']
345
+ end
346
+ ```
347
+
348
+ [Create Beacon Page Relation 创建Beacon页面关系](http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html)
349
+ device_id 可以是整数或者Hash结构:{ uuid: UUID, major: MAJOR, minor: MINOR }。
350
+ ```ruby
351
+ response = Wechat::ShakeAround::BeaconPageRelation.create access_token, device_id, page_id
352
+ if response.present? && 0==response['errcode'].to_i
353
+ # Do something more
354
+ else
355
+ # Show response['errmsg']
356
+ end
42
357
  ```
43
358
 
359
+
360
+
361
+ ### Manage Beacon PoI Relation 管理Beacon场地关系
362
+ [Create Beacon PoI Relation 创建Beacon场地关系](http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E9.85.8D.E7.BD.AE.E8.AE.BE.E5.A4.87.E4.B8.8E.E9.97.A8.E5.BA.97.E7.9A.84.E5.85.B3.E8.81.94.E5.85.B3.E7.B3.BB)
363
+ device_id 可以是整数或者Hash结构:{ uuid: UUID, major: MAJOR, minor: MINOR }。
364
+ ```ruby
365
+ response = Wechat::ShakeAround::BeaconPoiRelation.create access_token, device_id, poi_id
366
+ if response.present? && 0==response['errcode'].to_i
367
+ # Do something more
368
+ else
369
+ # Show response['errmsg']
370
+ end
371
+ ```
372
+
373
+
374
+
375
+ ### Beacon Device Report Beacon设备报表
376
+ [Query Beacon Device Stats. Data by Batch 批量查询设备统计数据接口](http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E6.89.B9.E9.87.8F.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E7.BB.9F.E8.AE.A1.E6.95.B0.E6.8D.AE.E6.8E.A5.E5.8F.A3)
377
+ date是以秒为单位的整数。page_index从1开始。
378
+ ```ruby
379
+ response = Wechat::ShakeAround::DeviceReport.index access_token, date, page_index
380
+ if response.present? && 0==response['errcode'].to_i
381
+ date = response['date']
382
+ total_count = response['total_count']
383
+ page_index = response['page_index']
384
+ response['data']['devices'].each do |device|
385
+ device_id = device['device_id']
386
+ major = device['major']
387
+ minor = device['minor']
388
+ uuid = device['uuid']
389
+ shake_pv = device['shake_pv']
390
+ shake_uv = device['shake_uv']
391
+ click_pv = device['click_pv']
392
+ click_uv = device['click_uv']
393
+ end
394
+ else
395
+ # Show response['errmsg']
396
+ end
397
+ ```
398
+
399
+
400
+
401
+ ### Beacon Device Daily Report Beacon设备每日报表
402
+ [Query Beacon Device Stats. Data by Date 以设备为维度的数据统计接口](http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E4.BB.A5.E8.AE.BE.E5.A4.87.E4.B8.BA.E7.BB.B4.E5.BA.A6.E7.9A.84.E6.95.B0.E6.8D.AE.E7.BB.9F.E8.AE.A1.E6.8E.A5.E5.8F.A3)
403
+ device_id 可以是整数或者Hash结构: { uuid: UUID, major: MAJOR, minor: MINOR }。
404
+ date_range 是字符串范围,形式如: 'yyyy-mm-dd'..'yyyy-mm-dd'。
405
+ ```ruby
406
+ response = Wechat::ShakeAround::DeviceDailyReport.index access_token, device_id, date_range
407
+ if response.present? && 0==response['errcode'].to_i
408
+ response['data'].each do |item|
409
+ date = item['ftime']
410
+ # 当天0点对应的时间戳
411
+ shake_pv = item['shake_pv']
412
+ shake_uv = item['shake_uv']
413
+ click_pv = item['click_pv']
414
+ click_uv = item['click_uv']
415
+ end
416
+ else
417
+ # Show response['errmsg']
418
+ end
419
+ ```
420
+
421
+
422
+
423
+ ### Page Report 页面报表
424
+ [Query Page Stats. Data by Batch 批量查询页面统计数据接口](http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E6.89.B9.E9.87.8F.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E7.BB.9F.E8.AE.A1.E6.95.B0.E6.8D.AE.E6.8E.A5.E5.8F.A3)
425
+ date是以秒为单位的整数。page_index从1开始。
426
+ ```ruby
427
+ response = Wechat::ShakeAround::PageReport.index access_token, date, page_index
428
+ if response.present? && 0==response['errcode'].to_i
429
+ date = response['date']
430
+ total_count = response['total_count']
431
+ page_index = response['page_index']
432
+ response['data']['pages'].each do |page|
433
+ page_id = page['page_id']
434
+ shake_pv = page['shake_pv']
435
+ shake_uv = page['shake_uv']
436
+ click_pv = page['click_pv']
437
+ click_uv = page['click_uv']
438
+ end
439
+ else
440
+ # Show response['errmsg']
441
+ end
442
+ ```
443
+
444
+
445
+
446
+ ### Page Daily Report 页面每日报表
447
+ [Query Page Stats. Data by Date 以页面为维度的数据统计接口](http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E4.BB.A5.E9.A1.B5.E9.9D.A2.E4.B8.BA.E7.BB.B4.E5.BA.A6.E7.9A.84.E6.95.B0.E6.8D.AE.E7.BB.9F.E8.AE.A1.E6.8E.A5.E5.8F.A3)
448
+ page_id 是从1开始的整数。 date_range 是字符串范围,形式如: 'yyyy-mm-dd'..'yyyy-mm-dd'。
449
+ ```ruby
450
+ response = Wechat::ShakeAround::PageDailyReport.index access_token, page_id, date_range
451
+ if response.present? && 0==response['errcode'].to_i
452
+ response['data'].each do |item|
453
+ date = item['ftime']
454
+ # 当天0点对应的时间戳
455
+ shake_pv = item['shake_pv']
456
+ shake_uv = item['shake_uv']
457
+ click_pv = item['click_pv']
458
+ click_uv = item['click_uv']
459
+ end
460
+ else
461
+ # Show response['errmsg']
462
+ end
463
+ ```
464
+
465
+
466
+
44
467
  ## Development
45
468
 
46
469
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/ROADMAP.md CHANGED
@@ -30,4 +30,7 @@
30
30
  1. Apply wrapper class
31
31
 
32
32
  ## v0.8
33
- 2. Beacon PoI Relation wrapper class
33
+ 1. Beacon PoI Relation wrapper class
34
+
35
+ ## v0.9
36
+ 1. Registration wrapper class
@@ -24,6 +24,8 @@ require 'wechat/shake_around/apply'
24
24
 
25
25
  require 'wechat/shake_around/beacon_poi_relation'
26
26
 
27
+ require 'wechat/shake_around/registration'
28
+
27
29
  module Wechat
28
30
  module ShakeAround
29
31
  end
@@ -40,10 +40,10 @@ class Wechat::ShakeAround::Apply
40
40
  # }
41
41
  #
42
42
  # quantity: 申请的设备ID的数量,单次新增设备超过500个,需走人工审核流程。
43
- # apply_reason: 申请理由,不超过100个汉字或200个英文字母。
44
- # comment: 备注,不超过15个汉字或30个英文字母。
45
- def self.create(access_token, quantity, apply_reason, comment = nil, poi_id = nil)
46
- options = { quantity: quantity, apply_reason: apply_reason }
43
+ # reason: 申请理由,不超过100个汉字或200个英文字母。
44
+ # comment: 备注,不超过15个汉字或30个英文字母。
45
+ def self.create(access_token, quantity, reason, comment = nil, poi_id = nil)
46
+ options = { quantity: quantity, apply_reason: reason }
47
47
  options[:comment] = comment if comment.present?
48
48
  options[:poi_id] = poi_id if poi_id.present?
49
49
  message = ::JSONClient.new.post "https://api.weixin.qq.com/shakearound/device/applyid?access_token=#{access_token}", options
@@ -41,7 +41,7 @@ class Wechat::ShakeAround::Beacon
41
41
  message.body
42
42
  end
43
43
 
44
- # 查询设备列表
44
+ # 查询设备
45
45
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E5.88.97.E8.A1.A8
46
46
  #
47
47
  # Return hash format if success:
@@ -4,7 +4,7 @@ class Wechat::ShakeAround::BeaconPageRelation
4
4
 
5
5
  extend ::Wechat::ShakeAround::Common
6
6
 
7
- # 配置设备与页面的关联关系
7
+ # 删除设备与页面的关联关系
8
8
  # http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html
9
9
  #
10
10
  # Return hash format if success:
@@ -18,7 +18,7 @@ class Wechat::ShakeAround::BeaconPageRelation
18
18
  # page_id is an integer or an integer array.
19
19
  # bind 关联操作标志位,0为解除关联关系,1为建立关联关系
20
20
  # append 新增操作标志位,0为覆盖,1为新增
21
- def self.create(access_token, device_id, page_id)
21
+ def self.destroy(access_token, device_id, page_id)
22
22
 
23
23
  device_identifier = normalize_device_id device_id
24
24
  page_ids = normalize_page_ids page_id
@@ -27,13 +27,13 @@ class Wechat::ShakeAround::BeaconPageRelation
27
27
  {
28
28
  device_identifier: device_identifier,
29
29
  page_ids: page_ids,
30
- bind: 1,
31
- append: 1
30
+ bind: 0,
31
+ append: 0
32
32
  }
33
33
  message.body
34
34
  end
35
35
 
36
- # 配置设备与页面的关联关系
36
+ # 创建设备与页面的关联关系
37
37
  # http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html
38
38
  #
39
39
  # Return hash format if success:
@@ -47,7 +47,7 @@ class Wechat::ShakeAround::BeaconPageRelation
47
47
  # page_id is an integer or an integer array.
48
48
  # bind 关联操作标志位,0为解除关联关系,1为建立关联关系
49
49
  # append 新增操作标志位,0为覆盖,1为新增
50
- def self.destroy(access_token, device_id, page_id)
50
+ def self.create(access_token, device_id, page_id)
51
51
 
52
52
  device_identifier = normalize_device_id device_id
53
53
  page_ids = normalize_page_ids page_id
@@ -56,14 +56,10 @@ class Wechat::ShakeAround::BeaconPageRelation
56
56
  {
57
57
  device_identifier: device_identifier,
58
58
  page_ids: page_ids,
59
- bind: 0,
60
- append: 0
59
+ bind: 1,
60
+ append: 1
61
61
  }
62
62
  message.body
63
63
  end
64
- =begin
65
- def self.normalize_page_id(page_id)
66
- page_id.is_a?(Array) ? page_id.map { |i| i.to_i } : [ page_id.to_i ]
67
- end
68
- =end
64
+
69
65
  end
@@ -5,7 +5,7 @@ class Wechat::ShakeAround::DeviceDailyReport
5
5
  extend ::Wechat::ShakeAround::Common
6
6
 
7
7
  # 以设备为维度的数据统计接口
8
- # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html
8
+ # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E4.BB.A5.E8.AE.BE.E5.A4.87.E4.B8.BA.E7.BB.B4.E5.BA.A6.E7.9A.84.E6.95.B0.E6.8D.AE.E7.BB.9F.E8.AE.A1.E6.8E.A5.E5.8F.A3
9
9
  #
10
10
  # Return hash format if success:
11
11
  # {
@@ -0,0 +1,57 @@
1
+ require 'jsonclient'
2
+
3
+ class Wechat::ShakeAround::Registration
4
+
5
+ extend ::Wechat::ShakeAround::Common
6
+
7
+ # 查询审核状态
8
+ # http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E6.9F.A5.E8.AF.A2.E5.AE.A1.E6.A0.B8.E7.8A.B6.E6.80.81
9
+ #
10
+ # Return hash format if success:
11
+ # {
12
+ # data: {
13
+ # apply_time: APPLY_TIME,
14
+ # audit_comment: AUDIT_COMMENT,
15
+ # audit_status: AUDIT_STATUS,
16
+ # audit_time: AUDIT_TIME
17
+ # },
18
+ # errcode: 0,
19
+ # errmsg: 'success.'
20
+ # }
21
+ #
22
+ # apply_time: 提交申请的时间戳
23
+ # apply_comment: 审核备注,包括审核不通过的原因
24
+ # audit_status: 0:审核未通过、1:审核中、2:审核已通过
25
+ # audit_time: 确定审核结果的时间戳;若状态为审核中,则该时间值为0
26
+ def self.load(access_token)
27
+ message = ::JSONClient.new.get "https://api.weixin.qq.com/shakearound/account/auditstatus?access_token=#{access_token}"
28
+ message.body
29
+ end
30
+
31
+ # 申请开通功能
32
+ # http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E7.94.B3.E8.AF.B7.E5.BC.80.E9.80.9A.E5.8A.9F.E8.83.BD
33
+ # 成功提交申请请求后,工作人员会在三个工作日内完成审核。
34
+ # 若审核不通过,可以重新提交申请请求。
35
+ # 若是审核中,请耐心等待工作人员审核,在审核中状态不能再提交申请请求。
36
+ # industry_id: http://3gimg.qq.com/shake_nearby/Qualificationdocuments.html
37
+ #
38
+ # Return hash format if success:
39
+ # {
40
+ # data: {},
41
+ # errcode: 0,
42
+ # errmsg: 'success.'
43
+ # }
44
+ def self.create(access_token, name, phone_number, email, industry_id, qualification_links, apply_reason)
45
+ message = ::JSONClient.new.post "https://api.weixin.qq.com/shakearound/account/register?access_token=#{access_token}",
46
+ {
47
+ name: name,
48
+ phone_number: phone_number,
49
+ email: email,
50
+ industry_id: industry_id,
51
+ qualification_cert_urls: qualification_links,
52
+ apply_reason: apply_reason
53
+ }
54
+ message.body
55
+ end
56
+
57
+ end
@@ -28,7 +28,7 @@ class Wechat::ShakeAround::Shaking
28
28
  def self.load(access_token, ticket)
29
29
  message = ::JSONClient.new.post "https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=#{access_token}",
30
30
  {
31
- ticket: ticket,
31
+ ticket: ticket,
32
32
  need_poi: 1
33
33
  }
34
34
  message.body
@@ -1,5 +1,5 @@
1
1
  module Wechat
2
2
  module ShakeAround
3
- VERSION = '0.8'.freeze
3
+ VERSION = '0.9'.freeze
4
4
  end
5
5
  end
@@ -4,16 +4,14 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'wechat/shake_around/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
-
8
- spec.name = 'wechat-shake_around'
9
- spec.version = Wechat::ShakeAround::VERSION
10
- spec.authors = [ 'Topbit Du' ]
11
- spec.email = [ 'topbit.du@gmail.com' ]
12
-
13
- spec.summary = %q{Wechat Shake Around Library 微信摇周边库}
14
- spec.description = %q{Wechat Shake Around Library is a wrapper for calling the Shake Around APIs. 微信摇周边库封装了微信摇周边API的调用。}
15
- spec.homepage = 'https://github.com/topbitdu/wechat-shake_around'
16
- spec.license = 'MIT'
7
+ spec.name = 'wechat-shake_around'
8
+ spec.version = Wechat::ShakeAround::VERSION
9
+ spec.authors = [ 'Topbit Du' ]
10
+ spec.email = [ 'topbit.du@gmail.com' ]
11
+ spec.summary = 'Wechat Shake Around Library 微信摇周边库'
12
+ spec.description = 'Wechat Shake Around Library is a wrapper for calling the Shake Around APIs. 微信摇周边库封装了微信摇周边API的调用。'
13
+ spec.homepage = 'https://github.com/topbitdu/wechat-shake_around'
14
+ spec.license = 'MIT'
17
15
 
18
16
  # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
19
17
  # delete this section to allow pushing this gem to any host.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat-shake_around
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: '0.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-22 00:00:00.000000000 Z
11
+ date: 2016-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -102,6 +102,7 @@ files:
102
102
  - lib/wechat/shake_around/page.rb
103
103
  - lib/wechat/shake_around/page_daily_report.rb
104
104
  - lib/wechat/shake_around/page_report.rb
105
+ - lib/wechat/shake_around/registration.rb
105
106
  - lib/wechat/shake_around/shaking.rb
106
107
  - lib/wechat/shake_around/version.rb
107
108
  - wechat-shake_around.gemspec