Implementing or dismissing opportunities¶
The Opportunities API enables you to perform actions on the opportunities you retrieve. You can:
- Implement opportunities.
- Mark opportunities as implemented.
- Dismiss opportunities.
→ If you want to retrieve the opportunities for a property or retrieve the eligible properties for a specific opportunity, see retrieving properties.
Implementing or dismissing an opportunity¶
POST
https://supply-xml.booking.com/opportunity-api/properties/{property_id}/opportunities
The POST /properties/{property_id}/opportunities
request enables you to perform an action on a specified opportunity for a property.
Which actions you can perform depends on the implementation type of the opportunity. You can see the implementation type in the response object when retrieving opportunities:
-
TOGGLE
enables you to act upon opportunities solely through the API with the following actions: -
Enable: Implements opportunity for specified property or properties.
-
Dismiss: Causes opportunity for specified property or properties to disappear.
-
REDIRECT
enables you to implement the opportunity in two ways: (1) It informs you of what API you must use (destination API), or (2) it contains a URL that redirects you to the appropriate extranet page of the specified property. You can still perform the following action through the Opportunities API: -
Dismiss: Causes opportunity for specified property or properties to disappear.
You cannot dismiss PROVIDER
opportunities
You cannot dismiss PROVIDER
type opportunities via the Opportunities API. Because of their time-sensitive nature, they disappear themselves when they're no longer valid.
Header parameters¶
The following table lists the header parameters in the request:
Parameter | Description | Type | Required/Optional | Notes |
---|---|---|---|---|
Authorization |
Machine account username and password | string | Required | Example: Authorization: Basic {username:password} |
Body parameters¶
The following table describes what elements you must add in the request body:
Element | Description | Type | Required/Optional | Notes | |
---|---|---|---|---|---|
actions |
Contains the information related to the action upon a specific opportunity. | array | required | ||
opportunity_id |
Specifies the unique id of the opportunity. | string | required | ||
action |
Specifies the action that you want to perform upon the opportunity. | enum | required | Possible values are: ENABLE (implement opportunity for specified property) and DISMISS (avoid seeing this opportunity again for specified property). |
Request body example¶
The following is a request body example where you implement a toggle opportunity for a property with id 12345 (as you can see in the cURL request below this example):
{
"actions" :[{
"opportunity_id":"cucc_adoption_oc_promotion",
"action":"ENABLE"
}]
}
Sample request¶
You can find an example request in cURL here:
curl -X POST \
https://supply-xml.booking.com/opportunity-api//properties/12345/opportunities \
-H 'Authorization: Basic Xxxxxxxxxxx' \
Sample response¶
{
"data": {}
"meta": {
"ruid": "UmFuZG9tSVYkc2RlIyh9YbvPzfY4dZasPGAUcglKEyRzk2/HbSzspV7O+mQdkB4hP2dlEyQkjV+iI71VQFka7vNa5MAta305nepI2yvXTv4="
},
"errors": [],
"warnings": []
}
Response body¶
The following table describes the elements of the response body:
Element | Description | Type | Notes | ||
---|---|---|---|---|---|
data |
Contains the response data. | object | |||
meta |
Contains the meta data that comes with the response. | object | |||
ruid |
Specifies the unique id of the request. | string | You can send this id to Booking.com customer support if you run into an issue. This can help to understand what went wrong. | ||
errors |
Contains potential errors. These can help you understand what went wrong with your request. | array | |||
warnings |
Contains potential warnings. These can help you improve your requests. | array |
Implementing or dismissing opportunities in bulk¶
POST
https://supply-xml.booking.com/opportunity-api/opportunities
The POST /opportunities
request enables you to perform actions on specified TOGGLE
opportunity and property combinations in bulk.
→ If you want more information on TOGGLE
and REDIRECT
, see implementing or dismissing an opportunity
Header parameters¶
The following table lists the header parameters in the request:
Parameter | Description | Type | Required/Optional | Notes |
---|---|---|---|---|
Authorization |
Machine account username and password | string | Required | Example: Authorization: Basic {username:password} |
Body parameters¶
The following table describes what elements you must add in the request body. You must specify these elements for each opportunity and property combination:
Element | Description | Type | Required/Optional | Notes | |
---|---|---|---|---|---|
actions |
Contains the information related to the action upon a specific opportunity. | array | required | ||
opportunity_id |
Specifies the unique id of the opportunity. | string | required | ||
action |
Specifies the action that you want to perform upon the opportunity. | enum | required | Possible values are: ENABLE (implement opportunity for specified property) and DISMISS (avoid seeing this opportunity again for specified property). |
|
property_id |
Specifies the unique id of the property to which the opportunity belongs. | string | required |
Request body example¶
The following is a request body example where you implement and dismiss opportunities in bulk:
{
"actions" :[{
"opportunity_id":"cucc_adoption_oc_promotion",
"action":"ENABLE",
"property_id": "12345"
},
{
"opportunity_id": "cucc_adoption_oc_promotion",
"action": "ENABLE",
"property_id": "54321"
},
{
"opportunity_id": "nocvc",
"action": "DISMISS",
"property_id": "21349"
}]
}
Sample request¶
You can find an example request in cURL here:
curl -X POST \
https://supply-xml.booking.com/opportunity-api/opportunities \
-H 'Authorization: Basic Xxxxxxxxxxx' \
Sample response¶
{
"data": {}
"meta": {
"ruid": "UmFuZG9tSVYkc2RlIyh9YbvPzfY4dZasPGAUcglKEyRzk2/HbSzspV7O+mQdkB4hP2dlEyQkjV+iI71VQFka7vNa5MAta305nepI2yvXTv4="
},
"errors": [],
"warnings": []
}
Response body¶
The following table describes the elements of the response body:
Element | Description | Type | Notes | ||
---|---|---|---|---|---|
data |
Contains the response data. | object | |||
meta |
Contains the meta data that comes with the response. | object | |||
ruid |
Specifies the unique id of the request. | string | You can send this id to Booking.com customer support if you run into an issue. This can help to understand what went wrong. | ||
errors |
Contains potential errors. These can help you understand what went wrong with your request. | array | |||
warnings |
Contains potential warnings. These can help you improve your requests. | array |