├── .npmignore
├── test
├── fixtures
│ ├── --h shows the help screen_.json
│ ├── -v flag prints the version_.json
│ ├── --help shows the help screen_.json
│ ├── invalid resource returns error_.json
│ ├── --version flag prints the version_.json
│ ├── no arguments shows the help screen_.json
│ ├── fetch a product by sku and output to a file_.json
│ ├── fetch a product by sku and output to stdout_.json
│ ├── fetch a product by sku and output to a file as xml_.json
│ ├── fetch a product by sku and output to stdout as xml_.json
│ ├── fetch a product by sku and output to stdout as xml in bare mode_.json
│ ├── fetch a category by id and output to stdout_.json
│ ├── fetch products as csv_.json
│ ├── fetch products as tsv_.json
│ ├── fetch products as csv without the header row using --bare_.json
│ ├── fetch products as tsv without the header row using --bare_.json
│ ├── fetch stores by postalCode and output to stdout_.json
│ ├── fetch a product by sku and output to stdout in bare mode_.json
│ ├── fetch stores and sort by name_.json
│ ├── fetch all stores and sort by name desc_.json
│ └── fetch all stores_.json
├── tape-nock-setup.js
└── index.test.js
├── images
└── download-all-stores.gif
├── .gitignore
├── .github
└── workflows
│ └── test.yml
├── CHANGELOG.md
├── LICENSE.md
├── package.json
├── README.md
├── index.js
└── bin.js
/.npmignore:
--------------------------------------------------------------------------------
1 | test/fixtures
2 |
--------------------------------------------------------------------------------
/test/fixtures/--h shows the help screen_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/test/fixtures/-v flag prints the version_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/test/fixtures/--help shows the help screen_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/test/fixtures/invalid resource returns error_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/test/fixtures/--version flag prints the version_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/test/fixtures/no arguments shows the help screen_.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/images/download-all-stores.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BestBuyAPIs/bestbuy-cli/HEAD/images/download-all-stores.gif
--------------------------------------------------------------------------------
/test/tape-nock-setup.js:
--------------------------------------------------------------------------------
1 | const tape = require('tape')
2 | const test = require('tape-nock')(tape, {
3 | defaultTestOptions: {
4 | after: function (scope) {
5 | // when running test, switch apiKey to XXX to match fixtures
6 | scope.filteringPath(/apiKey=[^&]+/g, 'apiKey=XXX')
7 | },
8 | afterRecord: function (scopes) {
9 | // avoid exposing API keys in the fixtures
10 | let scopesString = JSON.stringify(scopes)
11 | scopesString = scopesString.replace(/apiKey=[^\\<&"]+/g, 'apiKey=XXX')
12 | return JSON.parse(scopesString)
13 | }
14 | }
15 | })
16 |
17 | module.exports = test
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 |
10 | # Directory for instrumented libs generated by jscoverage/JSCover
11 | lib-cov
12 |
13 | # Coverage directory used by tools like istanbul
14 | coverage
15 |
16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17 | .grunt
18 |
19 | # node-waf configuration
20 | .lock-wscript
21 |
22 | # Compiled binary addons (http://nodejs.org/api/addons.html)
23 | build/Release
24 |
25 | # Dependency directory
26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
27 | node_modules
28 |
29 | dist
30 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: test
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | pull_request:
8 | branches:
9 | - '**'
10 |
11 | jobs:
12 | test:
13 | runs-on: ubuntu-latest
14 | strategy:
15 | matrix:
16 | node: [ '8', '10', '12', '14' ]
17 | fail-fast: false
18 | name: Test with node ${{ matrix.node }}
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Setup node
22 | uses: actions/setup-node@v2
23 | with:
24 | node-version: ${{ matrix.node }}
25 |
26 | - name: Install dependencies
27 | run: npm install
28 |
29 | - name: Test
30 | env:
31 | BBY_API_KEY: XXX
32 | NO_UPDATE_NOTIFIER: 1
33 | run: npm test
34 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # bestbuy-cli change log
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | The format is based on [Keep a Changelog](http://keepachangelog.com/)
6 | and this project adheres to [Semantic Versioning](http://semver.org/).
7 |
8 | ## 1.1.1 2017-11-20
9 |
10 | * Updated `bestbuy` package as even more stability improvements were added when downloading large streams.
11 |
12 | ## 1.1.0 2017-11-20
13 |
14 | * New feature: added `--debug` flag to help troubleshoot network issues
15 |
16 | ## 1.0.2 2017-11-18
17 |
18 | * Updated `bestbuy` package to improve stability when downloading large streams.
19 |
20 | ## 1.0.1 2017-09-26
21 |
22 | * Avoid throwing errors to make error messages friendlier
23 |
24 | ## 1.0.0 2017-09-25
25 |
26 | * Initial Release. See README for full details.
27 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2017 Best Buy
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to a file_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products/5919905.json?format=json&apiKey=XXX&show=name",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "name": "Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"
10 | },
11 | "rawHeaders": [
12 | "Access-Control-Allow-Headers",
13 | "origin, x-requested-with, accept",
14 | "Access-Control-Allow-Methods",
15 | "GET",
16 | "Access-Control-Allow-Origin",
17 | "*",
18 | "Access-Control-Max-Age",
19 | "3628800",
20 | "Content-Type",
21 | "application/json; charset=UTF-8",
22 | "Date",
23 | "Fri, 22 Sep 2017 21:57:58 GMT",
24 | "Server",
25 | "Best Buy Public APIs",
26 | "X-Cache-Hit",
27 | "true",
28 | "Content-Length",
29 | "85",
30 | "Connection",
31 | "Close"
32 | ]
33 | }
34 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to stdout_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products/5919905.json?format=json&apiKey=XXX&show=name",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "name": "Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"
10 | },
11 | "rawHeaders": [
12 | "Access-Control-Allow-Headers",
13 | "origin, x-requested-with, accept",
14 | "Access-Control-Allow-Methods",
15 | "GET",
16 | "Access-Control-Allow-Origin",
17 | "*",
18 | "Access-Control-Max-Age",
19 | "3628800",
20 | "Content-Type",
21 | "application/json; charset=UTF-8",
22 | "Date",
23 | "Fri, 22 Sep 2017 21:54:44 GMT",
24 | "Server",
25 | "Best Buy Public APIs",
26 | "X-Cache-Hit",
27 | "true",
28 | "Content-Length",
29 | "85",
30 | "Connection",
31 | "Close"
32 | ]
33 | }
34 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to a file as xml_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products/5919905.xml?format=xml&apiKey=XXX&show=name",
6 | "body": "",
7 | "status": 200,
8 | "response": "\n\n\n Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con\n\n",
9 | "rawHeaders": [
10 | "Access-Control-Allow-Headers",
11 | "origin, x-requested-with, accept",
12 | "Access-Control-Allow-Methods",
13 | "GET",
14 | "Access-Control-Allow-Origin",
15 | "*",
16 | "Access-Control-Max-Age",
17 | "3628800",
18 | "Content-Type",
19 | "text/xml; charset=UTF-8",
20 | "Date",
21 | "Fri, 22 Sep 2017 21:54:44 GMT",
22 | "Server",
23 | "Best Buy Public APIs",
24 | "X-Cache-Hit",
25 | "true",
26 | "Content-Length",
27 | "223",
28 | "Connection",
29 | "Close"
30 | ]
31 | }
32 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to stdout as xml_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products/5919905.xml?format=xml&apiKey=XXX&show=name",
6 | "body": "",
7 | "status": 200,
8 | "response": "\n\n\n Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con\n\n",
9 | "rawHeaders": [
10 | "Access-Control-Allow-Headers",
11 | "origin, x-requested-with, accept",
12 | "Access-Control-Allow-Methods",
13 | "GET",
14 | "Access-Control-Allow-Origin",
15 | "*",
16 | "Access-Control-Max-Age",
17 | "3628800",
18 | "Content-Type",
19 | "text/xml; charset=UTF-8",
20 | "Date",
21 | "Fri, 22 Sep 2017 21:59:35 GMT",
22 | "Server",
23 | "Best Buy Public APIs",
24 | "X-Cache-Hit",
25 | "true",
26 | "Content-Length",
27 | "223",
28 | "Connection",
29 | "Close"
30 | ]
31 | }
32 | ]
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bestbuy-cli",
3 | "description": "Download data from the Best Buy Catalog API in bulk from the command line",
4 | "version": "1.1.1",
5 | "author": "Dan Flettre ",
6 | "bugs": {
7 | "url": "https://github.com/BestBuyAPIs/bestbuy-cli/issues"
8 | },
9 | "dependencies": {
10 | "JSONStream": "^1.3.1",
11 | "bestbuy": "^2.1.2",
12 | "cliclopts": "^1.1.1",
13 | "fast-csv": "^2.4.0",
14 | "log-update": "^2.1.0",
15 | "minimist": "^1.2.0",
16 | "pretty-ms": "^3.0.0",
17 | "pump": "^1.0.2",
18 | "stdout-stream": "^1.4.0",
19 | "through2": "^2.0.3",
20 | "update-notifier": "^2.2.0"
21 | },
22 | "devDependencies": {
23 | "concat-stream": "^1.6.0",
24 | "gh-release": "^3.1.1",
25 | "pkg": "^4.2.4",
26 | "rimraf": "^2.6.2",
27 | "standard": "^16.0.3",
28 | "tap-spec": "^4.0.2",
29 | "tape": "^4.8.0",
30 | "tape-nock": "^1.6.0",
31 | "to2": "^1.0.0"
32 | },
33 | "homepage": "https://github.com/BestBuyAPIs/bestbuy-cli",
34 | "keywords": [
35 | "api",
36 | "bestbuy",
37 | "bulk",
38 | "catalog",
39 | "cli",
40 | "command",
41 | "download",
42 | "line",
43 | "products"
44 | ],
45 | "license": "MIT",
46 | "main": "index.js",
47 | "bin": {
48 | "bestbuy": "./bin.js",
49 | "bestbuy-cli": "./bin.js"
50 | },
51 | "repository": {
52 | "type": "git",
53 | "url": "https://github.com/BestBuyAPIs/bestbuy-cli.git"
54 | },
55 | "scripts": {
56 | "test": "standard && tape test/*.test.js | tap-spec",
57 | "release": "pkg . --out-path dist && gh-release --assets dist/bestbuy-cli-linux,dist/bestbuy-cli-macos,dist/bestbuy-cli-win.exe"
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # bestbuy-cli
2 |
3 | [![npm][npm-image]][npm-url]
4 | [![travis][travis-image]][travis-url]
5 | [![standard][standard-image]][standard-url]
6 |
7 | [npm-image]: https://img.shields.io/npm/v/bestbuy-cli.svg?style=flat-square
8 | [npm-url]: https://www.npmjs.com/package/bestbuy-cli
9 | [travis-image]: https://img.shields.io/travis/BestBuyAPIs/bestbuy-cli.svg?style=flat-square
10 | [travis-url]: https://travis-ci.org/BestBuyAPIs/bestbuy-cli
11 | [standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square
12 | [standard-url]: http://npm.im/standard
13 |
14 | Download data from the Best Buy Catalog API in bulk from the command line.
15 |
16 | Get an API key at [developer.bestbuy.com](https://developer.bestbuy.com).
17 |
18 | 
19 |
20 | ## Install
21 |
22 | ```
23 | npm install --global bestbuy-cli
24 | ```
25 |
26 | Can't install node? [Download a standalone executable](https://github.com/BestBuyAPIs/bestbuy-cli/releases) from the GitHub Releases page!
27 |
28 | ## Usage
29 |
30 | ```bash
31 | >bestbuy --help
32 |
33 | Best Buy Bulk Download Tool (https://github.com/BestBuyAPIs/bestbuy-cli)
34 |
35 | Usage: bestbuy [resource] [options]
36 |
37 | Examples:
38 | bestbuy categories
39 | bestbuy products --query "active=true" --show "name,sku" --output products.json
40 | bestbuy stores --format xml --output stores.xml
41 | bestbuy stores --query "region=GA&storeType='outlet center'" --output stores.json
42 |
43 | resource resource to download: products, categories, stores
44 | --query, -q use a custom query to filter the results (ampersand separated)
45 | --show, -s fields to show (comma separated)
46 | --sort, -r sort results by fields (comma separated)
47 | --key, -k Best Buy API key (default: "BBY_API_KEY environment variable")
48 | --format, -f format of the response as json, xml, csv or tsv (default: "json")
49 | --output, -o name of file to send output (optional; If not present, out will go to stdout)
50 | --bare, -b newline delimited - each item on own line without extra cruft (default: false)
51 | --version, -v show version information
52 | --help, -h show help
53 |
54 | ```
55 | Visit the [Best Buy API Documentation](https://developer.bestbuy.com/documentation) for more details on writing custom queries.
56 |
57 | ## License
58 |
59 | [MIT](LICENSE.md)
60 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | module.exports = run
2 |
3 | const bestbuy = require('bestbuy')
4 | const fs = require('fs')
5 | const pump = require('pump')
6 | const JSONStream = require('JSONStream')
7 | const logUpdate = require('log-update')
8 | const prettyMs = require('pretty-ms')
9 | const through = require('through2')
10 | const csv = require('fast-csv')
11 |
12 | function run (opts, stdout, cb) {
13 | let bby
14 | let total = 0
15 | let cnt = 0
16 | const start = process.hrtime()
17 | let progressInterval
18 | const logUpdater = logUpdate.create(stdout)
19 |
20 | let output
21 | let parser
22 |
23 | try {
24 | bby = bestbuy({ key: opts.key, debug: opts.debug })
25 | } catch (err) {
26 | return cb(err)
27 | }
28 |
29 | opts.format = opts.format.toLowerCase()
30 |
31 | const dataStream = bby[`${opts.resource}AsStream`](opts.query, {
32 | format: opts.format === 'csv' || opts.format === 'tsv' ? 'json' : opts.format,
33 | show: opts.show,
34 | sort: opts.sort
35 | })
36 |
37 | // a "total" event is emitted so we know how many total products will be sent
38 | dataStream.on('total', t => {
39 | total = t
40 | })
41 |
42 | dataStream.on('data', () => cnt++)
43 |
44 | if (opts.format === 'json') {
45 | parser = opts.bare ? JSONStream.stringify(false) : JSONStream.stringify()
46 | } else if (opts.format === 'csv' || opts.format === 'tsv') {
47 | const csvStream = csv.createWriteStream({
48 | headers: !opts.bare,
49 | objectMode: false,
50 | delimiter: opts.format === 'tsv' ? '\t' : ','
51 | })
52 | parser = csvStream
53 | } else if (opts.format === 'xml') {
54 | parser = through(
55 | function (chunk, enc, cb) {
56 | if (opts.bare) {
57 | chunk = chunk.toString().replace(/\n/g, '') + '\n'
58 | }
59 | cb(null, chunk)
60 | }, // transform is a noop
61 | function (done) { // flush function
62 | if (!opts.bare) this.push(`\n${opts.resource}>`) // add end tag
63 | done()
64 | }
65 | )
66 | if (!opts.bare) parser.write(`<${opts.resource}>\n`)
67 | } else {
68 | return cb(new Error(`unsupported format: ${opts.format}`))
69 | }
70 |
71 | if (opts.output) {
72 | output = fs.createWriteStream(opts.output)
73 | progressInterval = setInterval(updateProgress, 500)
74 | } else {
75 | output = stdout || require('stdout-stream')
76 | }
77 |
78 | function updateProgress () {
79 | const timeSoFar = process.hrtime(start)
80 | const timeSoFarInMs = ((timeSoFar[0] * 1e9) + timeSoFar[1]) / 1e6
81 | const timeSoFarInSec = timeSoFarInMs / 1e3
82 |
83 | const totalTime = prettyMs(timeSoFarInMs)
84 | logUpdater(`${opts.resource}: ${cnt}/${total} (${(cnt / total * 100).toFixed(2)}%), Time: ${totalTime}, ${opts.resource}/sec: ${Math.round(cnt / timeSoFarInSec)}`)
85 | }
86 |
87 | pump(dataStream, parser, output, err => {
88 | if (progressInterval) {
89 | clearInterval(progressInterval)
90 | updateProgress()
91 | stdout.write('Done.\n')
92 | }
93 |
94 | if (err) return cb(err)
95 |
96 | cb()
97 | })
98 | }
99 |
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to stdout as xml in bare mode_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku%20in%20(5919905,5670100))?format=xml&apiKey=XXX&show=name&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": "\n\n\n \n Nintendo - Switch™ 32GB Console - Neon Red/Neon Blue Joy-Con™\n \n \n Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con\n \n\n",
9 | "rawHeaders": [
10 | "Access-Control-Allow-Headers",
11 | "origin, x-requested-with, accept",
12 | "Access-Control-Allow-Methods",
13 | "GET",
14 | "Access-Control-Allow-Origin",
15 | "*",
16 | "Access-Control-Max-Age",
17 | "3628800",
18 | "Content-Type",
19 | "text/xml; charset=UTF-8",
20 | "Date",
21 | "Fri, 22 Sep 2017 21:54:44 GMT",
22 | "Server",
23 | "Best Buy Public APIs",
24 | "X-Cache-Hit",
25 | "true",
26 | "Content-Length",
27 | "624",
28 | "Connection",
29 | "Close"
30 | ]
31 | },
32 | {
33 | "scope": "https://api.bestbuy.com:443",
34 | "method": "get",
35 | "path": "/v1/products(sku%20in%20(5919905,5670100))?format=xml&apiKey=XXX&show=name&cursorMark=AoIIP4AAADJwcm9kdWN0XzU5MTk5MDVfdXM%3D&pageSize=100",
36 | "body": "",
37 | "status": 200,
38 | "response": "\n\n\n",
39 | "rawHeaders": [
40 | "Access-Control-Allow-Headers",
41 | "origin, x-requested-with, accept",
42 | "Access-Control-Allow-Methods",
43 | "GET",
44 | "Access-Control-Allow-Origin",
45 | "*",
46 | "Access-Control-Max-Age",
47 | "3628800",
48 | "Content-Type",
49 | "text/xml; charset=UTF-8",
50 | "Date",
51 | "Fri, 22 Sep 2017 21:57:57 GMT",
52 | "Server",
53 | "Best Buy Public APIs",
54 | "X-Cache-Hit",
55 | "true",
56 | "Content-Length",
57 | "423",
58 | "Connection",
59 | "Close"
60 | ]
61 | }
62 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch a category by id and output to stdout_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/categories(id=abcat0010000)?format=json&apiKey=XXX&show=name&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoMsYWJjYXQwMDEwMDAwCD+AAAA4Y2F0ZWdvcnlfYWJjYXQwMDEwMDAwX3Vz",
10 | "total": 1,
11 | "totalPages": 1,
12 | "queryTime": "0.053",
13 | "totalTime": "0.060",
14 | "partial": false,
15 | "canonicalUrl": "/v1/categories(id=\"abcat0010000\")?show=name&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "categories": [
17 | {
18 | "name": "Gift Ideas"
19 | }
20 | ]
21 | },
22 | "rawHeaders": [
23 | "Access-Control-Allow-Headers",
24 | "origin, x-requested-with, accept",
25 | "Access-Control-Allow-Methods",
26 | "GET",
27 | "Access-Control-Allow-Origin",
28 | "*",
29 | "Access-Control-Max-Age",
30 | "3628800",
31 | "Content-Type",
32 | "application/json; charset=UTF-8",
33 | "Date",
34 | "Fri, 22 Sep 2017 21:59:36 GMT",
35 | "Server",
36 | "Best Buy Public APIs",
37 | "X-Cache-Hit",
38 | "true",
39 | "Content-Length",
40 | "332",
41 | "Connection",
42 | "Close"
43 | ]
44 | },
45 | {
46 | "scope": "https://api.bestbuy.com:443",
47 | "method": "get",
48 | "path": "/v1/categories(id=abcat0010000)?format=json&apiKey=XXX&show=name&cursorMark=AoMsYWJjYXQwMDEwMDAwCD%2BAAAA4Y2F0ZWdvcnlfYWJjYXQwMDEwMDAwX3Vz&pageSize=100",
49 | "body": "",
50 | "status": 200,
51 | "response": {
52 | "nextCursorMark": "AoMsYWJjYXQwMDEwMDAwCD+AAAA4Y2F0ZWdvcnlfYWJjYXQwMDEwMDAwX3Vz",
53 | "total": 1,
54 | "totalPages": 1,
55 | "queryTime": "0.022",
56 | "totalTime": "0.022",
57 | "partial": false,
58 | "canonicalUrl": "/v1/categories(id=\"abcat0010000\")?show=name&pageSize=100&cursorMark=AoMsYWJjYXQwMDEwMDAwCD+AAAA4Y2F0ZWdvcnlfYWJjYXQwMDEwMDAwX3Vz&format=json&apiKey=XXX",
59 | "categories": []
60 | },
61 | "rawHeaders": [
62 | "Access-Control-Allow-Headers",
63 | "origin, x-requested-with, accept",
64 | "Access-Control-Allow-Methods",
65 | "GET",
66 | "Access-Control-Allow-Origin",
67 | "*",
68 | "Access-Control-Max-Age",
69 | "3628800",
70 | "Content-Type",
71 | "application/json; charset=UTF-8",
72 | "Date",
73 | "Fri, 22 Sep 2017 21:57:58 GMT",
74 | "Server",
75 | "Best Buy Public APIs",
76 | "X-Cache-Hit",
77 | "true",
78 | "Content-Length",
79 | "370",
80 | "Connection",
81 | "Close"
82 | ]
83 | }
84 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch products as csv_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
10 | "total": 1,
11 | "totalPages": 1,
12 | "queryTime": "0.007",
13 | "totalTime": "0.012",
14 | "partial": false,
15 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "products": [
17 | {
18 | "name": "Super Mario Odyssey - Nintendo Switch",
19 | "salePrice": 59.99,
20 | "url": "https://api.bestbuy.com/click/-/5721722/pdp"
21 | }
22 | ]
23 | },
24 | "rawHeaders": [
25 | "Access-Control-Allow-Headers",
26 | "origin, x-requested-with, accept",
27 | "Access-Control-Allow-Methods",
28 | "GET",
29 | "Access-Control-Allow-Origin",
30 | "*",
31 | "Access-Control-Max-Age",
32 | "3628800",
33 | "Content-Type",
34 | "application/json; charset=UTF-8",
35 | "Date",
36 | "Mon, 25 Sep 2017 17:34:34 GMT",
37 | "Server",
38 | "Best Buy Public APIs",
39 | "X-Cache-Hit",
40 | "true",
41 | "Content-Length",
42 | "407",
43 | "Connection",
44 | "Close"
45 | ]
46 | },
47 | {
48 | "scope": "https://api.bestbuy.com:443",
49 | "method": "get",
50 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM%3D&pageSize=100",
51 | "body": "",
52 | "status": 200,
53 | "response": {
54 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
55 | "total": 1,
56 | "totalPages": 1,
57 | "queryTime": "0.009",
58 | "totalTime": "0.009",
59 | "partial": false,
60 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=&format=json&apiKey=XXX",
61 | "products": []
62 | },
63 | "rawHeaders": [
64 | "Access-Control-Allow-Headers",
65 | "origin, x-requested-with, accept",
66 | "Access-Control-Allow-Methods",
67 | "GET",
68 | "Access-Control-Allow-Origin",
69 | "*",
70 | "Access-Control-Max-Age",
71 | "3628800",
72 | "Content-Type",
73 | "application/json; charset=UTF-8",
74 | "Date",
75 | "Mon, 25 Sep 2017 17:32:55 GMT",
76 | "Server",
77 | "Best Buy Public APIs",
78 | "X-Cache-Hit",
79 | "true",
80 | "Content-Length",
81 | "324",
82 | "Connection",
83 | "Close"
84 | ]
85 | }
86 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch products as tsv_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
10 | "total": 1,
11 | "totalPages": 1,
12 | "queryTime": "0.007",
13 | "totalTime": "0.012",
14 | "partial": false,
15 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "products": [
17 | {
18 | "name": "Super Mario Odyssey - Nintendo Switch",
19 | "salePrice": 59.99,
20 | "url": "https://api.bestbuy.com/click/-/5721722/pdp"
21 | }
22 | ]
23 | },
24 | "rawHeaders": [
25 | "Access-Control-Allow-Headers",
26 | "origin, x-requested-with, accept",
27 | "Access-Control-Allow-Methods",
28 | "GET",
29 | "Access-Control-Allow-Origin",
30 | "*",
31 | "Access-Control-Max-Age",
32 | "3628800",
33 | "Content-Type",
34 | "application/json; charset=UTF-8",
35 | "Date",
36 | "Mon, 25 Sep 2017 17:56:13 GMT",
37 | "Server",
38 | "Best Buy Public APIs",
39 | "X-Cache-Hit",
40 | "true",
41 | "Content-Length",
42 | "407",
43 | "Connection",
44 | "Close"
45 | ]
46 | },
47 | {
48 | "scope": "https://api.bestbuy.com:443",
49 | "method": "get",
50 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM%3D&pageSize=100",
51 | "body": "",
52 | "status": 200,
53 | "response": {
54 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
55 | "total": 1,
56 | "totalPages": 1,
57 | "queryTime": "0.009",
58 | "totalTime": "0.009",
59 | "partial": false,
60 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=&format=json&apiKey=XXX",
61 | "products": []
62 | },
63 | "rawHeaders": [
64 | "Access-Control-Allow-Headers",
65 | "origin, x-requested-with, accept",
66 | "Access-Control-Allow-Methods",
67 | "GET",
68 | "Access-Control-Allow-Origin",
69 | "*",
70 | "Access-Control-Max-Age",
71 | "3628800",
72 | "Content-Type",
73 | "application/json; charset=UTF-8",
74 | "Date",
75 | "Mon, 25 Sep 2017 17:56:13 GMT",
76 | "Server",
77 | "Best Buy Public APIs",
78 | "X-Cache-Hit",
79 | "true",
80 | "Content-Length",
81 | "324",
82 | "Connection",
83 | "Close"
84 | ]
85 | }
86 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch products as csv without the header row using --bare_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
10 | "total": 1,
11 | "totalPages": 1,
12 | "queryTime": "0.007",
13 | "totalTime": "0.012",
14 | "partial": false,
15 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "products": [
17 | {
18 | "name": "Super Mario Odyssey - Nintendo Switch",
19 | "salePrice": 59.99,
20 | "url": "https://api.bestbuy.com/click/-/5721722/pdp"
21 | }
22 | ]
23 | },
24 | "rawHeaders": [
25 | "Access-Control-Allow-Headers",
26 | "origin, x-requested-with, accept",
27 | "Access-Control-Allow-Methods",
28 | "GET",
29 | "Access-Control-Allow-Origin",
30 | "*",
31 | "Access-Control-Max-Age",
32 | "3628800",
33 | "Content-Type",
34 | "application/json; charset=UTF-8",
35 | "Date",
36 | "Mon, 25 Sep 2017 17:29:39 GMT",
37 | "Server",
38 | "Best Buy Public APIs",
39 | "X-Cache-Hit",
40 | "true",
41 | "Content-Length",
42 | "407",
43 | "Connection",
44 | "Close"
45 | ]
46 | },
47 | {
48 | "scope": "https://api.bestbuy.com:443",
49 | "method": "get",
50 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM%3D&pageSize=100",
51 | "body": "",
52 | "status": 200,
53 | "response": {
54 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
55 | "total": 1,
56 | "totalPages": 1,
57 | "queryTime": "0.009",
58 | "totalTime": "0.009",
59 | "partial": false,
60 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=&format=json&apiKey=XXX",
61 | "products": []
62 | },
63 | "rawHeaders": [
64 | "Access-Control-Allow-Headers",
65 | "origin, x-requested-with, accept",
66 | "Access-Control-Allow-Methods",
67 | "GET",
68 | "Access-Control-Allow-Origin",
69 | "*",
70 | "Access-Control-Max-Age",
71 | "3628800",
72 | "Content-Type",
73 | "application/json; charset=UTF-8",
74 | "Date",
75 | "Mon, 25 Sep 2017 17:29:39 GMT",
76 | "Server",
77 | "Best Buy Public APIs",
78 | "X-Cache-Hit",
79 | "true",
80 | "Content-Length",
81 | "324",
82 | "Connection",
83 | "Close"
84 | ]
85 | }
86 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch products as tsv without the header row using --bare_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
10 | "total": 1,
11 | "totalPages": 1,
12 | "queryTime": "0.007",
13 | "totalTime": "0.012",
14 | "partial": false,
15 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "products": [
17 | {
18 | "name": "Super Mario Odyssey - Nintendo Switch",
19 | "salePrice": 59.99,
20 | "url": "https://api.bestbuy.com/click/-/5721722/pdp"
21 | }
22 | ]
23 | },
24 | "rawHeaders": [
25 | "Access-Control-Allow-Headers",
26 | "origin, x-requested-with, accept",
27 | "Access-Control-Allow-Methods",
28 | "GET",
29 | "Access-Control-Allow-Origin",
30 | "*",
31 | "Access-Control-Max-Age",
32 | "3628800",
33 | "Content-Type",
34 | "application/json; charset=UTF-8",
35 | "Date",
36 | "Mon, 25 Sep 2017 17:59:30 GMT",
37 | "Server",
38 | "Best Buy Public APIs",
39 | "X-Cache-Hit",
40 | "true",
41 | "Content-Length",
42 | "407",
43 | "Connection",
44 | "Close"
45 | ]
46 | },
47 | {
48 | "scope": "https://api.bestbuy.com:443",
49 | "method": "get",
50 | "path": "/v1/products(sku=5721722)?format=json&apiKey=XXX&show=name,salePrice,url&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM%3D&pageSize=100",
51 | "body": "",
52 | "status": 200,
53 | "response": {
54 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=",
55 | "total": 1,
56 | "totalPages": 1,
57 | "queryTime": "0.009",
58 | "totalTime": "0.009",
59 | "partial": false,
60 | "canonicalUrl": "/v1/products(sku=5721722)?show=name,salePrice,url&pageSize=100&cursorMark=AoIIP4AAADJwcm9kdWN0XzU3MjE3MjJfdXM=&format=json&apiKey=XXX",
61 | "products": []
62 | },
63 | "rawHeaders": [
64 | "Access-Control-Allow-Headers",
65 | "origin, x-requested-with, accept",
66 | "Access-Control-Allow-Methods",
67 | "GET",
68 | "Access-Control-Allow-Origin",
69 | "*",
70 | "Access-Control-Max-Age",
71 | "3628800",
72 | "Content-Type",
73 | "application/json; charset=UTF-8",
74 | "Date",
75 | "Mon, 25 Sep 2017 17:59:30 GMT",
76 | "Server",
77 | "Best Buy Public APIs",
78 | "X-Cache-Hit",
79 | "true",
80 | "Content-Length",
81 | "324",
82 | "Connection",
83 | "Close"
84 | ]
85 | }
86 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch stores by postalCode and output to stdout_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/stores(postalCode=55109)?format=json&apiKey=XXX&show=name,storeType&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoMlNTUxMDkIP4AAAC1zdG9yZV8yNzAxX3Vz",
10 | "total": 2,
11 | "totalPages": 1,
12 | "queryTime": "0.008",
13 | "totalTime": "0.012",
14 | "partial": false,
15 | "canonicalUrl": "/v1/stores(postalCode=\"55109\")?show=name,storeType&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "stores": [
17 | {
18 | "name": "MAPLEWOOD MN",
19 | "storeType": "Big Box"
20 | },
21 | {
22 | "name": "MAPLEWOOD MALL",
23 | "storeType": "Mobile SAS"
24 | }
25 | ]
26 | },
27 | "rawHeaders": [
28 | "Access-Control-Allow-Headers",
29 | "origin, x-requested-with, accept",
30 | "Access-Control-Allow-Methods",
31 | "GET",
32 | "Access-Control-Allow-Origin",
33 | "*",
34 | "Access-Control-Max-Age",
35 | "3628800",
36 | "Content-Type",
37 | "application/json; charset=UTF-8",
38 | "Date",
39 | "Fri, 22 Sep 2017 21:59:36 GMT",
40 | "Server",
41 | "Best Buy Public APIs",
42 | "X-Cache-Hit",
43 | "true",
44 | "Content-Length",
45 | "386",
46 | "Connection",
47 | "Close"
48 | ]
49 | },
50 | {
51 | "scope": "https://api.bestbuy.com:443",
52 | "method": "get",
53 | "path": "/v1/stores(postalCode=55109)?format=json&apiKey=XXX&show=name,storeType&cursorMark=AoMlNTUxMDkIP4AAAC1zdG9yZV8yNzAxX3Vz&pageSize=100",
54 | "body": "",
55 | "status": 200,
56 | "response": {
57 | "nextCursorMark": "AoMlNTUxMDkIP4AAAC1zdG9yZV8yNzAxX3Vz",
58 | "total": 2,
59 | "totalPages": 1,
60 | "queryTime": "0.022",
61 | "totalTime": "0.023",
62 | "partial": false,
63 | "canonicalUrl": "/v1/stores(postalCode=\"55109\")?show=name,storeType&pageSize=100&cursorMark=AoMlNTUxMDkIP4AAAC1zdG9yZV8yNzAxX3Vz&format=json&apiKey=XXX",
64 | "stores": []
65 | },
66 | "rawHeaders": [
67 | "Access-Control-Allow-Headers",
68 | "origin, x-requested-with, accept",
69 | "Access-Control-Allow-Methods",
70 | "GET",
71 | "Access-Control-Allow-Origin",
72 | "*",
73 | "Access-Control-Max-Age",
74 | "3628800",
75 | "Content-Type",
76 | "application/json; charset=UTF-8",
77 | "Date",
78 | "Fri, 22 Sep 2017 21:59:36 GMT",
79 | "Server",
80 | "Best Buy Public APIs",
81 | "X-Cache-Hit",
82 | "true",
83 | "Content-Length",
84 | "325",
85 | "Connection",
86 | "Close"
87 | ]
88 | }
89 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch a product by sku and output to stdout in bare mode_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/products(sku%20in%20(5919905,5670100))?format=json&apiKey=XXX&show=name&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU5MTk5MDVfdXM=",
10 | "total": 2,
11 | "totalPages": 1,
12 | "queryTime": "0.019",
13 | "totalTime": "0.029",
14 | "partial": false,
15 | "canonicalUrl": "/v1/products(sku in(5919905,5670100))?show=name&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "products": [
17 | {
18 | "name": "Nintendo - Switch™ 32GB Console - Neon Red/Neon Blue Joy-Con™"
19 | },
20 | {
21 | "name": "Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"
22 | }
23 | ]
24 | },
25 | "rawHeaders": [
26 | "Access-Control-Allow-Headers",
27 | "origin, x-requested-with, accept",
28 | "Access-Control-Allow-Methods",
29 | "GET",
30 | "Access-Control-Allow-Origin",
31 | "*",
32 | "Access-Control-Max-Age",
33 | "3628800",
34 | "Content-Type",
35 | "application/json; charset=UTF-8",
36 | "Date",
37 | "Fri, 22 Sep 2017 21:59:35 GMT",
38 | "Server",
39 | "Best Buy Public APIs",
40 | "X-Cache-Hit",
41 | "true",
42 | "Content-Length",
43 | "449",
44 | "Connection",
45 | "Close"
46 | ]
47 | },
48 | {
49 | "scope": "https://api.bestbuy.com:443",
50 | "method": "get",
51 | "path": "/v1/products(sku%20in%20(5919905,5670100))?format=json&apiKey=XXX&show=name&cursorMark=AoIIP4AAADJwcm9kdWN0XzU5MTk5MDVfdXM%3D&pageSize=100",
52 | "body": "",
53 | "status": 200,
54 | "response": {
55 | "nextCursorMark": "AoIIP4AAADJwcm9kdWN0XzU5MTk5MDVfdXM=",
56 | "total": 2,
57 | "totalPages": 1,
58 | "queryTime": "0.030",
59 | "totalTime": "0.031",
60 | "partial": false,
61 | "canonicalUrl": "/v1/products(sku in(5919905,5670100))?show=name&pageSize=100&cursorMark=AoIIP4AAADJwcm9kdWN0XzU5MTk5MDVfdXM=&format=json&apiKey=XXX",
62 | "products": []
63 | },
64 | "rawHeaders": [
65 | "Access-Control-Allow-Headers",
66 | "origin, x-requested-with, accept",
67 | "Access-Control-Allow-Methods",
68 | "GET",
69 | "Access-Control-Allow-Origin",
70 | "*",
71 | "Access-Control-Max-Age",
72 | "3628800",
73 | "Content-Type",
74 | "application/json; charset=UTF-8",
75 | "Date",
76 | "Fri, 22 Sep 2017 21:59:36 GMT",
77 | "Server",
78 | "Best Buy Public APIs",
79 | "X-Cache-Hit",
80 | "true",
81 | "Content-Length",
82 | "322",
83 | "Connection",
84 | "Close"
85 | ]
86 | }
87 | ]
--------------------------------------------------------------------------------
/bin.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | const BBY_API_KEY_MSG = 'BBY_API_KEY environment variable'
3 | const RESOURCES = ['products', 'categories', 'stores']
4 | const pkg = require('./package')
5 | const updateNotifier = require('update-notifier')
6 |
7 | const run = require('.')
8 |
9 | function cli (args, stream, cb) {
10 | const clopts = require('cliclopts')([
11 | {
12 | name: 'query',
13 | abbr: 'q',
14 | help: 'use a custom query to filter the results'
15 | },
16 | {
17 | name: 'show',
18 | abbr: 's',
19 | help: 'fields to show'
20 | },
21 | {
22 | name: 'sort',
23 | abbr: 'r',
24 | help: 'sort results by fields (comma separated)'
25 | },
26 | {
27 | name: 'key',
28 | abbr: 'k',
29 | help: 'Best Buy API key',
30 | default: BBY_API_KEY_MSG
31 | },
32 | {
33 | name: 'format',
34 | abbr: 'f',
35 | help: 'format of the response as json, xml, csv or tsv',
36 | default: 'json'
37 | },
38 | {
39 | name: 'output',
40 | abbr: 'o',
41 | help: 'name of file to send output (optional; If not present, out will go to stdout)'
42 | },
43 | {
44 | name: 'bare',
45 | abbr: 'b',
46 | help: 'newline delimited - each item on own line without extra cruft',
47 | default: false
48 | },
49 | {
50 | name: 'version',
51 | abbr: 'v',
52 | boolean: true,
53 | help: 'show version information'
54 | },
55 | {
56 | name: 'help',
57 | abbr: 'h',
58 | help: 'show help',
59 | boolean: true
60 | },
61 | {
62 | name: 'debug',
63 | abbr: 'd',
64 | help: 'show debug information',
65 | boolean: true,
66 | default: false
67 | }
68 | ])
69 |
70 | const argv = require('minimist')(args, {
71 | alias: clopts.alias(),
72 | boolean: clopts.boolean(),
73 | default: clopts.default()
74 | })
75 |
76 | argv.resource = argv.resource || argv._[0]
77 |
78 | if (argv.version) {
79 | stream.write(pkg.version + '\n')
80 | return cb()
81 | }
82 |
83 | if (!argv.resource) argv.help = true
84 |
85 | if (argv.help) {
86 | stream.write(`
87 | Best Buy Bulk Download Tool (https://github.com/BestBuyAPIs/bestbuy-cli)
88 |
89 | Usage: bestbuy [resource] [options]
90 |
91 | Examples:
92 | bestbuy categories
93 | bestbuy products --query "active=true" --show "name,sku" --output products.json
94 | bestbuy stores --format xml --output stores.xml
95 |
96 | resource resource to download: ${RESOURCES.join(', ')}
97 | `)
98 | clopts.print(stream)
99 |
100 | stream.write('\nVisit https://developer.bestbuy.com/documentation for more details on writing custom queries.\n')
101 | return cb()
102 | }
103 |
104 | argv.query = argv.query || ''
105 |
106 | if (argv.key === BBY_API_KEY_MSG) argv.key = process.env.BBY_API_KEY
107 |
108 | if (RESOURCES.indexOf(argv.resource) < 0) {
109 | return cb(new Error(`Invalid resource: ${argv.resource}`))
110 | }
111 | run(argv, stream, cb)
112 | }
113 |
114 | if (require.main === module) {
115 | cli(process.argv.slice(2), process.stdout, function done (err) {
116 | let code = 0
117 | if (err) {
118 | console.error(err.message)
119 | console.error(err.stack)
120 | code = -1
121 | }
122 | updateNotifier({ pkg: pkg }).notify()
123 | process.exit(code)
124 | })
125 | } else {
126 | module.exports = cli
127 | }
128 |
--------------------------------------------------------------------------------
/test/fixtures/fetch stores and sort by name_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/stores(region=MN&storeType=Big%20Box)?format=json&apiKey=XXX&show=name&sort=name&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoQrc3QgY2xvdWQgbW4lNTYzMDEIP4AAACtzdG9yZV8xMl91cw==",
10 | "total": 22,
11 | "totalPages": 1,
12 | "queryTime": "1.667",
13 | "totalTime": "1.681",
14 | "partial": false,
15 | "canonicalUrl": "/v1/stores(region=\"MN\"&storeType=\"Big Box\")?show=name&sort=name&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "stores": [
17 | {
18 | "name": "APPLE VALLEY MN"
19 | },
20 | {
21 | "name": "BAXTER MN"
22 | },
23 | {
24 | "name": "BLAINE MN"
25 | },
26 | {
27 | "name": "BURNSVILLE MN"
28 | },
29 | {
30 | "name": "COON RAPIDS MN"
31 | },
32 | {
33 | "name": "DULUTH MN"
34 | },
35 | {
36 | "name": "EAGAN MN"
37 | },
38 | {
39 | "name": "EDEN PRAIRIE MN"
40 | },
41 | {
42 | "name": "HUTCHINSON MN"
43 | },
44 | {
45 | "name": "INVER GROVE HGTS MN"
46 | },
47 | {
48 | "name": "MALL OF AMERICA MN"
49 | },
50 | {
51 | "name": "MANKATO MN"
52 | },
53 | {
54 | "name": "MAPLE GROVE MN"
55 | },
56 | {
57 | "name": "MAPLEWOOD MN"
58 | },
59 | {
60 | "name": "MINNETONKA MN"
61 | },
62 | {
63 | "name": "NORTHTOWN MN"
64 | },
65 | {
66 | "name": "OAKDALE MN"
67 | },
68 | {
69 | "name": "RICHFIELD MN"
70 | },
71 | {
72 | "name": "ROCHESTER MN"
73 | },
74 | {
75 | "name": "ROSEVILLE MN"
76 | },
77 | {
78 | "name": "SHAKOPEE MN"
79 | },
80 | {
81 | "name": "ST CLOUD MN"
82 | }
83 | ]
84 | },
85 | "rawHeaders": [
86 | "Access-Control-Allow-Headers",
87 | "origin, x-requested-with, accept",
88 | "Access-Control-Allow-Methods",
89 | "GET",
90 | "Access-Control-Allow-Origin",
91 | "*",
92 | "Access-Control-Max-Age",
93 | "3628800",
94 | "Content-Type",
95 | "application/json; charset=UTF-8",
96 | "Date",
97 | "Mon, 25 Sep 2017 16:25:20 GMT",
98 | "Server",
99 | "Best Buy Public APIs",
100 | "X-Cache-Hit",
101 | "true",
102 | "Content-Length",
103 | "856",
104 | "Connection",
105 | "Close"
106 | ]
107 | },
108 | {
109 | "scope": "https://api.bestbuy.com:443",
110 | "method": "get",
111 | "path": "/v1/stores(region=MN&storeType=Big%20Box)?format=json&apiKey=XXX&show=name&sort=name&cursorMark=AoQrc3QgY2xvdWQgbW4lNTYzMDEIP4AAACtzdG9yZV8xMl91cw%3D%3D&pageSize=100",
112 | "body": "",
113 | "status": 200,
114 | "response": {
115 | "nextCursorMark": "AoQrc3QgY2xvdWQgbW4lNTYzMDEIP4AAACtzdG9yZV8xMl91cw==",
116 | "total": 22,
117 | "totalPages": 1,
118 | "queryTime": "0.009",
119 | "totalTime": "0.010",
120 | "partial": false,
121 | "canonicalUrl": "/v1/stores(region=\"MN\"&storeType=\"Big Box\")?show=name&sort=name&pageSize=100&cursorMark=AoQrc3QgY2xvdWQgbW4lNTYzMDEIP4AAACtzdG9yZV8xMl91cw==&format=json&apiKey=XXX",
122 | "stores": []
123 | },
124 | "rawHeaders": [
125 | "Access-Control-Allow-Headers",
126 | "origin, x-requested-with, accept",
127 | "Access-Control-Allow-Methods",
128 | "GET",
129 | "Access-Control-Allow-Origin",
130 | "*",
131 | "Access-Control-Max-Age",
132 | "3628800",
133 | "Content-Type",
134 | "application/json; charset=UTF-8",
135 | "Date",
136 | "Mon, 25 Sep 2017 16:23:41 GMT",
137 | "Server",
138 | "Best Buy Public APIs",
139 | "X-Cache-Hit",
140 | "true",
141 | "Content-Length",
142 | "373",
143 | "Connection",
144 | "Close"
145 | ]
146 | }
147 | ]
--------------------------------------------------------------------------------
/test/fixtures/fetch all stores and sort by name desc_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/stores(region=MN&storeType=Big%20Box)?format=json&apiKey=XXX&show=name&sort=name.desc&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoQvYXBwbGUgdmFsbGV5IG1uJTU1MTI0CD+AAAAsc3RvcmVfMjQ1X3Vz",
10 | "total": 22,
11 | "totalPages": 1,
12 | "queryTime": "0.034",
13 | "totalTime": "0.051",
14 | "partial": false,
15 | "canonicalUrl": "/v1/stores(region=\"MN\"&storeType=\"Big Box\")?show=name&sort=name.desc&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "stores": [
17 | {
18 | "name": "ST CLOUD MN"
19 | },
20 | {
21 | "name": "SHAKOPEE MN"
22 | },
23 | {
24 | "name": "ROSEVILLE MN"
25 | },
26 | {
27 | "name": "ROCHESTER MN"
28 | },
29 | {
30 | "name": "RICHFIELD MN"
31 | },
32 | {
33 | "name": "OAKDALE MN"
34 | },
35 | {
36 | "name": "NORTHTOWN MN"
37 | },
38 | {
39 | "name": "MINNETONKA MN"
40 | },
41 | {
42 | "name": "MAPLEWOOD MN"
43 | },
44 | {
45 | "name": "MAPLE GROVE MN"
46 | },
47 | {
48 | "name": "MANKATO MN"
49 | },
50 | {
51 | "name": "MALL OF AMERICA MN"
52 | },
53 | {
54 | "name": "INVER GROVE HGTS MN"
55 | },
56 | {
57 | "name": "HUTCHINSON MN"
58 | },
59 | {
60 | "name": "EDEN PRAIRIE MN"
61 | },
62 | {
63 | "name": "EAGAN MN"
64 | },
65 | {
66 | "name": "DULUTH MN"
67 | },
68 | {
69 | "name": "COON RAPIDS MN"
70 | },
71 | {
72 | "name": "BURNSVILLE MN"
73 | },
74 | {
75 | "name": "BLAINE MN"
76 | },
77 | {
78 | "name": "BAXTER MN"
79 | },
80 | {
81 | "name": "APPLE VALLEY MN"
82 | }
83 | ]
84 | },
85 | "rawHeaders": [
86 | "Access-Control-Allow-Headers",
87 | "origin, x-requested-with, accept",
88 | "Access-Control-Allow-Methods",
89 | "GET",
90 | "Access-Control-Allow-Origin",
91 | "*",
92 | "Access-Control-Max-Age",
93 | "3628800",
94 | "Content-Type",
95 | "application/json; charset=UTF-8",
96 | "Date",
97 | "Mon, 25 Sep 2017 16:25:21 GMT",
98 | "Server",
99 | "Best Buy Public APIs",
100 | "X-Cache-Hit",
101 | "true",
102 | "Content-Length",
103 | "865",
104 | "Connection",
105 | "Close"
106 | ]
107 | },
108 | {
109 | "scope": "https://api.bestbuy.com:443",
110 | "method": "get",
111 | "path": "/v1/stores(region=MN&storeType=Big%20Box)?format=json&apiKey=XXX&show=name&sort=name.desc&cursorMark=AoQvYXBwbGUgdmFsbGV5IG1uJTU1MTI0CD%2BAAAAsc3RvcmVfMjQ1X3Vz&pageSize=100",
112 | "body": "",
113 | "status": 200,
114 | "response": {
115 | "nextCursorMark": "AoQvYXBwbGUgdmFsbGV5IG1uJTU1MTI0CD+AAAAsc3RvcmVfMjQ1X3Vz",
116 | "total": 22,
117 | "totalPages": 1,
118 | "queryTime": "0.024",
119 | "totalTime": "0.024",
120 | "partial": false,
121 | "canonicalUrl": "/v1/stores(region=\"MN\"&storeType=\"Big Box\")?show=name&sort=name.desc&pageSize=100&cursorMark=AoQvYXBwbGUgdmFsbGV5IG1uJTU1MTI0CD+AAAAsc3RvcmVfMjQ1X3Vz&format=json&apiKey=XXX",
122 | "stores": []
123 | },
124 | "rawHeaders": [
125 | "Access-Control-Allow-Headers",
126 | "origin, x-requested-with, accept",
127 | "Access-Control-Allow-Methods",
128 | "GET",
129 | "Access-Control-Allow-Origin",
130 | "*",
131 | "Access-Control-Max-Age",
132 | "3628800",
133 | "Content-Type",
134 | "application/json; charset=UTF-8",
135 | "Date",
136 | "Mon, 25 Sep 2017 16:20:25 GMT",
137 | "Server",
138 | "Best Buy Public APIs",
139 | "X-Cache-Hit",
140 | "true",
141 | "Content-Length",
142 | "386",
143 | "Connection",
144 | "Close"
145 | ]
146 | }
147 | ]
--------------------------------------------------------------------------------
/test/index.test.js:
--------------------------------------------------------------------------------
1 | const test = require('./tape-nock-setup')
2 |
3 | const bin = require('../bin')
4 | const to = require('to2')
5 | const pkg = require('../package.json')
6 | const fs = require('fs')
7 | const rimraf = require('rimraf')
8 |
9 | function bestbuy (cmd, callback) {
10 | let output = ''
11 |
12 | let args = cmd.match(/[\\.-\w]+|"(?:\\"|[^"])+"/g) || []
13 | args = args.map(a => a.replace(/"/g, ''))
14 | bin(args, to(
15 | (chunk, enc, cb) => {
16 | output += chunk.toString()
17 | cb(null, chunk)
18 | }
19 | ), processResponse)
20 |
21 | function processResponse (err) {
22 | if (err) return callback(err)
23 | callback(null, output)
24 | }
25 | }
26 |
27 | test('--version flag prints the version', function (t) {
28 | bestbuy('--version', function (err, output) {
29 | t.error(err, 'no error')
30 | t.equals(output, `${pkg.version}\n`, 'version matches')
31 | t.end()
32 | })
33 | })
34 |
35 | test('-v flag prints the version', function (t) {
36 | bestbuy('-v', function (err, output) {
37 | t.error(err, 'no error')
38 | t.equals(output, `${pkg.version}\n`, 'version matches')
39 | t.end()
40 | })
41 | })
42 |
43 | test('no arguments shows the help screen', function (t) {
44 | bestbuy('', function (err, output) {
45 | t.error(err, 'no error')
46 | t.ok(output.startsWith('\nBest Buy Bulk Download Tool'), 'help message shown')
47 | t.end()
48 | })
49 | })
50 |
51 | test('--help shows the help screen', function (t) {
52 | bestbuy('--help', function (err, output) {
53 | t.error(err, 'no error')
54 | t.ok(output.startsWith('\nBest Buy Bulk Download Tool'), 'help message shown')
55 | t.end()
56 | })
57 | })
58 |
59 | test('--h shows the help screen', function (t) {
60 | bestbuy('-h', function (err, output) {
61 | t.error(err, 'no error')
62 | t.ok(output.startsWith('\nBest Buy Bulk Download Tool'), 'help message shown')
63 | t.end()
64 | })
65 | })
66 |
67 | test('invalid resource returns error', function (t) {
68 | bestbuy('blarg', function (err, output) {
69 | t.equals(err.message, 'Invalid resource: blarg', 'correct error returned')
70 | t.equals(output, undefined, 'no other output')
71 | t.end()
72 | })
73 | })
74 |
75 | test('fetch a product by sku and output to stdout', function (t) {
76 | bestbuy('products --query 5919905 --show name', function (err, output) {
77 | t.error(err, 'no error')
78 | const expectedOutput = '[\n{"name":"Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"}\n]\n'
79 | t.equals(output, expectedOutput, 'stdout is as expected')
80 | t.end()
81 | })
82 | })
83 |
84 | test('fetch a product by sku and output to stdout as xml', function (t) {
85 | bestbuy('products -q 5919905 --s name -f xml', function (err, output) {
86 | t.error(err, 'no error')
87 | const expectedOutput = '\n\n Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con\n\n'
88 | t.equals(output, expectedOutput, 'stdout is as expected')
89 | t.end()
90 | })
91 | })
92 |
93 | test('fetch a product by sku and output to stdout in bare mode', function (t) {
94 | bestbuy('products --query "sku in (5919905,5670100)" --show name --bare', function (err, output) {
95 | t.error(err, 'no error')
96 | const expectedOutput = '{"name":"Nintendo - Switch™ 32GB Console - Neon Red/Neon Blue Joy-Con™"}\n{"name":"Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"}'
97 | t.equals(output, expectedOutput, 'stdout is as expected')
98 | t.end()
99 | })
100 | })
101 |
102 | test('fetch a product by sku and output to stdout as xml in bare mode', function (t) {
103 | bestbuy('products --query "sku in (5919905,5670100)" --show name --format xml --bare', function (err, output) {
104 | t.error(err, 'no error')
105 | const expectedOutput = ` Nintendo - Switch™ 32GB Console - Neon Red/Neon Blue Joy-Con™
106 | Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con
107 | `
108 | t.equals(output, expectedOutput, 'stdout is as expected')
109 | t.end()
110 | })
111 | })
112 |
113 | test('fetch a product by sku and output to a file', function (t) {
114 | bestbuy('products -q 5919905 --s name -o data.json', function (err, output) {
115 | t.error(err, 'no error')
116 | const expectedOutput = 'products: 1/1 (100.00%)'
117 | t.ok(output.startsWith(expectedOutput), 'stdout is as expected')
118 |
119 | // ensure file is good
120 | const dataFile = fs.readFileSync('data.json')
121 |
122 | t.equals(dataFile.toString(), '[\n{"name":"Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con"}\n]\n', 'data file has expected content')
123 | rimraf.sync('data.json')
124 | t.end()
125 | })
126 | })
127 |
128 | test('fetch a product by sku and output to a file as xml', function (t) {
129 | // delete file
130 |
131 | bestbuy('products --format xml --query 5919905 --show name --output data.xml', function (err, output) {
132 | t.error(err, 'no error')
133 | const expectedOutput = 'products: 1/1 (100.00%)'
134 | t.ok(output.startsWith(expectedOutput), 'stdout is as expected')
135 |
136 | // ensure file is good
137 | const dataFile = fs.readFileSync('data.xml')
138 |
139 | t.equals(dataFile.toString(), '\n\n Nintendo - Switch™ 32GB Super Mario Odyssey Edition Bundle - Red Joy-Con\n\n', 'data file has expected content')
140 | rimraf.sync('data.xml')
141 | t.end()
142 | })
143 | })
144 |
145 | test('fetch a category by id and output to stdout', function (t) {
146 | bestbuy('categories --query "id=abcat0010000" --show name', function (err, output) {
147 | t.error(err, 'no error')
148 | const expectedOutput = '[\n{"name":"Gift Ideas"}\n]\n'
149 | t.equals(output, expectedOutput, 'stdout is as expected')
150 | t.end()
151 | })
152 | })
153 |
154 | test('fetch stores by postalCode and output to stdout', function (t) {
155 | bestbuy('stores --query "postalCode=55109" --show "name,storeType"', function (err, output) {
156 | t.error(err, 'no error')
157 | const expectedOutput = '[\n{"name":"MAPLEWOOD MN","storeType":"Big Box"}\n,\n{"name":"MAPLEWOOD MALL","storeType":"Mobile SAS"}\n]\n'
158 | t.equals(output, expectedOutput, 'stdout is as expected')
159 | t.end()
160 | })
161 | })
162 |
163 | test('fetch all stores', function (t) {
164 | bestbuy('stores -q "storeType=Big Box" --show "storeId"', function (err, output) {
165 | t.error(err, 'no error')
166 | const stores = JSON.parse(output)
167 | t.equals(stores.length, 1021, 'all stores returned')
168 | t.end()
169 | })
170 | })
171 |
172 | test('fetch stores and sort by name', function (t) {
173 | bestbuy('stores -q "region=MN&storeType=Big Box" --show name --sort name', function (err, output) {
174 | t.error(err, 'no error')
175 | const stores = JSON.parse(output)
176 | stores.forEach((s, i) => i + 1 < stores.length && t.ok(s.name <= stores[i + 1].name, `${s.name} < ${stores[i + 1].name}`))
177 | t.end()
178 | })
179 | })
180 |
181 | test('fetch all stores and sort by name desc', function (t) {
182 | bestbuy('stores -q "region=MN&storeType=Big Box" --show name --sort "name.desc"', function (err, output) {
183 | t.error(err, 'no error')
184 | const stores = JSON.parse(output)
185 | stores.forEach((s, i) => i + 1 < stores.length && t.ok(s.name >= stores[i + 1].name, `${s.name} < ${stores[i + 1].name}`))
186 | t.end()
187 | })
188 | })
189 |
190 | test('fetch products as csv', function (t) {
191 | bestbuy('products -q "sku=5721722" -s "name,salePrice,url" -f csv', function (err, output) {
192 | t.error(err, 'no error')
193 |
194 | const expected = 'name,salePrice,url\nSuper Mario Odyssey - Nintendo Switch,59.99,https://api.bestbuy.com/click/-/5721722/pdp'
195 | t.equals(output, expected, 'csv header row present')
196 | t.end()
197 | })
198 | })
199 |
200 | test('fetch products as csv without the header row using --bare', function (t) {
201 | bestbuy('products --query "sku=5721722" --show "name,salePrice,url" --format csv --bare', function (err, output) {
202 | t.error(err, 'no error')
203 | const expected = 'Super Mario Odyssey - Nintendo Switch,59.99,https://api.bestbuy.com/click/-/5721722/pdp'
204 | t.equals(output, expected, 'csv header row not present')
205 | t.end()
206 | })
207 | })
208 |
209 | test('fetch products as tsv', function (t) {
210 | bestbuy('products -q "sku=5721722" -s "name,salePrice,url" -f tsv', function (err, output) {
211 | t.error(err, 'no error')
212 |
213 | const expected = 'name\tsalePrice\turl\nSuper Mario Odyssey - Nintendo Switch\t59.99\thttps://api.bestbuy.com/click/-/5721722/pdp'
214 | t.equals(output, expected, 'tsv header row present')
215 | t.end()
216 | })
217 | })
218 |
219 | test('fetch products as tsv without the header row using --bare', function (t) {
220 | bestbuy('products --query "sku=5721722" --show "name,salePrice,url" --format tsv --bare', function (err, output) {
221 | t.error(err, 'no error')
222 | const expected = 'Super Mario Odyssey - Nintendo Switch\t59.99\thttps://api.bestbuy.com/click/-/5721722/pdp'
223 | t.equals(output, expected, 'csv header row not present')
224 | t.end()
225 | })
226 | })
227 |
--------------------------------------------------------------------------------
/test/fixtures/fetch all stores_.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "scope": "https://api.bestbuy.com:443",
4 | "method": "get",
5 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=*&pageSize=100",
6 | "body": "",
7 | "status": 200,
8 | "response": {
9 | "nextCursorMark": "AoMlMTE1ODEIP4AAACxzdG9yZV85NTBfdXM=",
10 | "total": 1021,
11 | "totalPages": 11,
12 | "queryTime": "0.045",
13 | "totalTime": "0.088",
14 | "partial": false,
15 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=*&format=json&apiKey=XXX",
16 | "stores": [
17 | {
18 | "storeId": 418
19 | },
20 | {
21 | "storeId": 1433
22 | },
23 | {
24 | "storeId": 2506
25 | },
26 | {
27 | "storeId": 567
28 | },
29 | {
30 | "storeId": 532
31 | },
32 | {
33 | "storeId": 820
34 | },
35 | {
36 | "storeId": 1407
37 | },
38 | {
39 | "storeId": 1532
40 | },
41 | {
42 | "storeId": 818
43 | },
44 | {
45 | "storeId": 533
46 | },
47 | {
48 | "storeId": 436
49 | },
50 | {
51 | "storeId": 1140
52 | },
53 | {
54 | "storeId": 1126
55 | },
56 | {
57 | "storeId": 537
58 | },
59 | {
60 | "storeId": 1088
61 | },
62 | {
63 | "storeId": 530
64 | },
65 | {
66 | "storeId": 877
67 | },
68 | {
69 | "storeId": 385
70 | },
71 | {
72 | "storeId": 596
73 | },
74 | {
75 | "storeId": 568
76 | },
77 | {
78 | "storeId": 343
79 | },
80 | {
81 | "storeId": 441
82 | },
83 | {
84 | "storeId": 806
85 | },
86 | {
87 | "storeId": 1461
88 | },
89 | {
90 | "storeId": 569
91 | },
92 | {
93 | "storeId": 534
94 | },
95 | {
96 | "storeId": 419
97 | },
98 | {
99 | "storeId": 536
100 | },
101 | {
102 | "storeId": 591
103 | },
104 | {
105 | "storeId": 868
106 | },
107 | {
108 | "storeId": 535
109 | },
110 | {
111 | "storeId": 531
112 | },
113 | {
114 | "storeId": 1420
115 | },
116 | {
117 | "storeId": 1464
118 | },
119 | {
120 | "storeId": 463
121 | },
122 | {
123 | "storeId": 360
124 | },
125 | {
126 | "storeId": 484
127 | },
128 | {
129 | "storeId": 1026
130 | },
131 | {
132 | "storeId": 1468
133 | },
134 | {
135 | "storeId": 381
136 | },
137 | {
138 | "storeId": 487
139 | },
140 | {
141 | "storeId": 549
142 | },
143 | {
144 | "storeId": 760
145 | },
146 | {
147 | "storeId": 1488
148 | },
149 | {
150 | "storeId": 300
151 | },
152 | {
153 | "storeId": 1067
154 | },
155 | {
156 | "storeId": 331
157 | },
158 | {
159 | "storeId": 886
160 | },
161 | {
162 | "storeId": 472
163 | },
164 | {
165 | "storeId": 1506
166 | },
167 | {
168 | "storeId": 474
169 | },
170 | {
171 | "storeId": 1535
172 | },
173 | {
174 | "storeId": 468
175 | },
176 | {
177 | "storeId": 2509
178 | },
179 | {
180 | "storeId": 344
181 | },
182 | {
183 | "storeId": 887
184 | },
185 | {
186 | "storeId": 1895
187 | },
188 | {
189 | "storeId": 388
190 | },
191 | {
192 | "storeId": 1137
193 | },
194 | {
195 | "storeId": 400
196 | },
197 | {
198 | "storeId": 457
199 | },
200 | {
201 | "storeId": 473
202 | },
203 | {
204 | "storeId": 1098
205 | },
206 | {
207 | "storeId": 1177
208 | },
209 | {
210 | "storeId": 583
211 | },
212 | {
213 | "storeId": 579
214 | },
215 | {
216 | "storeId": 581
217 | },
218 | {
219 | "storeId": 692
220 | },
221 | {
222 | "storeId": 578
223 | },
224 | {
225 | "storeId": 475
226 | },
227 | {
228 | "storeId": 544
229 | },
230 | {
231 | "storeId": 598
232 | },
233 | {
234 | "storeId": 456
235 | },
236 | {
237 | "storeId": 1154
238 | },
239 | {
240 | "storeId": 1538
241 | },
242 | {
243 | "storeId": 1531
244 | },
245 | {
246 | "storeId": 482
247 | },
248 | {
249 | "storeId": 609
250 | },
251 | {
252 | "storeId": 1028
253 | },
254 | {
255 | "storeId": 1448
256 | },
257 | {
258 | "storeId": 835
259 | },
260 | {
261 | "storeId": 469
262 | },
263 | {
264 | "storeId": 1172
265 | },
266 | {
267 | "storeId": 1891
268 | },
269 | {
270 | "storeId": 822
271 | },
272 | {
273 | "storeId": 1029
274 | },
275 | {
276 | "storeId": 471
277 | },
278 | {
279 | "storeId": 374
280 | },
281 | {
282 | "storeId": 461
283 | },
284 | {
285 | "storeId": 1394
286 | },
287 | {
288 | "storeId": 455
289 | },
290 | {
291 | "storeId": 478
292 | },
293 | {
294 | "storeId": 599
295 | },
296 | {
297 | "storeId": 2518
298 | },
299 | {
300 | "storeId": 1520
301 | },
302 | {
303 | "storeId": 1886
304 | },
305 | {
306 | "storeId": 1115
307 | },
308 | {
309 | "storeId": 483
310 | },
311 | {
312 | "storeId": 1467
313 | },
314 | {
315 | "storeId": 950
316 | }
317 | ]
318 | },
319 | "rawHeaders": [
320 | "Access-Control-Allow-Headers",
321 | "origin, x-requested-with, accept",
322 | "Access-Control-Allow-Methods",
323 | "GET",
324 | "Access-Control-Allow-Origin",
325 | "*",
326 | "Access-Control-Max-Age",
327 | "3628800",
328 | "Content-Type",
329 | "application/json; charset=UTF-8",
330 | "Date",
331 | "Fri, 22 Sep 2017 22:16:25 GMT",
332 | "Server",
333 | "Best Buy Public APIs",
334 | "X-Cache-Hit",
335 | "true",
336 | "Content-Length",
337 | "1922",
338 | "Connection",
339 | "Close"
340 | ]
341 | },
342 | {
343 | "scope": "https://api.bestbuy.com:443",
344 | "method": "get",
345 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlMTE1ODEIP4AAACxzdG9yZV85NTBfdXM%3D&pageSize=100",
346 | "body": "",
347 | "status": 200,
348 | "response": {
349 | "nextCursorMark": "AoMlMjIxNTAIP4AAACxzdG9yZV8yNjlfdXM=",
350 | "total": 1021,
351 | "totalPages": 11,
352 | "queryTime": "0.053",
353 | "totalTime": "0.098",
354 | "partial": false,
355 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlMTE1ODEIP4AAACxzdG9yZV85NTBfdXM=&format=json&apiKey=XXX",
356 | "stores": [
357 | {
358 | "storeId": 454
359 | },
360 | {
361 | "storeId": 442
362 | },
363 | {
364 | "storeId": 458
365 | },
366 | {
367 | "storeId": 200
368 | },
369 | {
370 | "storeId": 345
371 | },
372 | {
373 | "storeId": 467
374 | },
375 | {
376 | "storeId": 824
377 | },
378 | {
379 | "storeId": 809
380 | },
381 | {
382 | "storeId": 428
383 | },
384 | {
385 | "storeId": 518
386 | },
387 | {
388 | "storeId": 460
389 | },
390 | {
391 | "storeId": 541
392 | },
393 | {
394 | "storeId": 1091
395 | },
396 | {
397 | "storeId": 1183
398 | },
399 | {
400 | "storeId": 538
401 | },
402 | {
403 | "storeId": 1127
404 | },
405 | {
406 | "storeId": 545
407 | },
408 | {
409 | "storeId": 1089
410 | },
411 | {
412 | "storeId": 1380
413 | },
414 | {
415 | "storeId": 1131
416 | },
417 | {
418 | "storeId": 1455
419 | },
420 | {
421 | "storeId": 1152
422 | },
423 | {
424 | "storeId": 459
425 | },
426 | {
427 | "storeId": 1541
428 | },
429 | {
430 | "storeId": 433
431 | },
432 | {
433 | "storeId": 1400
434 | },
435 | {
436 | "storeId": 384
437 | },
438 | {
439 | "storeId": 1036
440 | },
441 | {
442 | "storeId": 1164
443 | },
444 | {
445 | "storeId": 586
446 | },
447 | {
448 | "storeId": 882
449 | },
450 | {
451 | "storeId": 432
452 | },
453 | {
454 | "storeId": 588
455 | },
456 | {
457 | "storeId": 585
458 | },
459 | {
460 | "storeId": 584
461 | },
462 | {
463 | "storeId": 595
464 | },
465 | {
466 | "storeId": 1267
467 | },
468 | {
469 | "storeId": 825
470 | },
471 | {
472 | "storeId": 597
473 | },
474 | {
475 | "storeId": 1015
476 | },
477 | {
478 | "storeId": 369
479 | },
480 | {
481 | "storeId": 1478
482 | },
483 | {
484 | "storeId": 547
485 | },
486 | {
487 | "storeId": 1087
488 | },
489 | {
490 | "storeId": 1197
491 | },
492 | {
493 | "storeId": 1039
494 | },
495 | {
496 | "storeId": 1794
497 | },
498 | {
499 | "storeId": 1403
500 | },
501 | {
502 | "storeId": 587
503 | },
504 | {
505 | "storeId": 1442
506 | },
507 | {
508 | "storeId": 341
509 | },
510 | {
511 | "storeId": 342
512 | },
513 | {
514 | "storeId": 1395
515 | },
516 | {
517 | "storeId": 577
518 | },
519 | {
520 | "storeId": 582
521 | },
522 | {
523 | "storeId": 576
524 | },
525 | {
526 | "storeId": 589
527 | },
528 | {
529 | "storeId": 898
530 | },
531 | {
532 | "storeId": 1764
533 | },
534 | {
535 | "storeId": 197
536 | },
537 | {
538 | "storeId": 1193
539 | },
540 | {
541 | "storeId": 525
542 | },
543 | {
544 | "storeId": 448
545 | },
546 | {
547 | "storeId": 1771
548 | },
549 | {
550 | "storeId": 580
551 | },
552 | {
553 | "storeId": 1480
554 | },
555 | {
556 | "storeId": 465
557 | },
558 | {
559 | "storeId": 842
560 | },
561 | {
562 | "storeId": 1092
563 | },
564 | {
565 | "storeId": 801
566 | },
567 | {
568 | "storeId": 356
569 | },
570 | {
571 | "storeId": 1449
572 | },
573 | {
574 | "storeId": 146
575 | },
576 | {
577 | "storeId": 1022
578 | },
579 | {
580 | "storeId": 297
581 | },
582 | {
583 | "storeId": 446
584 | },
585 | {
586 | "storeId": 1003
587 | },
588 | {
589 | "storeId": 1776
590 | },
591 | {
592 | "storeId": 265
593 | },
594 | {
595 | "storeId": 486
596 | },
597 | {
598 | "storeId": 2508
599 | },
600 | {
601 | "storeId": 293
602 | },
603 | {
604 | "storeId": 819
605 | },
606 | {
607 | "storeId": 288
608 | },
609 | {
610 | "storeId": 1129
611 | },
612 | {
613 | "storeId": 296
614 | },
615 | {
616 | "storeId": 290
617 | },
618 | {
619 | "storeId": 263
620 | },
621 | {
622 | "storeId": 1053
623 | },
624 | {
625 | "storeId": 149
626 | },
627 | {
628 | "storeId": 1436
629 | },
630 | {
631 | "storeId": 159
632 | },
633 | {
634 | "storeId": 163
635 | },
636 | {
637 | "storeId": 427
638 | },
639 | {
640 | "storeId": 1445
641 | },
642 | {
643 | "storeId": 772
644 | },
645 | {
646 | "storeId": 1199
647 | },
648 | {
649 | "storeId": 273
650 | },
651 | {
652 | "storeId": 283
653 | },
654 | {
655 | "storeId": 269
656 | }
657 | ]
658 | },
659 | "rawHeaders": [
660 | "Access-Control-Allow-Headers",
661 | "origin, x-requested-with, accept",
662 | "Access-Control-Allow-Methods",
663 | "GET",
664 | "Access-Control-Allow-Origin",
665 | "*",
666 | "Access-Control-Max-Age",
667 | "3628800",
668 | "Content-Type",
669 | "application/json; charset=UTF-8",
670 | "Date",
671 | "Fri, 22 Sep 2017 22:13:12 GMT",
672 | "Server",
673 | "Best Buy Public APIs",
674 | "X-Cache-Hit",
675 | "true",
676 | "Content-Length",
677 | "1959",
678 | "Connection",
679 | "Close"
680 | ]
681 | },
682 | {
683 | "scope": "https://api.bestbuy.com:443",
684 | "method": "get",
685 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlMjIxNTAIP4AAACxzdG9yZV8yNjlfdXM%3D&pageSize=100",
686 | "body": "",
687 | "status": 200,
688 | "response": {
689 | "nextCursorMark": "AoMlMzEwOTMIP4AAAC1zdG9yZV8xMTg1X3Vz",
690 | "total": 1021,
691 | "totalPages": 11,
692 | "queryTime": "0.010",
693 | "totalTime": "0.053",
694 | "partial": false,
695 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlMjIxNTAIP4AAACxzdG9yZV8yNjlfdXM=&format=json&apiKey=XXX",
696 | "stores": [
697 | {
698 | "storeId": 397
699 | },
700 | {
701 | "storeId": 287
702 | },
703 | {
704 | "storeId": 276
705 | },
706 | {
707 | "storeId": 493
708 | },
709 | {
710 | "storeId": 166
711 | },
712 | {
713 | "storeId": 1476
714 | },
715 | {
716 | "storeId": 1086
717 | },
718 | {
719 | "storeId": 1534
720 | },
721 | {
722 | "storeId": 860
723 | },
724 | {
725 | "storeId": 1013
726 | },
727 | {
728 | "storeId": 423
729 | },
730 | {
731 | "storeId": 1465
732 | },
733 | {
734 | "storeId": 1437
735 | },
736 | {
737 | "storeId": 1444
738 | },
739 | {
740 | "storeId": 422
741 | },
742 | {
743 | "storeId": 421
744 | },
745 | {
746 | "storeId": 766
747 | },
748 | {
749 | "storeId": 1460
750 | },
751 | {
752 | "storeId": 420
753 | },
754 | {
755 | "storeId": 479
756 | },
757 | {
758 | "storeId": 788
759 | },
760 | {
761 | "storeId": 434
762 | },
763 | {
764 | "storeId": 1149
765 | },
766 | {
767 | "storeId": 1085
768 | },
769 | {
770 | "storeId": 444
771 | },
772 | {
773 | "storeId": 1266
774 | },
775 | {
776 | "storeId": 1528
777 | },
778 | {
779 | "storeId": 573
780 | },
781 | {
782 | "storeId": 1798
783 | },
784 | {
785 | "storeId": 832
786 | },
787 | {
788 | "storeId": 158
789 | },
790 | {
791 | "storeId": 648
792 | },
793 | {
794 | "storeId": 155
795 | },
796 | {
797 | "storeId": 147
798 | },
799 | {
800 | "storeId": 574
801 | },
802 | {
803 | "storeId": 1492
804 | },
805 | {
806 | "storeId": 299
807 | },
808 | {
809 | "storeId": 821
810 | },
811 | {
812 | "storeId": 1453
813 | },
814 | {
815 | "storeId": 160
816 | },
817 | {
818 | "storeId": 1051
819 | },
820 | {
821 | "storeId": 386
822 | },
823 | {
824 | "storeId": 1892
825 | },
826 | {
827 | "storeId": 1132
828 | },
829 | {
830 | "storeId": 268
831 | },
832 | {
833 | "storeId": 175
834 | },
835 | {
836 | "storeId": 261
837 | },
838 | {
839 | "storeId": 1133
840 | },
841 | {
842 | "storeId": 262
843 | },
844 | {
845 | "storeId": 1108
846 | },
847 | {
848 | "storeId": 1155
849 | },
850 | {
851 | "storeId": 1107
852 | },
853 | {
854 | "storeId": 1767
855 | },
856 | {
857 | "storeId": 174
858 | },
859 | {
860 | "storeId": 601
861 | },
862 | {
863 | "storeId": 378
864 | },
865 | {
866 | "storeId": 805
867 | },
868 | {
869 | "storeId": 1451
870 | },
871 | {
872 | "storeId": 425
873 | },
874 | {
875 | "storeId": 953
876 | },
877 | {
878 | "storeId": 1385
879 | },
880 | {
881 | "storeId": 445
882 | },
883 | {
884 | "storeId": 1466
885 | },
886 | {
887 | "storeId": 264
888 | },
889 | {
890 | "storeId": 270
891 | },
892 | {
893 | "storeId": 1515
894 | },
895 | {
896 | "storeId": 294
897 | },
898 | {
899 | "storeId": 517
900 | },
901 | {
902 | "storeId": 1120
903 | },
904 | {
905 | "storeId": 1428
906 | },
907 | {
908 | "storeId": 826
909 | },
910 | {
911 | "storeId": 855
912 | },
913 | {
914 | "storeId": 272
915 | },
916 | {
917 | "storeId": 520
918 | },
919 | {
920 | "storeId": 894
921 | },
922 | {
923 | "storeId": 664
924 | },
925 | {
926 | "storeId": 389
927 | },
928 | {
929 | "storeId": 516
930 | },
931 | {
932 | "storeId": 1408
933 | },
934 | {
935 | "storeId": 776
936 | },
937 | {
938 | "storeId": 502
939 | },
940 | {
941 | "storeId": 513
942 | },
943 | {
944 | "storeId": 504
945 | },
946 | {
947 | "storeId": 1159
948 | },
949 | {
950 | "storeId": 1186
951 | },
952 | {
953 | "storeId": 519
954 | },
955 | {
956 | "storeId": 1486
957 | },
958 | {
959 | "storeId": 501
960 | },
961 | {
962 | "storeId": 668
963 | },
964 | {
965 | "storeId": 505
966 | },
967 | {
968 | "storeId": 1037
969 | },
970 | {
971 | "storeId": 1049
972 | },
973 | {
974 | "storeId": 896
975 | },
976 | {
977 | "storeId": 890
978 | },
979 | {
980 | "storeId": 503
981 | },
982 | {
983 | "storeId": 1071
984 | },
985 | {
986 | "storeId": 426
987 | },
988 | {
989 | "storeId": 511
990 | },
991 | {
992 | "storeId": 507
993 | },
994 | {
995 | "storeId": 1185
996 | }
997 | ]
998 | },
999 | "rawHeaders": [
1000 | "Access-Control-Allow-Headers",
1001 | "origin, x-requested-with, accept",
1002 | "Access-Control-Allow-Methods",
1003 | "GET",
1004 | "Access-Control-Allow-Origin",
1005 | "*",
1006 | "Access-Control-Max-Age",
1007 | "3628800",
1008 | "Content-Type",
1009 | "application/json; charset=UTF-8",
1010 | "Date",
1011 | "Fri, 22 Sep 2017 22:13:12 GMT",
1012 | "Server",
1013 | "Best Buy Public APIs",
1014 | "X-Cache-Hit",
1015 | "true",
1016 | "Content-Length",
1017 | "1959",
1018 | "Connection",
1019 | "Close"
1020 | ]
1021 | },
1022 | {
1023 | "scope": "https://api.bestbuy.com:443",
1024 | "method": "get",
1025 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlMzEwOTMIP4AAAC1zdG9yZV8xMTg1X3Vz&pageSize=100",
1026 | "body": "",
1027 | "status": 200,
1028 | "response": {
1029 | "nextCursorMark": "AoMlMzg4MDQIP4AAACxzdG9yZV83NzhfdXM=",
1030 | "total": 1021,
1031 | "totalPages": 11,
1032 | "queryTime": "0.007",
1033 | "totalTime": "0.050",
1034 | "partial": false,
1035 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlMzEwOTMIP4AAAC1zdG9yZV8xMTg1X3Vz&format=json&apiKey=XXX",
1036 | "stores": [
1037 | {
1038 | "storeId": 365
1039 | },
1040 | {
1041 | "storeId": 508
1042 | },
1043 | {
1044 | "storeId": 789
1045 | },
1046 | {
1047 | "storeId": 843
1048 | },
1049 | {
1050 | "storeId": 515
1051 | },
1052 | {
1053 | "storeId": 1763
1054 | },
1055 | {
1056 | "storeId": 1475
1057 | },
1058 | {
1059 | "storeId": 429
1060 | },
1061 | {
1062 | "storeId": 430
1063 | },
1064 | {
1065 | "storeId": 1790
1066 | },
1067 | {
1068 | "storeId": 350
1069 | },
1070 | {
1071 | "storeId": 435
1072 | },
1073 | {
1074 | "storeId": 857
1075 | },
1076 | {
1077 | "storeId": 395
1078 | },
1079 | {
1080 | "storeId": 799
1081 | },
1082 | {
1083 | "storeId": 424
1084 | },
1085 | {
1086 | "storeId": 509
1087 | },
1088 | {
1089 | "storeId": 608
1090 | },
1091 | {
1092 | "storeId": 157
1093 | },
1094 | {
1095 | "storeId": 510
1096 | },
1097 | {
1098 | "storeId": 571
1099 | },
1100 | {
1101 | "storeId": 1530
1102 | },
1103 | {
1104 | "storeId": 512
1105 | },
1106 | {
1107 | "storeId": 816
1108 | },
1109 | {
1110 | "storeId": 555
1111 | },
1112 | {
1113 | "storeId": 559
1114 | },
1115 | {
1116 | "storeId": 1178
1117 | },
1118 | {
1119 | "storeId": 1424
1120 | },
1121 | {
1122 | "storeId": 1136
1123 | },
1124 | {
1125 | "storeId": 1498
1126 | },
1127 | {
1128 | "storeId": 557
1129 | },
1130 | {
1131 | "storeId": 553
1132 | },
1133 | {
1134 | "storeId": 1503
1135 | },
1136 | {
1137 | "storeId": 1502
1138 | },
1139 | {
1140 | "storeId": 558
1141 | },
1142 | {
1143 | "storeId": 552
1144 | },
1145 | {
1146 | "storeId": 543
1147 | },
1148 | {
1149 | "storeId": 551
1150 | },
1151 | {
1152 | "storeId": 1258
1153 | },
1154 | {
1155 | "storeId": 550
1156 | },
1157 | {
1158 | "storeId": 688
1159 | },
1160 | {
1161 | "storeId": 1168
1162 | },
1163 | {
1164 | "storeId": 808
1165 | },
1166 | {
1167 | "storeId": 554
1168 | },
1169 | {
1170 | "storeId": 560
1171 | },
1172 | {
1173 | "storeId": 1405
1174 | },
1175 | {
1176 | "storeId": 561
1177 | },
1178 | {
1179 | "storeId": 462
1180 | },
1181 | {
1182 | "storeId": 2513
1183 | },
1184 | {
1185 | "storeId": 565
1186 | },
1187 | {
1188 | "storeId": 564
1189 | },
1190 | {
1191 | "storeId": 563
1192 | },
1193 | {
1194 | "storeId": 1184
1195 | },
1196 | {
1197 | "storeId": 431
1198 | },
1199 | {
1200 | "storeId": 1135
1201 | },
1202 | {
1203 | "storeId": 767
1204 | },
1205 | {
1206 | "storeId": 1539
1207 | },
1208 | {
1209 | "storeId": 524
1210 | },
1211 | {
1212 | "storeId": 1141
1213 | },
1214 | {
1215 | "storeId": 562
1216 | },
1217 | {
1218 | "storeId": 1452
1219 | },
1220 | {
1221 | "storeId": 862
1222 | },
1223 | {
1224 | "storeId": 1383
1225 | },
1226 | {
1227 | "storeId": 885
1228 | },
1229 | {
1230 | "storeId": 1411
1231 | },
1232 | {
1233 | "storeId": 443
1234 | },
1235 | {
1236 | "storeId": 1156
1237 | },
1238 | {
1239 | "storeId": 881
1240 | },
1241 | {
1242 | "storeId": 1162
1243 | },
1244 | {
1245 | "storeId": 1446
1246 | },
1247 | {
1248 | "storeId": 1004
1249 | },
1250 | {
1251 | "storeId": 383
1252 | },
1253 | {
1254 | "storeId": 807
1255 | },
1256 | {
1257 | "storeId": 1540
1258 | },
1259 | {
1260 | "storeId": 514
1261 | },
1262 | {
1263 | "storeId": 1785
1264 | },
1265 | {
1266 | "storeId": 836
1267 | },
1268 | {
1269 | "storeId": 1097
1270 | },
1271 | {
1272 | "storeId": 793
1273 | },
1274 | {
1275 | "storeId": 678
1276 | },
1277 | {
1278 | "storeId": 340
1279 | },
1280 | {
1281 | "storeId": 662
1282 | },
1283 | {
1284 | "storeId": 170
1285 | },
1286 | {
1287 | "storeId": 663
1288 | },
1289 | {
1290 | "storeId": 172
1291 | },
1292 | {
1293 | "storeId": 1064
1294 | },
1295 | {
1296 | "storeId": 1425
1297 | },
1298 | {
1299 | "storeId": 1130
1300 | },
1301 | {
1302 | "storeId": 1070
1303 | },
1304 | {
1305 | "storeId": 488
1306 | },
1307 | {
1308 | "storeId": 899
1309 | },
1310 | {
1311 | "storeId": 1894
1312 | },
1313 | {
1314 | "storeId": 169
1315 | },
1316 | {
1317 | "storeId": 1382
1318 | },
1319 | {
1320 | "storeId": 1399
1321 | },
1322 | {
1323 | "storeId": 171
1324 | },
1325 | {
1326 | "storeId": 165
1327 | },
1328 | {
1329 | "storeId": 853
1330 | },
1331 | {
1332 | "storeId": 1447
1333 | },
1334 | {
1335 | "storeId": 778
1336 | }
1337 | ]
1338 | },
1339 | "rawHeaders": [
1340 | "Access-Control-Allow-Headers",
1341 | "origin, x-requested-with, accept",
1342 | "Access-Control-Allow-Methods",
1343 | "GET",
1344 | "Access-Control-Allow-Origin",
1345 | "*",
1346 | "Access-Control-Max-Age",
1347 | "3628800",
1348 | "Content-Type",
1349 | "application/json; charset=UTF-8",
1350 | "Date",
1351 | "Fri, 22 Sep 2017 22:13:12 GMT",
1352 | "Server",
1353 | "Best Buy Public APIs",
1354 | "X-Cache-Hit",
1355 | "true",
1356 | "Content-Length",
1357 | "1958",
1358 | "Connection",
1359 | "Close"
1360 | ]
1361 | },
1362 | {
1363 | "scope": "https://api.bestbuy.com:443",
1364 | "method": "get",
1365 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlMzg4MDQIP4AAACxzdG9yZV83NzhfdXM%3D&pageSize=100",
1366 | "body": "",
1367 | "status": 200,
1368 | "response": {
1369 | "nextCursorMark": "AoMlNDkyMDIIP4AAACxzdG9yZV80NzZfdXM=",
1370 | "total": 1021,
1371 | "totalPages": 11,
1372 | "queryTime": "0.009",
1373 | "totalTime": "0.050",
1374 | "partial": false,
1375 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlMzg4MDQIP4AAACxzdG9yZV83NzhfdXM=&format=json&apiKey=XXX",
1376 | "stores": [
1377 | {
1378 | "storeId": 1519
1379 | },
1380 | {
1381 | "storeId": 938
1382 | },
1383 | {
1384 | "storeId": 1439
1385 | },
1386 | {
1387 | "storeId": 661
1388 | },
1389 | {
1390 | "storeId": 1174
1391 | },
1392 | {
1393 | "storeId": 1781
1394 | },
1395 | {
1396 | "storeId": 333
1397 | },
1398 | {
1399 | "storeId": 335
1400 | },
1401 | {
1402 | "storeId": 259
1403 | },
1404 | {
1405 | "storeId": 1477
1406 | },
1407 | {
1408 | "storeId": 161
1409 | },
1410 | {
1411 | "storeId": 817
1412 | },
1413 | {
1414 | "storeId": 440
1415 | },
1416 | {
1417 | "storeId": 1121
1418 | },
1419 | {
1420 | "storeId": 791
1421 | },
1422 | {
1423 | "storeId": 156
1424 | },
1425 | {
1426 | "storeId": 1167
1427 | },
1428 | {
1429 | "storeId": 145
1430 | },
1431 | {
1432 | "storeId": 292
1433 | },
1434 | {
1435 | "storeId": 1096
1436 | },
1437 | {
1438 | "storeId": 339
1439 | },
1440 | {
1441 | "storeId": 295
1442 | },
1443 | {
1444 | "storeId": 570
1445 | },
1446 | {
1447 | "storeId": 247
1448 | },
1449 | {
1450 | "storeId": 1429
1451 | },
1452 | {
1453 | "storeId": 243
1454 | },
1455 | {
1456 | "storeId": 1050
1457 | },
1458 | {
1459 | "storeId": 284
1460 | },
1461 | {
1462 | "storeId": 758
1463 | },
1464 | {
1465 | "storeId": 168
1466 | },
1467 | {
1468 | "storeId": 279
1469 | },
1470 | {
1471 | "storeId": 271
1472 | },
1473 | {
1474 | "storeId": 162
1475 | },
1476 | {
1477 | "storeId": 1099
1478 | },
1479 | {
1480 | "storeId": 278
1481 | },
1482 | {
1483 | "storeId": 285
1484 | },
1485 | {
1486 | "storeId": 834
1487 | },
1488 | {
1489 | "storeId": 257
1490 | },
1491 | {
1492 | "storeId": 880
1493 | },
1494 | {
1495 | "storeId": 286
1496 | },
1497 | {
1498 | "storeId": 879
1499 | },
1500 | {
1501 | "storeId": 390
1502 | },
1503 | {
1504 | "storeId": 617
1505 | },
1506 | {
1507 | "storeId": 394
1508 | },
1509 | {
1510 | "storeId": 154
1511 | },
1512 | {
1513 | "storeId": 153
1514 | },
1515 | {
1516 | "storeId": 494
1517 | },
1518 | {
1519 | "storeId": 1474
1520 | },
1521 | {
1522 | "storeId": 266
1523 | },
1524 | {
1525 | "storeId": 274
1526 | },
1527 | {
1528 | "storeId": 790
1529 | },
1530 | {
1531 | "storeId": 795
1532 | },
1533 | {
1534 | "storeId": 1094
1535 | },
1536 | {
1537 | "storeId": 490
1538 | },
1539 | {
1540 | "storeId": 1025
1541 | },
1542 | {
1543 | "storeId": 489
1544 | },
1545 | {
1546 | "storeId": 230
1547 | },
1548 | {
1549 | "storeId": 232
1550 | },
1551 | {
1552 | "storeId": 229
1553 | },
1554 | {
1555 | "storeId": 231
1556 | },
1557 | {
1558 | "storeId": 1774
1559 | },
1560 | {
1561 | "storeId": 951
1562 | },
1563 | {
1564 | "storeId": 309
1565 | },
1566 | {
1567 | "storeId": 325
1568 | },
1569 | {
1570 | "storeId": 368
1571 | },
1572 | {
1573 | "storeId": 228
1574 | },
1575 | {
1576 | "storeId": 371
1577 | },
1578 | {
1579 | "storeId": 1010
1580 | },
1581 | {
1582 | "storeId": 2512
1583 | },
1584 | {
1585 | "storeId": 491
1586 | },
1587 | {
1588 | "storeId": 1252
1589 | },
1590 | {
1591 | "storeId": 858
1592 | },
1593 | {
1594 | "storeId": 227
1595 | },
1596 | {
1597 | "storeId": 2501
1598 | },
1599 | {
1600 | "storeId": 327
1601 | },
1602 | {
1603 | "storeId": 404
1604 | },
1605 | {
1606 | "storeId": 1095
1607 | },
1608 | {
1609 | "storeId": 415
1610 | },
1611 | {
1612 | "storeId": 407
1613 | },
1614 | {
1615 | "storeId": 414
1616 | },
1617 | {
1618 | "storeId": 1406
1619 | },
1620 | {
1621 | "storeId": 408
1622 | },
1623 | {
1624 | "storeId": 841
1625 | },
1626 | {
1627 | "storeId": 410
1628 | },
1629 | {
1630 | "storeId": 401
1631 | },
1632 | {
1633 | "storeId": 403
1634 | },
1635 | {
1636 | "storeId": 412
1637 | },
1638 | {
1639 | "storeId": 949
1640 | },
1641 | {
1642 | "storeId": 402
1643 | },
1644 | {
1645 | "storeId": 449
1646 | },
1647 | {
1648 | "storeId": 897
1649 | },
1650 | {
1651 | "storeId": 417
1652 | },
1653 | {
1654 | "storeId": 411
1655 | },
1656 | {
1657 | "storeId": 405
1658 | },
1659 | {
1660 | "storeId": 416
1661 | },
1662 | {
1663 | "storeId": 803
1664 | },
1665 | {
1666 | "storeId": 413
1667 | },
1668 | {
1669 | "storeId": 840
1670 | },
1671 | {
1672 | "storeId": 376
1673 | },
1674 | {
1675 | "storeId": 476
1676 | }
1677 | ]
1678 | },
1679 | "rawHeaders": [
1680 | "Access-Control-Allow-Headers",
1681 | "origin, x-requested-with, accept",
1682 | "Access-Control-Allow-Methods",
1683 | "GET",
1684 | "Access-Control-Allow-Origin",
1685 | "*",
1686 | "Access-Control-Max-Age",
1687 | "3628800",
1688 | "Content-Type",
1689 | "application/json; charset=UTF-8",
1690 | "Date",
1691 | "Fri, 22 Sep 2017 22:13:12 GMT",
1692 | "Server",
1693 | "Best Buy Public APIs",
1694 | "X-Cache-Hit",
1695 | "true",
1696 | "Content-Length",
1697 | "1943",
1698 | "Connection",
1699 | "Close"
1700 | ]
1701 | },
1702 | {
1703 | "scope": "https://api.bestbuy.com:443",
1704 | "method": "get",
1705 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlNDkyMDIIP4AAACxzdG9yZV80NzZfdXM%3D&pageSize=100",
1706 | "body": "",
1707 | "status": 200,
1708 | "response": {
1709 | "nextCursorMark": "AoMlNjA1NDIIP4AAAC1zdG9yZV8xNzc4X3Vz",
1710 | "total": 1021,
1711 | "totalPages": 11,
1712 | "queryTime": "0.028",
1713 | "totalTime": "0.068",
1714 | "partial": false,
1715 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlNDkyMDIIP4AAACxzdG9yZV80NzZfdXM=&format=json&apiKey=XXX",
1716 | "stores": [
1717 | {
1718 | "storeId": 464
1719 | },
1720 | {
1721 | "storeId": 883
1722 | },
1723 | {
1724 | "storeId": 480
1725 | },
1726 | {
1727 | "storeId": 409
1728 | },
1729 | {
1730 | "storeId": 406
1731 | },
1732 | {
1733 | "storeId": 500
1734 | },
1735 | {
1736 | "storeId": 2515
1737 | },
1738 | {
1739 | "storeId": 812
1740 | },
1741 | {
1742 | "storeId": 1512
1743 | },
1744 | {
1745 | "storeId": 16
1746 | },
1747 | {
1748 | "storeId": 796
1749 | },
1750 | {
1751 | "storeId": 604
1752 | },
1753 | {
1754 | "storeId": 379
1755 | },
1756 | {
1757 | "storeId": 792
1758 | },
1759 | {
1760 | "storeId": 878
1761 | },
1762 | {
1763 | "storeId": 21
1764 | },
1765 | {
1766 | "storeId": 20
1767 | },
1768 | {
1769 | "storeId": 22
1770 | },
1771 | {
1772 | "storeId": 667
1773 | },
1774 | {
1775 | "storeId": 1192
1776 | },
1777 | {
1778 | "storeId": 1147
1779 | },
1780 | {
1781 | "storeId": 44
1782 | },
1783 | {
1784 | "storeId": 757
1785 | },
1786 | {
1787 | "storeId": 1191
1788 | },
1789 | {
1790 | "storeId": 1489
1791 | },
1792 | {
1793 | "storeId": 654
1794 | },
1795 | {
1796 | "storeId": 25
1797 | },
1798 | {
1799 | "storeId": 26
1800 | },
1801 | {
1802 | "storeId": 29
1803 | },
1804 | {
1805 | "storeId": 892
1806 | },
1807 | {
1808 | "storeId": 59
1809 | },
1810 | {
1811 | "storeId": 208
1812 | },
1813 | {
1814 | "storeId": 28
1815 | },
1816 | {
1817 | "storeId": 399
1818 | },
1819 | {
1820 | "storeId": 1052
1821 | },
1822 | {
1823 | "storeId": 18
1824 | },
1825 | {
1826 | "storeId": 40
1827 | },
1828 | {
1829 | "storeId": 1890
1830 | },
1831 | {
1832 | "storeId": 27
1833 | },
1834 | {
1835 | "storeId": 1047
1836 | },
1837 | {
1838 | "storeId": 6
1839 | },
1840 | {
1841 | "storeId": 10
1842 | },
1843 | {
1844 | "storeId": 7
1845 | },
1846 | {
1847 | "storeId": 1055
1848 | },
1849 | {
1850 | "storeId": 245
1851 | },
1852 | {
1853 | "storeId": 15
1854 | },
1855 | {
1856 | "storeId": 4
1857 | },
1858 | {
1859 | "storeId": 8
1860 | },
1861 | {
1862 | "storeId": 611
1863 | },
1864 | {
1865 | "storeId": 1514
1866 | },
1867 | {
1868 | "storeId": 329
1869 | },
1870 | {
1871 | "storeId": 1463
1872 | },
1873 | {
1874 | "storeId": 281
1875 | },
1876 | {
1877 | "storeId": 1000
1878 | },
1879 | {
1880 | "storeId": 11
1881 | },
1882 | {
1883 | "storeId": 1443
1884 | },
1885 | {
1886 | "storeId": 540
1887 | },
1888 | {
1889 | "storeId": 43
1890 | },
1891 | {
1892 | "storeId": 14
1893 | },
1894 | {
1895 | "storeId": 330
1896 | },
1897 | {
1898 | "storeId": 12
1899 | },
1900 | {
1901 | "storeId": 522
1902 | },
1903 | {
1904 | "storeId": 17
1905 | },
1906 | {
1907 | "storeId": 861
1908 | },
1909 | {
1910 | "storeId": 13
1911 | },
1912 | {
1913 | "storeId": 337
1914 | },
1915 | {
1916 | "storeId": 1012
1917 | },
1918 | {
1919 | "storeId": 1063
1920 | },
1921 | {
1922 | "storeId": 592
1923 | },
1924 | {
1925 | "storeId": 593
1926 | },
1927 | {
1928 | "storeId": 1016
1929 | },
1930 | {
1931 | "storeId": 303
1932 | },
1933 | {
1934 | "storeId": 315
1935 | },
1936 | {
1937 | "storeId": 849
1938 | },
1939 | {
1940 | "storeId": 647
1941 | },
1942 | {
1943 | "storeId": 1166
1944 | },
1945 | {
1946 | "storeId": 318
1947 | },
1948 | {
1949 | "storeId": 1165
1950 | },
1951 | {
1952 | "storeId": 302
1953 | },
1954 | {
1955 | "storeId": 1169
1956 | },
1957 | {
1958 | "storeId": 304
1959 | },
1960 | {
1961 | "storeId": 893
1962 | },
1963 | {
1964 | "storeId": 387
1965 | },
1966 | {
1967 | "storeId": 322
1968 | },
1969 | {
1970 | "storeId": 305
1971 | },
1972 | {
1973 | "storeId": 607
1974 | },
1975 | {
1976 | "storeId": 313
1977 | },
1978 | {
1979 | "storeId": 306
1980 | },
1981 | {
1982 | "storeId": 1048
1983 | },
1984 | {
1985 | "storeId": 307
1986 | },
1987 | {
1988 | "storeId": 312
1989 | },
1990 | {
1991 | "storeId": 311
1992 | },
1993 | {
1994 | "storeId": 308
1995 | },
1996 | {
1997 | "storeId": 1066
1998 | },
1999 | {
2000 | "storeId": 813
2001 | },
2002 | {
2003 | "storeId": 310
2004 | },
2005 | {
2006 | "storeId": 301
2007 | },
2008 | {
2009 | "storeId": 316
2010 | },
2011 | {
2012 | "storeId": 324
2013 | },
2014 | {
2015 | "storeId": 1778
2016 | }
2017 | ]
2018 | },
2019 | "rawHeaders": [
2020 | "Access-Control-Allow-Headers",
2021 | "origin, x-requested-with, accept",
2022 | "Access-Control-Allow-Methods",
2023 | "GET",
2024 | "Access-Control-Allow-Origin",
2025 | "*",
2026 | "Access-Control-Max-Age",
2027 | "3628800",
2028 | "Content-Type",
2029 | "application/json; charset=UTF-8",
2030 | "Date",
2031 | "Fri, 22 Sep 2017 22:13:13 GMT",
2032 | "Server",
2033 | "Best Buy Public APIs",
2034 | "X-Cache-Hit",
2035 | "true",
2036 | "Content-Length",
2037 | "1916",
2038 | "Connection",
2039 | "Close"
2040 | ]
2041 | },
2042 | {
2043 | "scope": "https://api.bestbuy.com:443",
2044 | "method": "get",
2045 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlNjA1NDIIP4AAAC1zdG9yZV8xNzc4X3Vz&pageSize=100",
2046 | "body": "",
2047 | "status": 200,
2048 | "response": {
2049 | "nextCursorMark": "AoMlNzUwNzAIP4AAACxzdG9yZV8xOTZfdXM=",
2050 | "total": 1021,
2051 | "totalPages": 11,
2052 | "queryTime": "0.009",
2053 | "totalTime": "0.046",
2054 | "partial": false,
2055 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlNjA1NDIIP4AAAC1zdG9yZV8xNzc4X3Vz&format=json&apiKey=XXX",
2056 | "stores": [
2057 | {
2058 | "storeId": 1170
2059 | },
2060 | {
2061 | "storeId": 320
2062 | },
2063 | {
2064 | "storeId": 1142
2065 | },
2066 | {
2067 | "storeId": 1381
2068 | },
2069 | {
2070 | "storeId": 814
2071 | },
2072 | {
2073 | "storeId": 1777
2074 | },
2075 | {
2076 | "storeId": 323
2077 | },
2078 | {
2079 | "storeId": 319
2080 | },
2081 | {
2082 | "storeId": 1123
2083 | },
2084 | {
2085 | "storeId": 45
2086 | },
2087 | {
2088 | "storeId": 23
2089 | },
2090 | {
2091 | "storeId": 207
2092 | },
2093 | {
2094 | "storeId": 49
2095 | },
2096 | {
2097 | "storeId": 46
2098 | },
2099 | {
2100 | "storeId": 1426
2101 | },
2102 | {
2103 | "storeId": 31
2104 | },
2105 | {
2106 | "storeId": 1073
2107 | },
2108 | {
2109 | "storeId": 606
2110 | },
2111 | {
2112 | "storeId": 47
2113 | },
2114 | {
2115 | "storeId": 492
2116 | },
2117 | {
2118 | "storeId": 143
2119 | },
2120 | {
2121 | "storeId": 1897
2122 | },
2123 | {
2124 | "storeId": 942
2125 | },
2126 | {
2127 | "storeId": 34
2128 | },
2129 | {
2130 | "storeId": 30
2131 | },
2132 | {
2133 | "storeId": 833
2134 | },
2135 | {
2136 | "storeId": 32
2137 | },
2138 | {
2139 | "storeId": 1434
2140 | },
2141 | {
2142 | "storeId": 523
2143 | },
2144 | {
2145 | "storeId": 36
2146 | },
2147 | {
2148 | "storeId": 370
2149 | },
2150 | {
2151 | "storeId": 1501
2152 | },
2153 | {
2154 | "storeId": 768
2155 | },
2156 | {
2157 | "storeId": 613
2158 | },
2159 | {
2160 | "storeId": 346
2161 | },
2162 | {
2163 | "storeId": 1102
2164 | },
2165 | {
2166 | "storeId": 602
2167 | },
2168 | {
2169 | "storeId": 1793
2170 | },
2171 | {
2172 | "storeId": 52
2173 | },
2174 | {
2175 | "storeId": 837
2176 | },
2177 | {
2178 | "storeId": 193
2179 | },
2180 | {
2181 | "storeId": 277
2182 | },
2183 | {
2184 | "storeId": 39
2185 | },
2186 | {
2187 | "storeId": 1101
2188 | },
2189 | {
2190 | "storeId": 48
2191 | },
2192 | {
2193 | "storeId": 1513
2194 | },
2195 | {
2196 | "storeId": 51
2197 | },
2198 | {
2199 | "storeId": 224
2200 | },
2201 | {
2202 | "storeId": 1093
2203 | },
2204 | {
2205 | "storeId": 206
2206 | },
2207 | {
2208 | "storeId": 240
2209 | },
2210 | {
2211 | "storeId": 50
2212 | },
2213 | {
2214 | "storeId": 1034
2215 | },
2216 | {
2217 | "storeId": 1542
2218 | },
2219 | {
2220 | "storeId": 572
2221 | },
2222 | {
2223 | "storeId": 373
2224 | },
2225 | {
2226 | "storeId": 1456
2227 | },
2228 | {
2229 | "storeId": 943
2230 | },
2231 | {
2232 | "storeId": 1388
2233 | },
2234 | {
2235 | "storeId": 612
2236 | },
2237 | {
2238 | "storeId": 380
2239 | },
2240 | {
2241 | "storeId": 347
2242 | },
2243 | {
2244 | "storeId": 1080
2245 | },
2246 | {
2247 | "storeId": 1157
2248 | },
2249 | {
2250 | "storeId": 495
2251 | },
2252 | {
2253 | "storeId": 363
2254 | },
2255 | {
2256 | "storeId": 1462
2257 | },
2258 | {
2259 | "storeId": 1507
2260 | },
2261 | {
2262 | "storeId": 2507
2263 | },
2264 | {
2265 | "storeId": 1800
2266 | },
2267 | {
2268 | "storeId": 1797
2269 | },
2270 | {
2271 | "storeId": 1438
2272 | },
2273 | {
2274 | "storeId": 222
2275 | },
2276 | {
2277 | "storeId": 275
2278 | },
2279 | {
2280 | "storeId": 1536
2281 | },
2282 | {
2283 | "storeId": 351
2284 | },
2285 | {
2286 | "storeId": 1148
2287 | },
2288 | {
2289 | "storeId": 248
2290 | },
2291 | {
2292 | "storeId": 875
2293 | },
2294 | {
2295 | "storeId": 1427
2296 | },
2297 | {
2298 | "storeId": 220
2299 | },
2300 | {
2301 | "storeId": 1419
2302 | },
2303 | {
2304 | "storeId": 646
2305 | },
2306 | {
2307 | "storeId": 219
2308 | },
2309 | {
2310 | "storeId": 1787
2311 | },
2312 | {
2313 | "storeId": 1401
2314 | },
2315 | {
2316 | "storeId": 2503
2317 | },
2318 | {
2319 | "storeId": 1499
2320 | },
2321 | {
2322 | "storeId": 221
2323 | },
2324 | {
2325 | "storeId": 762
2326 | },
2327 | {
2328 | "storeId": 2511
2329 | },
2330 | {
2331 | "storeId": 1780
2332 | },
2333 | {
2334 | "storeId": 1038
2335 | },
2336 | {
2337 | "storeId": 1773
2338 | },
2339 | {
2340 | "storeId": 180
2341 | },
2342 | {
2343 | "storeId": 1412
2344 | },
2345 | {
2346 | "storeId": 205
2347 | },
2348 | {
2349 | "storeId": 1032
2350 | },
2351 | {
2352 | "storeId": 258
2353 | },
2354 | {
2355 | "storeId": 196
2356 | }
2357 | ]
2358 | },
2359 | "rawHeaders": [
2360 | "Access-Control-Allow-Headers",
2361 | "origin, x-requested-with, accept",
2362 | "Access-Control-Allow-Methods",
2363 | "GET",
2364 | "Access-Control-Allow-Origin",
2365 | "*",
2366 | "Access-Control-Max-Age",
2367 | "3628800",
2368 | "Content-Type",
2369 | "application/json; charset=UTF-8",
2370 | "Date",
2371 | "Fri, 22 Sep 2017 22:18:05 GMT",
2372 | "Server",
2373 | "Best Buy Public APIs",
2374 | "X-Cache-Hit",
2375 | "true",
2376 | "Content-Length",
2377 | "1948",
2378 | "Connection",
2379 | "Close"
2380 | ]
2381 | },
2382 | {
2383 | "scope": "https://api.bestbuy.com:443",
2384 | "method": "get",
2385 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlNzUwNzAIP4AAACxzdG9yZV8xOTZfdXM%3D&pageSize=100",
2386 | "body": "",
2387 | "status": 200,
2388 | "response": {
2389 | "nextCursorMark": "AoMlODAxMjMIP4AAACxzdG9yZV8yMTBfdXM=",
2390 | "total": 1021,
2391 | "totalPages": 11,
2392 | "queryTime": "0.025",
2393 | "totalTime": "0.071",
2394 | "partial": false,
2395 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlNzUwNzAIP4AAACxzdG9yZV8xOTZfdXM=&format=json&apiKey=XXX",
2396 | "stores": [
2397 | {
2398 | "storeId": 202
2399 | },
2400 | {
2401 | "storeId": 1417
2402 | },
2403 | {
2404 | "storeId": 1023
2405 | },
2406 | {
2407 | "storeId": 56
2408 | },
2409 | {
2410 | "storeId": 54
2411 | },
2412 | {
2413 | "storeId": 1889
2414 | },
2415 | {
2416 | "storeId": 58
2417 | },
2418 | {
2419 | "storeId": 256
2420 | },
2421 | {
2422 | "storeId": 2504
2423 | },
2424 | {
2425 | "storeId": 605
2426 | },
2427 | {
2428 | "storeId": 594
2429 | },
2430 | {
2431 | "storeId": 246
2432 | },
2433 | {
2434 | "storeId": 867
2435 | },
2436 | {
2437 | "storeId": 57
2438 | },
2439 | {
2440 | "storeId": 665
2441 | },
2442 | {
2443 | "storeId": 148
2444 | },
2445 | {
2446 | "storeId": 55
2447 | },
2448 | {
2449 | "storeId": 1035
2450 | },
2451 | {
2452 | "storeId": 1024
2453 | },
2454 | {
2455 | "storeId": 234
2456 | },
2457 | {
2458 | "storeId": 176
2459 | },
2460 | {
2461 | "storeId": 1027
2462 | },
2463 | {
2464 | "storeId": 1494
2465 | },
2466 | {
2467 | "storeId": 827
2468 | },
2469 | {
2470 | "storeId": 195
2471 | },
2472 | {
2473 | "storeId": 1457
2474 | },
2475 | {
2476 | "storeId": 182
2477 | },
2478 | {
2479 | "storeId": 244
2480 | },
2481 | {
2482 | "storeId": 1017
2483 | },
2484 | {
2485 | "storeId": 213
2486 | },
2487 | {
2488 | "storeId": 215
2489 | },
2490 | {
2491 | "storeId": 1160
2492 | },
2493 | {
2494 | "storeId": 1768
2495 | },
2496 | {
2497 | "storeId": 216
2498 | },
2499 | {
2500 | "storeId": 291
2501 | },
2502 | {
2503 | "storeId": 214
2504 | },
2505 | {
2506 | "storeId": 239
2507 | },
2508 | {
2509 | "storeId": 233
2510 | },
2511 | {
2512 | "storeId": 876
2513 | },
2514 | {
2515 | "storeId": 2510
2516 | },
2517 | {
2518 | "storeId": 865
2519 | },
2520 | {
2521 | "storeId": 255
2522 | },
2523 | {
2524 | "storeId": 1397
2525 | },
2526 | {
2527 | "storeId": 167
2528 | },
2529 | {
2530 | "storeId": 1072
2531 | },
2532 | {
2533 | "storeId": 1517
2534 | },
2535 | {
2536 | "storeId": 1413
2537 | },
2538 | {
2539 | "storeId": 354
2540 | },
2541 | {
2542 | "storeId": 1404
2543 | },
2544 | {
2545 | "storeId": 199
2546 | },
2547 | {
2548 | "storeId": 357
2549 | },
2550 | {
2551 | "storeId": 952
2552 | },
2553 | {
2554 | "storeId": 1458
2555 | },
2556 | {
2557 | "storeId": 1469
2558 | },
2559 | {
2560 | "storeId": 948
2561 | },
2562 | {
2563 | "storeId": 242
2564 | },
2565 | {
2566 | "storeId": 1545
2567 | },
2568 | {
2569 | "storeId": 238
2570 | },
2571 | {
2572 | "storeId": 332
2573 | },
2574 | {
2575 | "storeId": 603
2576 | },
2577 | {
2578 | "storeId": 1888
2579 | },
2580 | {
2581 | "storeId": 241
2582 | },
2583 | {
2584 | "storeId": 1387
2585 | },
2586 | {
2587 | "storeId": 181
2588 | },
2589 | {
2590 | "storeId": 201
2591 | },
2592 | {
2593 | "storeId": 1081
2594 | },
2595 | {
2596 | "storeId": 1082
2597 | },
2598 | {
2599 | "storeId": 152
2600 | },
2601 | {
2602 | "storeId": 1459
2603 | },
2604 | {
2605 | "storeId": 864
2606 | },
2607 | {
2608 | "storeId": 235
2609 | },
2610 | {
2611 | "storeId": 1784
2612 | },
2613 | {
2614 | "storeId": 236
2615 | },
2616 | {
2617 | "storeId": 1473
2618 | },
2619 | {
2620 | "storeId": 353
2621 | },
2622 | {
2623 | "storeId": 1516
2624 | },
2625 | {
2626 | "storeId": 178
2627 | },
2628 | {
2629 | "storeId": 691
2630 | },
2631 | {
2632 | "storeId": 1762
2633 | },
2634 | {
2635 | "storeId": 859
2636 | },
2637 | {
2638 | "storeId": 828
2639 | },
2640 | {
2641 | "storeId": 1153
2642 | },
2643 | {
2644 | "storeId": 204
2645 | },
2646 | {
2647 | "storeId": 1083
2648 | },
2649 | {
2650 | "storeId": 2516
2651 | },
2652 | {
2653 | "storeId": 203
2654 | },
2655 | {
2656 | "storeId": 218
2657 | },
2658 | {
2659 | "storeId": 226
2660 | },
2661 | {
2662 | "storeId": 940
2663 | },
2664 | {
2665 | "storeId": 280
2666 | },
2667 | {
2668 | "storeId": 1526
2669 | },
2670 | {
2671 | "storeId": 829
2672 | },
2673 | {
2674 | "storeId": 237
2675 | },
2676 | {
2677 | "storeId": 1470
2678 | },
2679 | {
2680 | "storeId": 1134
2681 | },
2682 | {
2683 | "storeId": 217
2684 | },
2685 | {
2686 | "storeId": 694
2687 | },
2688 | {
2689 | "storeId": 209
2690 | },
2691 | {
2692 | "storeId": 1171
2693 | },
2694 | {
2695 | "storeId": 210
2696 | }
2697 | ]
2698 | },
2699 | "rawHeaders": [
2700 | "Access-Control-Allow-Headers",
2701 | "origin, x-requested-with, accept",
2702 | "Access-Control-Allow-Methods",
2703 | "GET",
2704 | "Access-Control-Allow-Origin",
2705 | "*",
2706 | "Access-Control-Max-Age",
2707 | "3628800",
2708 | "Content-Type",
2709 | "application/json; charset=UTF-8",
2710 | "Date",
2711 | "Fri, 22 Sep 2017 22:13:13 GMT",
2712 | "Server",
2713 | "Best Buy Public APIs",
2714 | "X-Cache-Hit",
2715 | "true",
2716 | "Content-Length",
2717 | "1954",
2718 | "Connection",
2719 | "Close"
2720 | ]
2721 | },
2722 | {
2723 | "scope": "https://api.bestbuy.com:443",
2724 | "method": "get",
2725 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlODAxMjMIP4AAACxzdG9yZV8yMTBfdXM%3D&pageSize=100",
2726 | "body": "",
2727 | "status": 200,
2728 | "response": {
2729 | "nextCursorMark": "AoMlOTE3OTAIP4AAACxzdG9yZV8xMDJfdXM=",
2730 | "total": 1021,
2731 | "totalPages": 11,
2732 | "queryTime": "0.007",
2733 | "totalTime": "0.043",
2734 | "partial": false,
2735 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlODAxMjMIP4AAACxzdG9yZV8yMTBfdXM=&format=json&apiKey=XXX",
2736 | "stores": [
2737 | {
2738 | "storeId": 164
2739 | },
2740 | {
2741 | "storeId": 1410
2742 | },
2743 | {
2744 | "storeId": 211
2745 | },
2746 | {
2747 | "storeId": 1224
2748 | },
2749 | {
2750 | "storeId": 1416
2751 | },
2752 | {
2753 | "storeId": 1031
2754 | },
2755 | {
2756 | "storeId": 382
2757 | },
2758 | {
2759 | "storeId": 1079
2760 | },
2761 | {
2762 | "storeId": 225
2763 | },
2764 | {
2765 | "storeId": 693
2766 | },
2767 | {
2768 | "storeId": 1194
2769 | },
2770 | {
2771 | "storeId": 298
2772 | },
2773 | {
2774 | "storeId": 212
2775 | },
2776 | {
2777 | "storeId": 1030
2778 | },
2779 | {
2780 | "storeId": 1124
2781 | },
2782 | {
2783 | "storeId": 1527
2784 | },
2785 | {
2786 | "storeId": 874
2787 | },
2788 | {
2789 | "storeId": 944
2790 | },
2791 | {
2792 | "storeId": 1078
2793 | },
2794 | {
2795 | "storeId": 526
2796 | },
2797 | {
2798 | "storeId": 655
2799 | },
2800 | {
2801 | "storeId": 1402
2802 | },
2803 | {
2804 | "storeId": 773
2805 | },
2806 | {
2807 | "storeId": 497
2808 | },
2809 | {
2810 | "storeId": 1146
2811 | },
2812 | {
2813 | "storeId": 1761
2814 | },
2815 | {
2816 | "storeId": 521
2817 | },
2818 | {
2819 | "storeId": 527
2820 | },
2821 | {
2822 | "storeId": 945
2823 | },
2824 | {
2825 | "storeId": 496
2826 | },
2827 | {
2828 | "storeId": 891
2829 | },
2830 | {
2831 | "storeId": 253
2832 | },
2833 | {
2834 | "storeId": 250
2835 | },
2836 | {
2837 | "storeId": 177
2838 | },
2839 | {
2840 | "storeId": 249
2841 | },
2842 | {
2843 | "storeId": 1481
2844 | },
2845 | {
2846 | "storeId": 254
2847 | },
2848 | {
2849 | "storeId": 869
2850 | },
2851 | {
2852 | "storeId": 870
2853 | },
2854 | {
2855 | "storeId": 1002
2856 | },
2857 | {
2858 | "storeId": 1189
2859 | },
2860 | {
2861 | "storeId": 251
2862 | },
2863 | {
2864 | "storeId": 895
2865 | },
2866 | {
2867 | "storeId": 787
2868 | },
2869 | {
2870 | "storeId": 1109
2871 | },
2872 | {
2873 | "storeId": 485
2874 | },
2875 | {
2876 | "storeId": 1077
2877 | },
2878 | {
2879 | "storeId": 123
2880 | },
2881 | {
2882 | "storeId": 1112
2883 | },
2884 | {
2885 | "storeId": 198
2886 | },
2887 | {
2888 | "storeId": 1143
2889 | },
2890 | {
2891 | "storeId": 1084
2892 | },
2893 | {
2894 | "storeId": 377
2895 | },
2896 | {
2897 | "storeId": 338
2898 | },
2899 | {
2900 | "storeId": 223
2901 | },
2902 | {
2903 | "storeId": 866
2904 | },
2905 | {
2906 | "storeId": 375
2907 | },
2908 | {
2909 | "storeId": 802
2910 | },
2911 | {
2912 | "storeId": 358
2913 | },
2914 | {
2915 | "storeId": 122
2916 | },
2917 | {
2918 | "storeId": 1044
2919 | },
2920 | {
2921 | "storeId": 289
2922 | },
2923 | {
2924 | "storeId": 1421
2925 | },
2926 | {
2927 | "storeId": 542
2928 | },
2929 | {
2930 | "storeId": 1783
2931 | },
2932 | {
2933 | "storeId": 1014
2934 | },
2935 | {
2936 | "storeId": 128
2937 | },
2938 | {
2939 | "storeId": 850
2940 | },
2941 | {
2942 | "storeId": 393
2943 | },
2944 | {
2945 | "storeId": 183
2946 | },
2947 | {
2948 | "storeId": 109
2949 | },
2950 | {
2951 | "storeId": 1432
2952 | },
2953 | {
2954 | "storeId": 1510
2955 | },
2956 | {
2957 | "storeId": 179
2958 | },
2959 | {
2960 | "storeId": 872
2961 | },
2962 | {
2963 | "storeId": 1011
2964 | },
2965 | {
2966 | "storeId": 104
2967 | },
2968 | {
2969 | "storeId": 107
2970 | },
2971 | {
2972 | "storeId": 1537
2973 | },
2974 | {
2975 | "storeId": 117
2976 | },
2977 | {
2978 | "storeId": 127
2979 | },
2980 | {
2981 | "storeId": 1119
2982 | },
2983 | {
2984 | "storeId": 1009
2985 | },
2986 | {
2987 | "storeId": 1782
2988 | },
2989 | {
2990 | "storeId": 125
2991 | },
2992 | {
2993 | "storeId": 116
2994 | },
2995 | {
2996 | "storeId": 1180
2997 | },
2998 | {
2999 | "storeId": 130
3000 | },
3001 | {
3002 | "storeId": 1511
3003 | },
3004 | {
3005 | "storeId": 113
3006 | },
3007 | {
3008 | "storeId": 112
3009 | },
3010 | {
3011 | "storeId": 764
3012 | },
3013 | {
3014 | "storeId": 137
3015 | },
3016 | {
3017 | "storeId": 846
3018 | },
3019 | {
3020 | "storeId": 105
3021 | },
3022 | {
3023 | "storeId": 1018
3024 | },
3025 | {
3026 | "storeId": 103
3027 | },
3028 | {
3029 | "storeId": 775
3030 | },
3031 | {
3032 | "storeId": 131
3033 | },
3034 | {
3035 | "storeId": 102
3036 | }
3037 | ]
3038 | },
3039 | "rawHeaders": [
3040 | "Access-Control-Allow-Headers",
3041 | "origin, x-requested-with, accept",
3042 | "Access-Control-Allow-Methods",
3043 | "GET",
3044 | "Access-Control-Allow-Origin",
3045 | "*",
3046 | "Access-Control-Max-Age",
3047 | "3628800",
3048 | "Content-Type",
3049 | "application/json; charset=UTF-8",
3050 | "Date",
3051 | "Fri, 22 Sep 2017 22:13:13 GMT",
3052 | "Server",
3053 | "Best Buy Public APIs",
3054 | "X-Cache-Hit",
3055 | "true",
3056 | "Content-Length",
3057 | "1957",
3058 | "Connection",
3059 | "Close"
3060 | ]
3061 | },
3062 | {
3063 | "scope": "https://api.bestbuy.com:443",
3064 | "method": "get",
3065 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlOTE3OTAIP4AAACxzdG9yZV8xMDJfdXM%3D&pageSize=100",
3066 | "body": "",
3067 | "status": 200,
3068 | "response": {
3069 | "nextCursorMark": "AoMlOTc3MDEIP4AAACxzdG9yZV84NjNfdXM=",
3070 | "total": 1021,
3071 | "totalPages": 11,
3072 | "queryTime": "0.007",
3073 | "totalTime": "0.057",
3074 | "partial": false,
3075 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlOTE3OTAIP4AAACxzdG9yZV8xMDJfdXM=&format=json&apiKey=XXX",
3076 | "stores": [
3077 | {
3078 | "storeId": 188
3079 | },
3080 | {
3081 | "storeId": 1769
3082 | },
3083 | {
3084 | "storeId": 1386
3085 | },
3086 | {
3087 | "storeId": 184
3088 | },
3089 | {
3090 | "storeId": 1187
3091 | },
3092 | {
3093 | "storeId": 2505
3094 | },
3095 | {
3096 | "storeId": 437
3097 | },
3098 | {
3099 | "storeId": 1145
3100 | },
3101 | {
3102 | "storeId": 871
3103 | },
3104 | {
3105 | "storeId": 438
3106 | },
3107 | {
3108 | "storeId": 352
3109 | },
3110 | {
3111 | "storeId": 1533
3112 | },
3113 | {
3114 | "storeId": 1441
3115 | },
3116 | {
3117 | "storeId": 1113
3118 | },
3119 | {
3120 | "storeId": 1020
3121 | },
3122 | {
3123 | "storeId": 124
3124 | },
3125 | {
3126 | "storeId": 1482
3127 | },
3128 | {
3129 | "storeId": 108
3130 | },
3131 | {
3132 | "storeId": 150
3133 | },
3134 | {
3135 | "storeId": 110
3136 | },
3137 | {
3138 | "storeId": 392
3139 | },
3140 | {
3141 | "storeId": 115
3142 | },
3143 | {
3144 | "storeId": 1409
3145 | },
3146 | {
3147 | "storeId": 1076
3148 | },
3149 | {
3150 | "storeId": 854
3151 | },
3152 | {
3153 | "storeId": 119
3154 | },
3155 | {
3156 | "storeId": 111
3157 | },
3158 | {
3159 | "storeId": 101
3160 | },
3161 | {
3162 | "storeId": 774
3163 | },
3164 | {
3165 | "storeId": 2514
3166 | },
3167 | {
3168 | "storeId": 114
3169 | },
3170 | {
3171 | "storeId": 1198
3172 | },
3173 | {
3174 | "storeId": 947
3175 | },
3176 | {
3177 | "storeId": 847
3178 | },
3179 | {
3180 | "storeId": 126
3181 | },
3182 | {
3183 | "storeId": 118
3184 | },
3185 | {
3186 | "storeId": 649
3187 | },
3188 | {
3189 | "storeId": 1391
3190 | },
3191 | {
3192 | "storeId": 529
3193 | },
3194 | {
3195 | "storeId": 856
3196 | },
3197 | {
3198 | "storeId": 396
3199 | },
3200 | {
3201 | "storeId": 192
3202 | },
3203 | {
3204 | "storeId": 106
3205 | },
3206 | {
3207 | "storeId": 1188
3208 | },
3209 | {
3210 | "storeId": 121
3211 | },
3212 | {
3213 | "storeId": 1019
3214 | },
3215 | {
3216 | "storeId": 1061
3217 | },
3218 | {
3219 | "storeId": 873
3220 | },
3221 | {
3222 | "storeId": 685
3223 | },
3224 | {
3225 | "storeId": 1045
3226 | },
3227 | {
3228 | "storeId": 1896
3229 | },
3230 | {
3231 | "storeId": 140
3232 | },
3233 | {
3234 | "storeId": 187
3235 | },
3236 | {
3237 | "storeId": 1125
3238 | },
3239 | {
3240 | "storeId": 1046
3241 | },
3242 | {
3243 | "storeId": 135
3244 | },
3245 | {
3246 | "storeId": 136
3247 | },
3248 | {
3249 | "storeId": 138
3250 | },
3251 | {
3252 | "storeId": 134
3253 | },
3254 | {
3255 | "storeId": 144
3256 | },
3257 | {
3258 | "storeId": 1128
3259 | },
3260 | {
3261 | "storeId": 499
3262 | },
3263 | {
3264 | "storeId": 1021
3265 | },
3266 | {
3267 | "storeId": 884
3268 | },
3269 | {
3270 | "storeId": 142
3271 | },
3272 | {
3273 | "storeId": 797
3274 | },
3275 | {
3276 | "storeId": 190
3277 | },
3278 | {
3279 | "storeId": 1423
3280 | },
3281 | {
3282 | "storeId": 851
3283 | },
3284 | {
3285 | "storeId": 528
3286 | },
3287 | {
3288 | "storeId": 391
3289 | },
3290 | {
3291 | "storeId": 844
3292 | },
3293 | {
3294 | "storeId": 141
3295 | },
3296 | {
3297 | "storeId": 1509
3298 | },
3299 | {
3300 | "storeId": 120
3301 | },
3302 | {
3303 | "storeId": 1190
3304 | },
3305 | {
3306 | "storeId": 364
3307 | },
3308 | {
3309 | "storeId": 845
3310 | },
3311 | {
3312 | "storeId": 129
3313 | },
3314 | {
3315 | "storeId": 1008
3316 | },
3317 | {
3318 | "storeId": 349
3319 | },
3320 | {
3321 | "storeId": 1396
3322 | },
3323 | {
3324 | "storeId": 133
3325 | },
3326 | {
3327 | "storeId": 660
3328 | },
3329 | {
3330 | "storeId": 191
3331 | },
3332 | {
3333 | "storeId": 838
3334 | },
3335 | {
3336 | "storeId": 852
3337 | },
3338 | {
3339 | "storeId": 763
3340 | },
3341 | {
3342 | "storeId": 451
3343 | },
3344 | {
3345 | "storeId": 1491
3346 | },
3347 | {
3348 | "storeId": 1454
3349 | },
3350 | {
3351 | "storeId": 1058
3352 | },
3353 | {
3354 | "storeId": 1422
3355 | },
3356 | {
3357 | "storeId": 452
3358 | },
3359 | {
3360 | "storeId": 1104
3361 | },
3362 | {
3363 | "storeId": 450
3364 | },
3365 | {
3366 | "storeId": 453
3367 | },
3368 | {
3369 | "storeId": 600
3370 | },
3371 | {
3372 | "storeId": 2517
3373 | },
3374 | {
3375 | "storeId": 863
3376 | }
3377 | ]
3378 | },
3379 | "rawHeaders": [
3380 | "Access-Control-Allow-Headers",
3381 | "origin, x-requested-with, accept",
3382 | "Access-Control-Allow-Methods",
3383 | "GET",
3384 | "Access-Control-Allow-Origin",
3385 | "*",
3386 | "Access-Control-Max-Age",
3387 | "3628800",
3388 | "Content-Type",
3389 | "application/json; charset=UTF-8",
3390 | "Date",
3391 | "Fri, 22 Sep 2017 22:16:27 GMT",
3392 | "Server",
3393 | "Best Buy Public APIs",
3394 | "X-Cache-Hit",
3395 | "true",
3396 | "Content-Length",
3397 | "1957",
3398 | "Connection",
3399 | "Close"
3400 | ]
3401 | },
3402 | {
3403 | "scope": "https://api.bestbuy.com:443",
3404 | "method": "get",
3405 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlOTc3MDEIP4AAACxzdG9yZV84NjNfdXM%3D&pageSize=100",
3406 | "body": "",
3407 | "status": 200,
3408 | "response": {
3409 | "nextCursorMark": "AoMlOTk1MTUIP4AAACxzdG9yZV81MzlfdXM=",
3410 | "total": 1021,
3411 | "totalPages": 11,
3412 | "queryTime": "0.007",
3413 | "totalTime": "0.023",
3414 | "partial": false,
3415 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlOTc3MDEIP4AAACxzdG9yZV84NjNfdXM=&format=json&apiKey=XXX",
3416 | "stores": [
3417 | {
3418 | "storeId": 372
3419 | },
3420 | {
3421 | "storeId": 498
3422 | },
3423 | {
3424 | "storeId": 1220
3425 | },
3426 | {
3427 | "storeId": 477
3428 | },
3429 | {
3430 | "storeId": 470
3431 | },
3432 | {
3433 | "storeId": 447
3434 | },
3435 | {
3436 | "storeId": 566
3437 | },
3438 | {
3439 | "storeId": 359
3440 | },
3441 | {
3442 | "storeId": 798
3443 | },
3444 | {
3445 | "storeId": 1415
3446 | },
3447 | {
3448 | "storeId": 366
3449 | },
3450 | {
3451 | "storeId": 398
3452 | },
3453 | {
3454 | "storeId": 830
3455 | },
3456 | {
3457 | "storeId": 839
3458 | },
3459 | {
3460 | "storeId": 1043
3461 | },
3462 | {
3463 | "storeId": 831
3464 | },
3465 | {
3466 | "storeId": 355
3467 | },
3468 | {
3469 | "storeId": 362
3470 | },
3471 | {
3472 | "storeId": 590
3473 | },
3474 | {
3475 | "storeId": 1760
3476 | },
3477 | {
3478 | "storeId": 539
3479 | }
3480 | ]
3481 | },
3482 | "rawHeaders": [
3483 | "Access-Control-Allow-Headers",
3484 | "origin, x-requested-with, accept",
3485 | "Access-Control-Allow-Methods",
3486 | "GET",
3487 | "Access-Control-Allow-Origin",
3488 | "*",
3489 | "Access-Control-Max-Age",
3490 | "3628800",
3491 | "Content-Type",
3492 | "application/json; charset=UTF-8",
3493 | "Date",
3494 | "Fri, 22 Sep 2017 22:13:13 GMT",
3495 | "Server",
3496 | "Best Buy Public APIs",
3497 | "X-Cache-Hit",
3498 | "true",
3499 | "Content-Length",
3500 | "662",
3501 | "Connection",
3502 | "Close"
3503 | ]
3504 | },
3505 | {
3506 | "scope": "https://api.bestbuy.com:443",
3507 | "method": "get",
3508 | "path": "/v1/stores(storeType=Big%20Box)?format=json&apiKey=XXX&show=storeId&cursorMark=AoMlOTk1MTUIP4AAACxzdG9yZV81MzlfdXM%3D&pageSize=100",
3509 | "body": "",
3510 | "status": 200,
3511 | "response": {
3512 | "nextCursorMark": "AoMlOTk1MTUIP4AAACxzdG9yZV81MzlfdXM=",
3513 | "total": 1021,
3514 | "totalPages": 11,
3515 | "queryTime": "0.021",
3516 | "totalTime": "0.022",
3517 | "partial": false,
3518 | "canonicalUrl": "/v1/stores(storeType=\"Big Box\")?show=storeId&pageSize=100&cursorMark=AoMlOTk1MTUIP4AAACxzdG9yZV81MzlfdXM=&format=json&apiKey=XXX",
3519 | "stores": []
3520 | },
3521 | "rawHeaders": [
3522 | "Access-Control-Allow-Headers",
3523 | "origin, x-requested-with, accept",
3524 | "Access-Control-Allow-Methods",
3525 | "GET",
3526 | "Access-Control-Allow-Origin",
3527 | "*",
3528 | "Access-Control-Max-Age",
3529 | "3628800",
3530 | "Content-Type",
3531 | "application/json; charset=UTF-8",
3532 | "Date",
3533 | "Fri, 22 Sep 2017 22:16:27 GMT",
3534 | "Server",
3535 | "Best Buy Public APIs",
3536 | "X-Cache-Hit",
3537 | "true",
3538 | "Content-Length",
3539 | "323",
3540 | "Connection",
3541 | "Close"
3542 | ]
3543 | }
3544 | ]
--------------------------------------------------------------------------------