Product API
Modified on: 2025-09-24 09:23
TABLE OF CONTENTS
- Retrieve the list of active products API
- Retrieve active ticket product API
- Retrieve active ticket product price change dates API
Used by the distributor to retrieve the list of products/tickets. This API should be retrieved on a regular schedule (daily or weekly). Any product omitted from the response should be considered inactive by the distributor.
Retrieve the list of active products API
This API is used by the distributor to obtain the active products and remove inactive products.
REQUEST
Request Header
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | Oauth2 authorization token. Details from the AUTHENTICATION sidebar | |
| 1 | echo-token* | string | Y | Unique echo token generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | supplier-id* | string | Y | Supplier Id | DISNEY |
Request Example
get /products
RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | supplierId* | string | Y | Supplier ID | DISNEY |
| 1 | productId* | string | Y | Product ID | 5XK03A |
| 1 | productName | string | N | Name | |
| 1 | productType* | string | Y | Product category | Ticket, SpecialEvent, ThemePark, WaterPark, Pass, etc. |
| 1 | variablePrice | boolean | Y | Indicate product price is static or dynamic | |
| 1 | brandId | string | N | Property brand | DLR |
| 1 | officeIds | array | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore | ["DERBY-1_DERBY001"] |
| 1 | status | enum | N | Product status | Allowed: Active┃Inactive |
Response Example
[
{
"supplierId": "DISNEY",
"productId": "5XK03A",
"productName": "5-Day Theme Park Ticket with Park Hopper Option",
"productType": "Ticket",
"variablePrice": true,
"brandId": "WDW",
"officeIds": [
"DERBY-1_DERBY001"
],
"status": "Active"
}
]{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Retrieve active ticket product API
This API is used by the distributor to obtain details for active ticket products.
REQUEST
Request Path Parameters
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | productId* | string | Y | Product ID | 5XK03A |
Request Header
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | Oauth2 authorization token. Details from the AUTHENTICATION sidebar | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | supplier-id | DISNEY |
Request Example
get /product/{productId}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | |
|---|---|---|---|---|---|
| 1 | supplierId* | string | Y | Supplier Id | DISNEY |
| 1 | productId* | string | Y | Product ID | 5XK03A |
| 1 | productName | string | N | Name | 5 Day Park Hopper w/ Lightning Lane Multi Pass |
| 1 | productType | string | N | Product category. For example: | Ticket, SpecialEvent, ThemePark, WaterPark, Pass, etc. |
| 1 | variablePrice | boolean | N | Indicate product price is static or dynamic | |
| 1 | brandId | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | officeIds | array | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | [“DERBY-1_DERBY001”] |
| status | enum | N | Product status | Active┃Inactive | |
| 1 | destination | N | |||
| 2 | countryCode* | string | Y | Country Code, ISO 3166-1 alpha-2 code, Min 1 char | |
| 2 | countryName* | string | Y | Min 1 char | |
| 2 | subdivisionCode* | string | Y | Subdivision Code, ISO 3166-2 code, Min 1 char | |
| 2 | subdivisionName* | string | Y | Min 1 char | |
| 2 | subdivisionCategory* | string | Y | Subdivision Category, such as state, province | |
| 2 | cityName | string | N | ||
| 1 | marketRegions | array | N | It will be used for ticket products, advising whether the tickets can only be sold to a specific region. | [ "INTL_WHOLESALE" ] |
| 1 | durationDays | integer | N | The number of days included in the ticket purchase | 5 |
| 1 | saleDateRange | N | The sale window of this product | ||
| 2 | startDate* | string | Y | Start date of date range, format with yyyy-MM-dd | 2025-03-11 |
| 2 | endDate | string | N | End date of date range, format with yyyy-MM-dd | 2026-02-28 |
| 1 | usageDateRange | N | The usage window of this product | ||
| 2 | startDate* | string | Y | Start date of date range, format with yyyy-MM-dd | 2025-05-16 |
| 2 | endDate | string | N | End date of date range, format with yyyy-MM-dd | 2026-10-09 |
| 1 | usageBufferDays | integer | N | Usage buffer days | |
| 1 | parkReservationRequired | boolean | N | Communicate if the park reservation is required | true |
| 1 | ageQualifies | array | N | The product age qualification list | |
| 2 | ageType* | enum | Y | Allowed: Adult┃Child┃AllAges | Child |
| 2 | ageRange* | Y | |||
| 3 | unit* | enum | Y | Allowed: Years┃Months | Years |
| 3 | minAge* | integer | Y | Constraints: Min 0┃Max 120 | 3 |
| 3 | maxAge* | integer | Y | Constraints: Min 0┃Max 120 | 9 |
| 1 | additions | array | N | Description for specific types. Example for more details | |
| 2 | additionType* | enum | Y | Allowed: Policy┃Offer┃ValidPark┃Inclusion┃Affiliation┃ParkReservationRequiredDates | Offer |
| 2 | additionValues* | array | Y | ||
| 3 | id* | string | Y | Constraints: Min 1 char | DLRAUSNZRESOFFER |
| 3 | name | string | N | Disneyland AUS/NZ Resident Ticket Offer | |
| 3 | description | string | N | Disneyland AUS/NZ Resident Ticket Offer |
Response Example
{
"supplierId": "DISNEY",
"productId": "5XK03A",
"productName": "5-Day Theme Park Ticket with Park Hopper Option",
"productType": "Ticket",
"variablePrice": true,
"brandId": "WDW",
"officeIds": [
"DERBY-1_DERBY001"
],
"status": "Active",
"destination": {
"countryCode": "US",
"countryName": "United States",
"subdivisionCode": "US-IL",
"subdivisionName": "Illinois",
"subdivisionCategory": "State",
"cityName": "Chicago"
},
"marketRegions": [
"INTL_WHOLESALE"
],
"durationDays": 5,
"saleDateRange": [
{
"startDate": "2022-02-13",
"endDate": "2022-02-15"
}
],
"usageDateRange": [
{
"startDate": "2022-02-13",
"endDate": "2022-02-15"
}
],
"usageBufferDays": 2,
"parkReservationRequired": true,
"ageQualifies": [
{
"ageType": "Adult",
"ageRange": {
"unit": "Years",
"minAge": 10,
"maxAge": 120
}
}
],
"additions": [
{
"additionType": "Policy",
"additionValues": [
{
"id": "awakening-info",
"name": "Awakening Info",
"description": "<b>Theme Park Reservation Requirement</b> ..."
}
]
}
]
}{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Retrieve active ticket product price change dates API
This API is used by the distributor to obtain price change dates for active ticket products.
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | OAuth2 authorization token | |
| 1 | echo-token* | string | Y | Unique echo token generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore, required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | dateRange* | Y | |||
| 2 | startDate* | string | Y | Start date of date range, format with yyyy-MM-dd | |
| 2 | endDate* | string | Y | End date of date range, format with yyyy-MM-dd | |
| 1 | productId | array | N | Product ID | 5XK03A |
| 1 | timestamp* | string | Y | DS will return the changes of pricing after this time |
Request Example
{
"dateRange": {
"startDate": "2022-02-13",
"endDate": "2022-02-15"
},
"productId": [
"5XK03A",
"5XK03C"
],
"timestamp": 1732601721963
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | productId* | string | Y | Min 1 chars | 5XK03A |
| 1 | dates* | array | Y | changed dates |
Response Example
[
{
"productId": "5XK03A",
"dates": [
"2022-02-13",
"2022-02-15"
]
},
{
"productId": "5XK03C",
"dates": [
"2022-02-14"
]
}
]{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Did you find it helpful? Yes No
Send feedback