access 1.1.7 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +2 -0
- data/.travis.yml +12 -0
- data/Guardfile +7 -0
- data/README.md +159 -23
- data/Rakefile +13 -0
- data/access.gemspec +6 -1
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/access.rb +21 -10
- data/lib/access/api.rb +188 -64
- data/lib/access/autocomplete.rb +11 -0
- data/lib/access/campaign.rb +24 -0
- data/lib/access/category.rb +16 -2
- data/lib/access/channel.rb +24 -0
- data/lib/access/city_savings.rb +16 -0
- data/lib/access/config.rb +8 -7
- data/lib/access/error.rb +8 -2
- data/lib/access/filter.rb +30 -2
- data/lib/access/info.rb +13 -0
- data/lib/access/link.rb +17 -0
- data/lib/access/location.rb +17 -2
- data/lib/access/member.rb +11 -0
- data/lib/access/oauth_application.rb +31 -0
- data/lib/access/offer.rb +24 -20
- data/lib/access/redeem.rb +11 -4
- data/lib/access/report.rb +10 -0
- data/lib/access/request.rb +25 -20
- data/lib/access/response.rb +127 -0
- data/lib/access/spot.rb +28 -0
- data/lib/access/store.rb +16 -2
- data/lib/access/token.rb +18 -0
- data/lib/access/verify.rb +11 -2
- data/lib/access/version.rb +1 -1
- data/test/access/autocomplete_test.rb +53 -0
- data/test/access/category_test.rb +64 -0
- data/test/access/city_savings_test.rb +5 -0
- data/test/access/filter_test.rb +40 -0
- data/test/access/location_test.rb +59 -0
- data/test/access/member_test.rb +5 -0
- data/test/access/oauth_application_test.rb +91 -0
- data/test/access/offer_test.rb +71 -0
- data/test/access/redeem_test.rb +38 -0
- data/test/access/report_test.rb +36 -0
- data/test/access/store_test.rb +65 -0
- data/test/access/token_test.rb +35 -0
- data/test/access/verify_test.rb +29 -0
- data/test/access/version_test.rb +9 -0
- data/test/fixtures/autocomplete_search.yml +207 -0
- data/test/fixtures/autocomplete_search_categories.yml +181 -0
- data/test/fixtures/autocomplete_search_locations.yml +173 -0
- data/test/fixtures/autocomplete_search_offers.yml +181 -0
- data/test/fixtures/autocomplete_search_stores.yml +185 -0
- data/test/fixtures/category_find.yml +303 -0
- data/test/fixtures/category_search.yml +683 -0
- data/test/fixtures/category_search_fail_member_key.yml +102 -0
- data/test/fixtures/filter_find.yml +70 -0
- data/test/fixtures/filter_search.yml +195 -0
- data/test/fixtures/location_find.yml +923 -0
- data/test/fixtures/location_search.yml +378 -0
- data/test/fixtures/location_search_fail_member_key.yml +367 -0
- data/test/fixtures/national_stores.yml +4135 -0
- data/test/fixtures/oauth_application_find.yml +163 -0
- data/test/fixtures/oauth_application_search.yml +134 -0
- data/test/fixtures/oauth_application_search_fail_member_key.yml +268 -0
- data/test/fixtures/oauth_application_token_find.yml +249 -0
- data/test/fixtures/oauth_application_token_search.yml +98 -0
- data/test/fixtures/offer_find.yml +683 -0
- data/test/fixtures/offer_search.yml +329 -0
- data/test/fixtures/offer_search_fail_member_key.yml +102 -0
- data/test/fixtures/redeem_offer_no_redeem_type.yml +423 -0
- data/test/fixtures/store_find.yml +333 -0
- data/test/fixtures/store_search.yml +227 -0
- data/test/fixtures/store_search_fail_member_key.yml +102 -0
- data/test/fixtures/subcategory_find.yml +283 -0
- data/test/fixtures/token_find.yml +245 -0
- data/test/fixtures/token_search.yml +301 -0
- data/test/fixtures/verify_filter.yml +290 -0
- data/test/fixtures/verify_token.yml +78 -0
- data/test/test_helper.rb +15 -0
- metadata +183 -11
- data/test/offers/offer_test.rb +0 -5
@@ -0,0 +1,301 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://token-demo.adcrws.com/v1/oauth_applications?per_page=1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Access-Token:
|
11
|
+
- token_without_limit
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Access-Control-Allow-Headers:
|
22
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
23
|
+
Access-Control-Allow-Methods:
|
24
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
25
|
+
Access-Control-Max-Age:
|
26
|
+
- '1728000'
|
27
|
+
Access-Control-Request-Method:
|
28
|
+
- GET
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json
|
33
|
+
Date:
|
34
|
+
- Tue, 04 Aug 2015 21:50:51 GMT
|
35
|
+
Etag:
|
36
|
+
- '"8fa469d403d7fcb9d329bd7519c95141"'
|
37
|
+
Server:
|
38
|
+
- nginx/1.6.2
|
39
|
+
Strict-Transport-Security:
|
40
|
+
- max-age=31536000
|
41
|
+
X-Content-Type-Options:
|
42
|
+
- nosniff
|
43
|
+
X-Frame-Options:
|
44
|
+
- SAMEORIGIN
|
45
|
+
X-Request-Id:
|
46
|
+
- 241554ee-0024-41e3-961f-54373b0c8e21
|
47
|
+
X-Runtime:
|
48
|
+
- '0.043381'
|
49
|
+
X-Xss-Protection:
|
50
|
+
- 1; mode=block
|
51
|
+
Content-Length:
|
52
|
+
- '778'
|
53
|
+
Connection:
|
54
|
+
- keep-alive
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: |-
|
58
|
+
{
|
59
|
+
"info": {
|
60
|
+
"total_results": 702,
|
61
|
+
"results_per_page": 1,
|
62
|
+
"current_page": 1,
|
63
|
+
"total_pages": 702
|
64
|
+
},
|
65
|
+
"oauth_applications": [
|
66
|
+
{
|
67
|
+
"id": 22,
|
68
|
+
"name": "American Grandparents Association",
|
69
|
+
"owner_id": 235308134,
|
70
|
+
"owner_type": "Program",
|
71
|
+
"domain_urls": null,
|
72
|
+
"scopes": [
|
73
|
+
"api",
|
74
|
+
"docs"
|
75
|
+
],
|
76
|
+
"active_tokens": [
|
77
|
+
"e4db3fb9a054e78807c431e837c49a59553c73204de91d404fe43d12c247f805"
|
78
|
+
],
|
79
|
+
"filter": {
|
80
|
+
"filter_id": 18,
|
81
|
+
"filter_name": "Grandparents"
|
82
|
+
},
|
83
|
+
"links": {
|
84
|
+
"show_application": "https://token-demo.adcrws.com/v1/oauth_applications/22"
|
85
|
+
}
|
86
|
+
}
|
87
|
+
],
|
88
|
+
"links": {
|
89
|
+
"next_page": "https://report-demo.adcrws.com/v1/oauth_applications?page=2"
|
90
|
+
}
|
91
|
+
}
|
92
|
+
http_version:
|
93
|
+
recorded_at: Tue, 04 Aug 2015 21:50:51 GMT
|
94
|
+
- request:
|
95
|
+
method: get
|
96
|
+
uri: https://token-demo.adcrws.com/v1/oauth_applications/22/access_tokens?per_page=1
|
97
|
+
body:
|
98
|
+
encoding: US-ASCII
|
99
|
+
string: ''
|
100
|
+
headers:
|
101
|
+
Access-Token:
|
102
|
+
- token_without_limit
|
103
|
+
Content-Type:
|
104
|
+
- application/json
|
105
|
+
Accept:
|
106
|
+
- application/json
|
107
|
+
response:
|
108
|
+
status:
|
109
|
+
code: 200
|
110
|
+
message: OK
|
111
|
+
headers:
|
112
|
+
Access-Control-Allow-Headers:
|
113
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
114
|
+
Access-Control-Allow-Methods:
|
115
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
116
|
+
Access-Control-Max-Age:
|
117
|
+
- '1728000'
|
118
|
+
Access-Control-Request-Method:
|
119
|
+
- GET
|
120
|
+
Cache-Control:
|
121
|
+
- max-age=0, private, must-revalidate
|
122
|
+
Content-Type:
|
123
|
+
- application/json
|
124
|
+
Date:
|
125
|
+
- Wed, 05 Aug 2015 20:13:10 GMT
|
126
|
+
Etag:
|
127
|
+
- '"146748ca69664715e70d06b5a2a46e80"'
|
128
|
+
Server:
|
129
|
+
- nginx/1.6.2
|
130
|
+
Strict-Transport-Security:
|
131
|
+
- max-age=31536000
|
132
|
+
X-Content-Type-Options:
|
133
|
+
- nosniff
|
134
|
+
X-Frame-Options:
|
135
|
+
- SAMEORIGIN
|
136
|
+
X-Request-Id:
|
137
|
+
- dd4fc36f-292c-4e7a-8257-1803a56ae929
|
138
|
+
X-Runtime:
|
139
|
+
- '0.062111'
|
140
|
+
X-Xss-Protection:
|
141
|
+
- 1; mode=block
|
142
|
+
Content-Length:
|
143
|
+
- '2806'
|
144
|
+
Connection:
|
145
|
+
- keep-alive
|
146
|
+
body:
|
147
|
+
encoding: UTF-8
|
148
|
+
string: |-
|
149
|
+
{
|
150
|
+
"access_tokens": [
|
151
|
+
{
|
152
|
+
"application_id": 22,
|
153
|
+
"token": "e4db3fb9a054e78807c431e837c49a59553c73204de91d404fe43d12c247f805",
|
154
|
+
"expires_in": null,
|
155
|
+
"revoked_at": null,
|
156
|
+
"created_at": "2015-01-21T22:43:31.006Z",
|
157
|
+
"oauth_access_token_id": 43,
|
158
|
+
"application_name": "American Grandparents Association",
|
159
|
+
"application_owner_id": 22,
|
160
|
+
"application_owner_type": "Program",
|
161
|
+
"program_id": 235308134,
|
162
|
+
"program_name": "American Grandparents Association",
|
163
|
+
"program_customer_identifier": "102149",
|
164
|
+
"program_start_dts": "2015-01-21T15:12:55.570Z",
|
165
|
+
"program_end_dts": "2018-01-21T15:12:56.000Z",
|
166
|
+
"organization_id": 2001959,
|
167
|
+
"organization_name": "American Grandparents Association",
|
168
|
+
"organization_customer_identifier": "2001923",
|
169
|
+
"filter_id": 18,
|
170
|
+
"filter_name": "Grandparents",
|
171
|
+
"filter": "{\"offers\":[{\"or\":[{\"terms\":{\"categories.category_key\":[39,44,48,59,1039,54,45,50]}},{\"terms\":{\"categories.category_parent_key\":[39,44,48,59,1039,54,45,50]}}]}],\"categories\":[{\"or\":[{\"terms\":{\"category_key\":[39,44,48,59,1039,54,45,50]}},{\"terms\":{\"category_parent_key\":[39,44,48,59,1039,54,45,50]}}]}],\"stores\":[{\"or\":[{\"terms\":{\"store_categories.category_key\":[39,44,48,59,1039,54,45,50]}},{\"terms\":{\"store_categories.category_parent_key\":[39,44,48,59,1039,54,45,50]}}]}]}",
|
172
|
+
"program_filter_id": {
|
173
|
+
"filter_id": 18,
|
174
|
+
"filter_name": "Grandparents",
|
175
|
+
"filter": "---\noffers:\n- or:\n - terms:\n categories.category_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\n - terms:\n categories.category_parent_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\ncategories:\n- or:\n - terms:\n category_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\n - terms:\n category_parent_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\nstores:\n- or:\n - terms:\n store_categories.category_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\n - terms:\n store_categories.category_parent_key:\n - 39\n - 44\n - 48\n - 59\n - 1039\n - 54\n - 45\n - 50\n",
|
176
|
+
"modified_dts": "2015-06-03T17:31:13.774Z",
|
177
|
+
"created_dts": "2015-02-26T13:18:12.299Z"
|
178
|
+
},
|
179
|
+
"domains": [
|
180
|
+
|
181
|
+
],
|
182
|
+
"application_scopes": [
|
183
|
+
"api",
|
184
|
+
"docs"
|
185
|
+
],
|
186
|
+
"token_status": "valid",
|
187
|
+
"links": {
|
188
|
+
"show_token": "https://token-demo.adcrws.com/v1/oauth_applications/22/access_tokens/43"
|
189
|
+
}
|
190
|
+
}
|
191
|
+
]
|
192
|
+
}
|
193
|
+
http_version:
|
194
|
+
recorded_at: Wed, 05 Aug 2015 20:13:09 GMT
|
195
|
+
- request:
|
196
|
+
method: get
|
197
|
+
uri: https://token-demo.adcrws.com/v1/tokens?per_page=1
|
198
|
+
body:
|
199
|
+
encoding: US-ASCII
|
200
|
+
string: ''
|
201
|
+
headers:
|
202
|
+
Access-Token:
|
203
|
+
- token_without_limit
|
204
|
+
Content-Type:
|
205
|
+
- application/json
|
206
|
+
Accept:
|
207
|
+
- application/json
|
208
|
+
response:
|
209
|
+
status:
|
210
|
+
code: 200
|
211
|
+
message: OK
|
212
|
+
headers:
|
213
|
+
Access-Control-Allow-Headers:
|
214
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
215
|
+
Access-Control-Allow-Methods:
|
216
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
217
|
+
Access-Control-Max-Age:
|
218
|
+
- '1728000'
|
219
|
+
Access-Control-Request-Method:
|
220
|
+
- GET
|
221
|
+
Cache-Control:
|
222
|
+
- max-age=0, private, must-revalidate
|
223
|
+
Content-Type:
|
224
|
+
- application/json
|
225
|
+
Date:
|
226
|
+
- Wed, 12 Aug 2015 17:46:36 GMT
|
227
|
+
Etag:
|
228
|
+
- '"bf1afd7f0dde6cceb86c0e054f295a6b"'
|
229
|
+
Server:
|
230
|
+
- nginx/1.6.2
|
231
|
+
Strict-Transport-Security:
|
232
|
+
- max-age=31536000
|
233
|
+
X-Content-Type-Options:
|
234
|
+
- nosniff
|
235
|
+
X-Frame-Options:
|
236
|
+
- SAMEORIGIN
|
237
|
+
X-Request-Id:
|
238
|
+
- 1fee0c9f-a520-49f4-a48e-eb88a2a640ad
|
239
|
+
X-Runtime:
|
240
|
+
- '0.014374'
|
241
|
+
X-Xss-Protection:
|
242
|
+
- 1; mode=block
|
243
|
+
Content-Length:
|
244
|
+
- '1976'
|
245
|
+
Connection:
|
246
|
+
- keep-alive
|
247
|
+
body:
|
248
|
+
encoding: UTF-8
|
249
|
+
string: |-
|
250
|
+
{
|
251
|
+
"info": {
|
252
|
+
"total_results": 1067,
|
253
|
+
"results_per_page": 1,
|
254
|
+
"current_page": 1,
|
255
|
+
"total_pages": 1067
|
256
|
+
},
|
257
|
+
"oauth_tokens": [
|
258
|
+
{
|
259
|
+
"application_id": 825,
|
260
|
+
"token": "fcf4e7ee693a61155d1a40a0ca7577cc95ec785742a0ca295503185e290711e4",
|
261
|
+
"expires_in": null,
|
262
|
+
"revoked_at": null,
|
263
|
+
"created_at": "2015-08-11T15:54:04.086-06:00",
|
264
|
+
"oauth_access_token_id": 942,
|
265
|
+
"application_name": "Loylogic (pcid:200090)",
|
266
|
+
"application_owner_id": 235589794,
|
267
|
+
"application_owner_type": "Program",
|
268
|
+
"program_id": 235589794,
|
269
|
+
"program_name": "Loylogic",
|
270
|
+
"program_customer_identifier": "200090",
|
271
|
+
"program_start_dts": "2015-08-11T15:54:45.783-06:00",
|
272
|
+
"program_end_dts": "2018-08-11T15:54:45.783-06:00",
|
273
|
+
"organization_id": 2001157,
|
274
|
+
"organization_name": "Loylogic",
|
275
|
+
"organization_customer_identifier": "2001157",
|
276
|
+
"filter_id": 35,
|
277
|
+
"filter_name": "Dining, Entertainment, Health/Beauty, Hotel, Services, Shopping",
|
278
|
+
"filter": "{\"offers\":[{\"or\":[{\"terms\":{\"categories.category_key\":[39,59,53,44,50,45]}},{\"terms\":{\"categories.category_parent_key\":[39,59,53,44,50,45]}}]}],\"categories\":[{\"or\":[{\"terms\":{\"category_key\":[39,59,53,44,50,45]}},{\"terms\":{\"category_parent_key\":[39,59,53,44,50,45]}}]}],\"stores\":[{\"or\":[{\"terms\":{\"store_categories.category_key\":[39,59,53,44,50,45]}},{\"terms\":{\"store_categories.category_parent_key\":[39,59,53,44,50,45]}}]}]}",
|
279
|
+
"program_filter_id": 158,
|
280
|
+
"domains": [
|
281
|
+
|
282
|
+
],
|
283
|
+
"application_scopes": [
|
284
|
+
"api",
|
285
|
+
"docs",
|
286
|
+
"internal"
|
287
|
+
],
|
288
|
+
"indexed_at": "2015-08-12T14:08:41.744Z",
|
289
|
+
"token_status": "valid",
|
290
|
+
"links": {
|
291
|
+
"show_oauth_token": "http://token-demo.adcrws.com/v1/tokens/fcf4e7ee693a61155d1a40a0ca7577cc95ec785742a0ca295503185e290711e4"
|
292
|
+
}
|
293
|
+
}
|
294
|
+
],
|
295
|
+
"links": {
|
296
|
+
"next_page": "https://token-demo.adcrws.com/v1/tokens?page=2&per_page=1"
|
297
|
+
}
|
298
|
+
}
|
299
|
+
http_version:
|
300
|
+
recorded_at: Wed, 12 Aug 2015 17:46:36 GMT
|
301
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,290 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://token-demo.adcrws.com/v1/filter
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"program_filter": {"offers": [{"or":[{"terms":{"categories.category_key":[
|
9
|
+
39, 1007, 1008, 1009, 1010, 1011, 1012 ] } }, {"terms":{"categories.category_parent_key":[
|
10
|
+
39, 1007, 1008, 1009, 1010, 1011, 1012]} } ]}, {"not": {"or": [{"terms":{"categories.category_key":[
|
11
|
+
1007 ] } }, {"terms":{"categories.category_parent_key":[ 1007 ] } } ] } }
|
12
|
+
] } }'
|
13
|
+
headers:
|
14
|
+
Access-Token:
|
15
|
+
- token_without_limit
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
Accept:
|
19
|
+
- application/json
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Access-Control-Allow-Headers:
|
26
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
27
|
+
Access-Control-Allow-Methods:
|
28
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
29
|
+
Access-Control-Max-Age:
|
30
|
+
- '1728000'
|
31
|
+
Access-Control-Request-Method:
|
32
|
+
- GET
|
33
|
+
Cache-Control:
|
34
|
+
- max-age=0, private, must-revalidate
|
35
|
+
Content-Type:
|
36
|
+
- application/json
|
37
|
+
Date:
|
38
|
+
- Wed, 12 Aug 2015 17:46:35 GMT
|
39
|
+
Etag:
|
40
|
+
- '"5a395c4bf2ad27ac472ecaf3cb0fbe82"'
|
41
|
+
Server:
|
42
|
+
- nginx/1.6.2
|
43
|
+
Strict-Transport-Security:
|
44
|
+
- max-age=31536000
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
X-Frame-Options:
|
48
|
+
- SAMEORIGIN
|
49
|
+
X-Request-Id:
|
50
|
+
- e3dded6b-f0f1-41fa-ab29-ac7e8167c34b
|
51
|
+
X-Runtime:
|
52
|
+
- '0.087726'
|
53
|
+
X-Xss-Protection:
|
54
|
+
- 1; mode=block
|
55
|
+
Content-Length:
|
56
|
+
- '5997'
|
57
|
+
Connection:
|
58
|
+
- keep-alive
|
59
|
+
body:
|
60
|
+
encoding: UTF-8
|
61
|
+
string: |-
|
62
|
+
{
|
63
|
+
"offers": {
|
64
|
+
"offer_count": 74275,
|
65
|
+
"categories": [
|
66
|
+
{
|
67
|
+
"category_name": "Dining & Food",
|
68
|
+
"category_key": 39,
|
69
|
+
"category_type": "category",
|
70
|
+
"offer_count": 74275,
|
71
|
+
"subcategories": [
|
72
|
+
{
|
73
|
+
"category_name": "Fast Food",
|
74
|
+
"category_key": 1008,
|
75
|
+
"category_type": "subcategory",
|
76
|
+
"category_parent_key": 39,
|
77
|
+
"offer_count": 39088
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"category_name": "Casual & Fine Dining",
|
81
|
+
"category_key": 1009,
|
82
|
+
"category_type": "subcategory",
|
83
|
+
"category_parent_key": 39,
|
84
|
+
"offer_count": 33187
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"category_name": "Convenience Stores",
|
88
|
+
"category_key": 1012,
|
89
|
+
"category_type": "subcategory",
|
90
|
+
"category_parent_key": 39,
|
91
|
+
"offer_count": 1956
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"category_name": "Specialty Foods & Gifts",
|
95
|
+
"category_key": 1010,
|
96
|
+
"category_type": "subcategory",
|
97
|
+
"category_parent_key": 39,
|
98
|
+
"offer_count": 337
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"category_name": "Catering",
|
102
|
+
"category_key": 1011,
|
103
|
+
"category_type": "subcategory",
|
104
|
+
"category_parent_key": 39,
|
105
|
+
"offer_count": 35
|
106
|
+
}
|
107
|
+
]
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"category_name": "Health & Beauty",
|
111
|
+
"category_key": 53,
|
112
|
+
"category_type": "category",
|
113
|
+
"offer_count": 34,
|
114
|
+
"subcategories": [
|
115
|
+
{
|
116
|
+
"category_name": "Salon",
|
117
|
+
"category_key": 1036,
|
118
|
+
"category_type": "subcategory",
|
119
|
+
"category_parent_key": 53,
|
120
|
+
"offer_count": 34
|
121
|
+
}
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"category_name": "Entertainment & Recreation",
|
126
|
+
"category_key": 59,
|
127
|
+
"category_type": "category",
|
128
|
+
"offer_count": 29,
|
129
|
+
"subcategories": [
|
130
|
+
{
|
131
|
+
"category_name": "Fun Centers",
|
132
|
+
"category_key": 1013,
|
133
|
+
"category_type": "subcategory",
|
134
|
+
"category_parent_key": 59,
|
135
|
+
"offer_count": 15
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"category_name": "Outdoor Adventure",
|
139
|
+
"category_key": 1016,
|
140
|
+
"category_type": "subcategory",
|
141
|
+
"category_parent_key": 59,
|
142
|
+
"offer_count": 4
|
143
|
+
},
|
144
|
+
{
|
145
|
+
"category_name": "Concerts & Events",
|
146
|
+
"category_key": 1014,
|
147
|
+
"category_type": "subcategory",
|
148
|
+
"category_parent_key": 59,
|
149
|
+
"offer_count": 2
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"category_name": "Sporting Events",
|
153
|
+
"category_key": 1017,
|
154
|
+
"category_type": "subcategory",
|
155
|
+
"category_parent_key": 59,
|
156
|
+
"offer_count": 1
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"category_name": "Amusement Parks",
|
160
|
+
"category_key": 1018,
|
161
|
+
"category_type": "subcategory",
|
162
|
+
"category_parent_key": 59,
|
163
|
+
"offer_count": 1
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"category_name": "Classes",
|
167
|
+
"category_key": 1019,
|
168
|
+
"category_type": "subcategory",
|
169
|
+
"category_parent_key": 59,
|
170
|
+
"offer_count": 1
|
171
|
+
}
|
172
|
+
]
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"category_name": "Automotive",
|
176
|
+
"category_key": 51,
|
177
|
+
"category_type": "category",
|
178
|
+
"offer_count": 12,
|
179
|
+
"subcategories": [
|
180
|
+
{
|
181
|
+
"category_name": "Gas Station",
|
182
|
+
"category_key": 1004,
|
183
|
+
"category_type": "subcategory",
|
184
|
+
"category_parent_key": 51,
|
185
|
+
"offer_count": 11
|
186
|
+
},
|
187
|
+
{
|
188
|
+
"category_name": "Auto Body & Paint",
|
189
|
+
"category_key": 1000,
|
190
|
+
"category_type": "subcategory",
|
191
|
+
"category_parent_key": 51,
|
192
|
+
"offer_count": 1
|
193
|
+
}
|
194
|
+
]
|
195
|
+
},
|
196
|
+
{
|
197
|
+
"category_name": "Golf",
|
198
|
+
"category_key": 48,
|
199
|
+
"category_type": "category",
|
200
|
+
"offer_count": 8,
|
201
|
+
"subcategories": [
|
202
|
+
{
|
203
|
+
"category_name": "Golf Courses",
|
204
|
+
"category_key": 1020,
|
205
|
+
"category_type": "subcategory",
|
206
|
+
"category_parent_key": 48,
|
207
|
+
"offer_count": 8
|
208
|
+
}
|
209
|
+
]
|
210
|
+
},
|
211
|
+
{
|
212
|
+
"category_name": "Shopping",
|
213
|
+
"category_key": 45,
|
214
|
+
"category_type": "category",
|
215
|
+
"offer_count": 3,
|
216
|
+
"subcategories": [
|
217
|
+
{
|
218
|
+
"category_name": "Crafts",
|
219
|
+
"category_key": 1083,
|
220
|
+
"category_type": "subcategory",
|
221
|
+
"category_parent_key": 45,
|
222
|
+
"offer_count": 1
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"category_name": "Department Stores",
|
226
|
+
"category_key": 1085,
|
227
|
+
"category_type": "subcategory",
|
228
|
+
"category_parent_key": 45,
|
229
|
+
"offer_count": 1
|
230
|
+
},
|
231
|
+
{
|
232
|
+
"category_name": "Pets",
|
233
|
+
"category_key": 1097,
|
234
|
+
"category_type": "subcategory",
|
235
|
+
"category_parent_key": 45,
|
236
|
+
"offer_count": 1
|
237
|
+
}
|
238
|
+
]
|
239
|
+
},
|
240
|
+
{
|
241
|
+
"category_name": "Services",
|
242
|
+
"category_key": 50,
|
243
|
+
"category_type": "category",
|
244
|
+
"offer_count": 1,
|
245
|
+
"subcategories": [
|
246
|
+
|
247
|
+
]
|
248
|
+
},
|
249
|
+
{
|
250
|
+
"category_name": "Cruise",
|
251
|
+
"category_key": 60,
|
252
|
+
"category_type": "category",
|
253
|
+
"offer_count": 1,
|
254
|
+
"subcategories": [
|
255
|
+
|
256
|
+
]
|
257
|
+
}
|
258
|
+
],
|
259
|
+
"redemption_methods": [
|
260
|
+
{
|
261
|
+
"redemption_method": "instore_print",
|
262
|
+
"offer_count": 53662
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"redemption_method": "instore",
|
266
|
+
"offer_count": 28674
|
267
|
+
},
|
268
|
+
{
|
269
|
+
"redemption_method": "link",
|
270
|
+
"offer_count": 20720
|
271
|
+
},
|
272
|
+
{
|
273
|
+
"redemption_method": "call",
|
274
|
+
"offer_count": 25
|
275
|
+
}
|
276
|
+
]
|
277
|
+
},
|
278
|
+
"categories": {
|
279
|
+
"category_count": 127
|
280
|
+
},
|
281
|
+
"stores": {
|
282
|
+
"store_count": 25425
|
283
|
+
},
|
284
|
+
"locations": {
|
285
|
+
"location_count": 204899
|
286
|
+
}
|
287
|
+
}
|
288
|
+
http_version:
|
289
|
+
recorded_at: Wed, 12 Aug 2015 17:46:35 GMT
|
290
|
+
recorded_with: VCR 2.9.3
|