A Tracking Creation Object is used to create a price watch. There can be only one tracking per ASIN, regardless of the locale. A single Tracking Creation Object can contain desired prices for all locales.
Required by: the Add Tracking request of the Tracking API. The API returns the created watch as a Tracking Object.
Format#
{
"asin": String,
"ttl": Integer,
"expireNotify": Boolean,
"desiredPricesInMainCurrency": Boolean,
"mainDomainId": Integer,
"updateInterval": Integer,
"metaData": String,
"thresholdValues": TrackingThresholdValue[],
"notifyIf": TrackingNotifyIf[],
"notificationType": Boolean[],
"individualNotificationInterval": Integer
}
Fields#
| Field | Type | Description |
|---|---|---|
asin |
String | The product ASIN to be tracked. Example: "B00M0QVG3W" |
ttl |
Integer | The time-to-live (in hours) until the tracking expires and gets deleted. When setting this value via the Add Tracking request, it is relative to the time of the request. When retrieving the tracking object, it is relative to the createDate. Possible values:
|
expireNotify |
Boolean | Triggers a notification if the tracking expires or is removed by the system (e.g., product deprecated). |
desiredPricesInMainCurrency |
Boolean | Indicates whether all desired prices are in the currency of the mainDomainId. If false, they will be converted. |
mainDomainId |
Integer | The main Amazon locale of this tracking, determining the currency used for all desired prices. See the valid domain IDs below. |
updateInterval |
Integer | The update interval in hours, determining how often the system will trigger a product update. A setting of 1 hour won't trigger an update exactly every 60 minutes but as close to that as efficiently possible. Throughout a day, it will be updated 24 times, but updates are not perfectly distributed. Possible values: any integer from 1 to 24 (inclusive). |
metaData |
String | Optional. The metadata of this tracking (maximum length is 500 characters). Used to assign text to this tracking, such as a user reference or memo. |
thresholdValues |
TrackingThresholdValue[] | Optional. Contains settings for price or value-related tracking criteria for all locales. See TrackingThresholdValue below. |
notifyIf |
TrackingNotifyIf[] | Optional. Contains specific meta tracking criteria like out-of-stock status for all locales. See TrackingNotifyIf below. |
notificationType |
Boolean[] | Optional; defaults to webhook notifications. Must be a Boolean array with the length of the NotificationType enum (which is 7; see below). Determines the channels through which notifications will be sent. Uses NotificationType indexing. true means the channel will be used.Important: the Tracking API currently only supports notifications through push webhooks or API pull requests. Example — only notify via API: [false, false, false, false, false, true, false] |
individualNotificationInterval |
Integer | A tracking-specific rearm timer. Possible values:
|
TrackingThresholdValue#
Contains settings for price or value-related tracking criteria.
{
"thresholdValue": Integer,
"domain": Integer,
"csvType": Integer,
"isDrop": Boolean
}
| Field | Type | Description |
|---|---|---|
thresholdValue |
Integer | The threshold value (or desired price), represented as an integer of the smallest currency unit for the respective Amazon locale (e.g., euro cents or yen). |
domain |
Integer | The Amazon locale to which this threshold value belongs. Regardless of the locale, the threshold value is always in the currency of the mainDomainId. See the valid domain IDs below. |
csvType |
Integer | The price type for this threshold value (refer to the csv field of the Product Object). |
isDrop |
Boolean | Indicates whether this tracking threshold value tracks value drops (true) or value increases (false). |
TrackingNotifyIf#
Contains specific meta tracking criteria, such as out-of-stock status.
{
"domain": Integer,
"csvType": Integer,
"notifyIfType": Integer
}
| Field | Type | Description |
|---|---|---|
domain |
Integer | The Amazon locale to which this notifyIf belongs. See the valid domain IDs below. |
csvType |
Integer | The price type for this notifyIf (refer to the csv field of the Product Object). |
notifyIfType |
Integer | Available notification meta trigger types. Possible values:
|
NotificationType#
The available notification channels.
Note: Only API is currently available for API tracking.
| Value | Type |
|---|---|
| 5 | API — push to webhook or pull through API request |
Valid domain IDs#
Used by mainDomainId and the domain fields of the child objects:
| Domain ID | Locale |
|---|---|
| 1 | com |
| 2 | co.uk |
| 3 | de |
| 4 | fr |
| 5 | co.jp |
| 6 | ca |
| 8 | it |
| 9 | es |
| 10 | in |
| 11 | com.mx |
| 12 | com.br |
Keepa Time Minutes#
Time format used for all timestamps. To convert to an uncompressed Unix epoch time:
- For milliseconds:
(keepaTime + 21564000) * 60000 - For seconds:
(keepaTime + 21564000) * 60
Example#
A Tracking Creation Object that creates a never-expiring watch for the amazon.de Amazon price at a desired price of € 49.99, hourly updates, API notifications, plus an out-of-stock alert:
{
"asin": "B00M0QVG3W",
"ttl": 0,
"expireNotify": false,
"desiredPricesInMainCurrency": true,
"mainDomainId": 3,
"updateInterval": 1,
"metaData": "customer-42",
"thresholdValues": [
{
"thresholdValue": 4999,
"domain": 3,
"csvType": 0,
"isDrop": true
}
],
"notifyIf": [
{ "domain": 3, "csvType": 0, "notifyIfType": 0 }
],
"notificationType": [false, false, false, false, false, true, false],
"individualNotificationInterval": -1
}
Illustrative values. See the Tracking API for how to submit this object with the Add Tracking request.