Developer Portal v1.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Welcome to Woot! developer portal! Here, you can find documentation on official APIs that can be consumed programmatically to access live deals sold on Woot!, an Amazon company. Reach out to the below contact to see how you can become eligible for affiliates traffic pay-cut.
Throttling Limits
Rate The rate at which tokens are added to the Token Bucket. This value indicates the average number of requests per second over an extended period of time |
Burst The capacity of the Token Bucket |
Quota The total number of requests you can perform in a given time period. This limit resets at UTC 00:00:00 every day |
1 request per second | 10 requests | 1000 requests per day |
- If you would like to increase the throttling limit, reach out to the below contact explaining your case
- Requests served from cache would not count against the throttling limit
Authorization
Issued secret key must be passed in header of every request made. Request header name is: x-api-key
Contact
Request an API key via the forums
Base URLs:
-
https://developer.woot.com/{basePath}
- basePath - Default: Affiliates
Authentication
- API Key (api_key)
- Parameter Name: x-api-key, in: header.
Default
GetOffer
Code samples
# You can also use wget
curl -X GET https://developer.woot.com/{basePath}/offers/{offerid} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET https://developer.woot.com/{basePath}/offers/{offerid} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get 'https://developer.woot.com/{basePath}/offers/{offerid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('https://developer.woot.com/{basePath}/offers/{offerid}', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/offers/{offerid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://developer.woot.com/{basePath}/offers/{offerid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://developer.woot.com/{basePath}/offers/{offerid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /offers/{offerid}
This end point fetches all properties of a particular offer
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
offerid | path | string | true | Id of the offer that is to be fetched. "OfferId" can be fetched from end point: feed/{feedname} |
Example responses
200 Response
{
"Teaser": "string",
"Title": "string",
"ShippingMethods": [
{
"ExcludedStates": [
"string"
],
"ExcludedPostalCodes": [
"string"
],
"ExcludePOBox": true,
"Name": "string"
}
],
"IsSoldOut": true,
"WriteUpIntro": "string",
"Snippet": "string",
"Slug": "string",
"IsWootOff": true,
"Url": "http://example.com",
"WriteUpBody": "string",
"ExtendedWarranty": "string",
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Subtitle": "string",
"PercentageRemainingBlurred": 0,
"FullTitle": "string",
"QuantityLimit": 0,
"EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
"Items": [
{
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Asin": "string",
"Attributes": [
{
"Value": "string",
"Key": "string"
}
],
"Title": "string",
"SalePrice": 0,
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"ListPrice": 0,
"Win": "string"
}
],
"Features": "string",
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"PurchaseLimit": 0,
"Win": "string",
"Specs": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success Response | Offer |
400 | Bad Request | Bad request. Invalid inputs passed. | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Response Schema
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Access-Control-Allow-Origin | string | none |
options__offers_{offerid}
Code samples
# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/offers/{offerid} \
-H 'Accept: application/json'
OPTIONS https://developer.woot.com/{basePath}/offers/{offerid} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.options 'https://developer.woot.com/{basePath}/offers/{offerid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.options('https://developer.woot.com/{basePath}/offers/{offerid}', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/offers/{offerid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/offers/{offerid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/offers/{offerid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
OPTIONS /offers/{offerid}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
offerid | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Returns CORs headers | Empty |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Cache-Control | string | none | |
200 | Access-Control-Allow-Origin | string | none | |
200 | Access-Control-Allow-Methods | string | none | |
200 | Access-Control-Allow-Headers | string | none |
GetNamedFeed
Code samples
# You can also use wget
curl -X GET https://developer.woot.com/{basePath}/feed/{feedname} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET https://developer.woot.com/{basePath}/feed/{feedname} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get 'https://developer.woot.com/{basePath}/feed/{feedname}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('https://developer.woot.com/{basePath}/feed/{feedname}', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/feed/{feedname}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://developer.woot.com/{basePath}/feed/{feedname}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://developer.woot.com/{basePath}/feed/{feedname}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /feed/{feedname}
This end point fetches live minified offers that are sold on Woot! in a particular category or all categories. Featured deals are returned on the first results page.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feedname | path | string | true | Name of Woot! category for which offers are fetched. Supported feed names are: |
page | query | string | false | Returns the offers from a particular page passed in. Page size is set to 100 offers per page. If this parameter is not passed in, all items sold on the particular category is returned. |
Detailed descriptions
feedname: Name of Woot! category for which offers are fetched. Supported feed names are:
- All
- Clearance
- Computers
- Electronics
- Featured
- Home
- Gourmet
- Shirts
- Sports
- Tools
- Wootoff
Example responses
200 Response
[
{
"Site": "http://example.com",
"Condition": "string",
"Categories": [
"string"
],
"Title": "string",
"Photo": "http://example.com",
"IsSoldOut": true,
"ListPrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"EndDate": "2019-08-24T14:15:22Z",
"IsWootOff": true,
"IsFeatured": true,
"Url": "http://example.com",
"StartDate": "2019-08-24T14:15:22Z",
"OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
"Subtitle": "string",
"IsFulfilledByAmazon": true,
"SalePrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"ForumUrl": "http://example.com",
"IsAvailableOnMobileAppOnly": true
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success Response | FeedPage |
400 | Bad Request | Bad request. Invalid inputs passed. | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Response Schema
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Access-Control-Allow-Origin | string | none |
options__feed_{feedname}
Code samples
# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/feed/{feedname} \
-H 'Accept: application/json'
OPTIONS https://developer.woot.com/{basePath}/feed/{feedname} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.options 'https://developer.woot.com/{basePath}/feed/{feedname}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.options('https://developer.woot.com/{basePath}/feed/{feedname}', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/feed/{feedname}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/feed/{feedname}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/feed/{feedname}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
OPTIONS /feed/{feedname}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
feedname | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Returns CORs headers | Empty |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Cache-Control | string | none | |
200 | Access-Control-Allow-Origin | string | none | |
200 | Access-Control-Allow-Methods | string | none | |
200 | Access-Control-Allow-Headers | string | none |
GetOffers
Code samples
# You can also use wget
curl -X POST https://developer.woot.com/{basePath}/getoffers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST https://developer.woot.com/{basePath}/getoffers HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Content-Type: application/json
Accept: application/json
const inputBody = '[
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/getoffers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
];
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('https://developer.woot.com/{basePath}/getoffers',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post 'https://developer.woot.com/{basePath}/getoffers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('https://developer.woot.com/{basePath}/getoffers', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/getoffers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://developer.woot.com/{basePath}/getoffers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://developer.woot.com/{basePath}/getoffers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /getoffers
This end point fetches all properties of list of offers passed in the body.
- This is a POST request - responses will not be cached.
- Each individual request made to this end point will directly count against the throttling limits.
- OfferIds can be fetched from end point: feed/{feedname}
Body parameter
[
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | OfferIds | true | OfferIds can be fetched from end point: feed/{feedname}. Maximum number of unique offers that can be passed in one request: 25 |
Example responses
200 Response
[
{
"Teaser": "string",
"Title": "string",
"ShippingMethods": [
{
"ExcludedStates": [
"string"
],
"ExcludedPostalCodes": [
"string"
],
"ExcludePOBox": true,
"Name": "string"
}
],
"IsSoldOut": true,
"WriteUpIntro": "string",
"Snippet": "string",
"Slug": "string",
"IsWootOff": true,
"Url": "http://example.com",
"WriteUpBody": "string",
"ExtendedWarranty": "string",
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Subtitle": "string",
"PercentageRemainingBlurred": 0,
"FullTitle": "string",
"QuantityLimit": 0,
"EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
"Items": [
{
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Asin": "string",
"Attributes": [
{
"Value": "string",
"Key": "string"
}
],
"Title": "string",
"SalePrice": 0,
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"ListPrice": 0,
"Win": "string"
}
],
"Features": "string",
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"PurchaseLimit": 0,
"Win": "string",
"Specs": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success Response | Offers |
400 | Bad Request | 400 response | None |
403 | Forbidden | 403 response | None |
404 | Not Found | 404 response | None |
Response Schema
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Access-Control-Allow-Origin | string | none |
options__getoffers
Code samples
# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/getoffers \
-H 'Accept: application/json'
OPTIONS https://developer.woot.com/{basePath}/getoffers HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/getoffers',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://developer.woot.com/{basePath}/getoffers',
{
method: 'OPTIONS',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.options 'https://developer.woot.com/{basePath}/getoffers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.options('https://developer.woot.com/{basePath}/getoffers', headers = headers)
print(r.json())
URL obj = new URL("https://developer.woot.com/{basePath}/getoffers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/getoffers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/getoffers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
OPTIONS /getoffers
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | Empty |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Cache-Control | string | none | |
200 | Access-Control-Allow-Origin | string | none | |
200 | Access-Control-Allow-Methods | string | none | |
200 | Access-Control-Allow-Headers | string | none |
Schemas
ShippingMethod
{
"ExcludedStates": [
"string"
],
"ExcludedPostalCodes": [
"string"
],
"ExcludePOBox": true,
"Name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ExcludedStates | [string] | false | none | none |
ExcludedPostalCodes | [string] | false | none | none |
ExcludePOBox | boolean | false | none | none |
Name | string | false | none | none |
Empty
{}
Properties
None
FeedItem
{
"Site": "http://example.com",
"Condition": "string",
"Categories": [
"string"
],
"Title": "string",
"Photo": "http://example.com",
"IsSoldOut": true,
"ListPrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"EndDate": "2019-08-24T14:15:22Z",
"IsWootOff": true,
"IsFeatured": true,
"Url": "http://example.com",
"StartDate": "2019-08-24T14:15:22Z",
"OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
"Subtitle": "string",
"IsFulfilledByAmazon": true,
"SalePrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"ForumUrl": "http://example.com",
"IsAvailableOnMobileAppOnly": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Site | string(uri) | false | none | none |
Condition | string | false | none | none |
Categories | [string] | false | none | none |
Title | string | false | none | none |
Photo | string(uri) | false | none | none |
IsSoldOut | boolean | false | none | none |
ListPrice | [PriceRange] | false | none | none |
EndDate | string(date-time) | false | none | none |
IsWootOff | boolean | false | none | none |
IsFeatured | boolean | false | none | none |
Url | string(uri) | false | none | none |
StartDate | string(date-time) | false | none | none |
OfferId | string(uuid) | false | none | none |
Subtitle | string | false | none | none |
IsFulfilledByAmazon | boolean | false | none | none |
SalePrice | [PriceRange] | false | none | none |
ForumUrl | string(uri) | false | none | none |
IsAvailableOnMobileAppOnly | boolean | false | none | none |
FeedPage
[
{
"Site": "http://example.com",
"Condition": "string",
"Categories": [
"string"
],
"Title": "string",
"Photo": "http://example.com",
"IsSoldOut": true,
"ListPrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"EndDate": "2019-08-24T14:15:22Z",
"IsWootOff": true,
"IsFeatured": true,
"Url": "http://example.com",
"StartDate": "2019-08-24T14:15:22Z",
"OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
"Subtitle": "string",
"IsFulfilledByAmazon": true,
"SalePrice": [
{
"Minimum": 0,
"Maximum": 0
}
],
"ForumUrl": "http://example.com",
"IsAvailableOnMobileAppOnly": true
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [FeedItem] | false | none | none |
Offer
{
"Teaser": "string",
"Title": "string",
"ShippingMethods": [
{
"ExcludedStates": [
"string"
],
"ExcludedPostalCodes": [
"string"
],
"ExcludePOBox": true,
"Name": "string"
}
],
"IsSoldOut": true,
"WriteUpIntro": "string",
"Snippet": "string",
"Slug": "string",
"IsWootOff": true,
"Url": "http://example.com",
"WriteUpBody": "string",
"ExtendedWarranty": "string",
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Subtitle": "string",
"PercentageRemainingBlurred": 0,
"FullTitle": "string",
"QuantityLimit": 0,
"EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
"Items": [
{
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Asin": "string",
"Attributes": [
{
"Value": "string",
"Key": "string"
}
],
"Title": "string",
"SalePrice": 0,
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"ListPrice": 0,
"Win": "string"
}
],
"Features": "string",
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"PurchaseLimit": 0,
"Win": "string",
"Specs": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Teaser | string | false | none | none |
Title | string | false | none | none |
ShippingMethods | [ShippingMethod] | false | none | none |
IsSoldOut | boolean | false | none | none |
WriteUpIntro | string | false | none | none |
Snippet | string | false | none | none |
Slug | string | false | none | none |
IsWootOff | boolean | false | none | none |
Url | string(uri) | false | none | none |
WriteUpBody | string | false | none | none |
ExtendedWarranty | string | false | none | none |
Photos | [Photo] | false | none | none |
Subtitle | string | false | none | none |
PercentageRemainingBlurred | integer | false | none | none |
FullTitle | string | false | none | none |
QuantityLimit | integer | false | none | none |
EventId | string(uuid) | false | none | none |
Items | [OfferItem] | false | none | none |
Features | string | false | none | none |
Id | string(uuid) | false | none | none |
PurchaseLimit | integer | false | none | none |
Win | string | false | none | none |
Specs | string | false | none | none |
OfferIds
[
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
Properties
None
Photo
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Height | integer | false | none | none |
Width | integer | false | none | none |
Url | string(uri) | false | none | none |
Caption | string | false | none | none |
Tags | [string] | false | none | none |
OfferItem
{
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Asin": "string",
"Attributes": [
{
"Value": "string",
"Key": "string"
}
],
"Title": "string",
"SalePrice": 0,
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"ListPrice": 0,
"Win": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Photos | [Photo] | false | none | none |
Asin | string | false | none | none |
Attributes | [Map] | false | none | none |
Title | string | false | none | none |
SalePrice | number | false | none | none |
Id | string(uuid) | false | none | none |
ListPrice | number | false | none | none |
Win | string | false | none | none |
Offers
[
{
"Teaser": "string",
"Title": "string",
"ShippingMethods": [
{
"ExcludedStates": [
"string"
],
"ExcludedPostalCodes": [
"string"
],
"ExcludePOBox": true,
"Name": "string"
}
],
"IsSoldOut": true,
"WriteUpIntro": "string",
"Snippet": "string",
"Slug": "string",
"IsWootOff": true,
"Url": "http://example.com",
"WriteUpBody": "string",
"ExtendedWarranty": "string",
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Subtitle": "string",
"PercentageRemainingBlurred": 0,
"FullTitle": "string",
"QuantityLimit": 0,
"EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
"Items": [
{
"Photos": [
{
"Height": 0,
"Width": 0,
"Url": "http://example.com",
"Caption": "string",
"Tags": [
"string"
]
}
],
"Asin": "string",
"Attributes": [
{
"Value": "string",
"Key": "string"
}
],
"Title": "string",
"SalePrice": 0,
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"ListPrice": 0,
"Win": "string"
}
],
"Features": "string",
"Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
"PurchaseLimit": 0,
"Win": "string",
"Specs": "string"
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Offer] | false | none | none |
Map
{
"Value": "string",
"Key": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Value | string | false | none | none |
Key | string | false | none | none |
PriceRange
{
"Minimum": 0,
"Maximum": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Minimum | number | false | none | none |
Maximum | number | false | none | none |