API Overview
Modified on: 2024-11-27 17:47
TABLE OF CONTENTS
- Overview
- Security & Authentication
- JSON Service
- Message Header
- Property Connector Endpoints
- Outbound IP Addresses
- Success & Failure
Overview
Property Connector APIs allow PMS Company to integrate DerbySoft Property Connector for data exchange on ARI, Reservation, and Stay Record as well as the creation of Property, RatePlan, and Roomtype. PMS company can step into DerbySoft connectivity platform through the PMS Integration API to empower the PMS distribution capability.
DerbySoft designed the PUSH/PUSH model for ARI & Reservation data exchange between PMS and DerbySoft Property Connector. Please refer to the diagram below:
- PMS push Property data to Derbysoft to create the Property in Property Connector.
- PMS push Rateplan&Roomtype data to Derbysoft to create the product in PropertyConnector.
- PMS push ARI to DerbySoft, and DerbySoft process the data into the database in the async model.
- PMS push channel setting data to Derbysoft to create or update the settings of the specific channel in PropertyConnector.
- PMS push channel mapping data to Derbysoft to create or update the mapping between channel product and hotel product in PropertyConnector.
- DerbySoft push reservations from distributors to PMS and deliver back the confirmation or errors to distributors directly.
- PMS push Stay Record to Derbysoft, Derbysoft generates report accordingly.
- DerbySoft send messages from distributors to PMS.
Module | Message Type | Direction | Use Cases | Comment |
---|---|---|---|---|
Property | Update Hotel | PMS → DerbySoft | Create or Update hotel information | |
Content | Update RoomClass | PMS → DerbySoft | Create or Update room class | |
Update RoomType | PMS → DerbySoft | Create or Update room type | ||
Update RatePlan | PMS → DerbySoft | Create or Update rate plan | ||
Update Fee | PMS → DerbySoft | Create or Update fee or tax rule | ||
Update Product | PMS → DerbySoft | Create or Update room type-rate plan combination | ||
ARI | Update Rate | PMS → DerbySoft | Updates rates | |
Update Inventory | PMS → DerbySoft | Updates inventories | ||
Update Availability | PMS → DerbySoft | Updates availabilities | ||
Channel | Retrieve Channel List | PMS → DerbySoft | Get the latest channel list | |
Update ChannelSetting | PMS → DerbySoft | Activate or Update channel setting | Same API for channel activation or updating. | |
Update ChannelMapping | PMS → DerbySoft | Update mapping table between channel product and hotel product | Please send the Channel product ID in the XML. For non-mapping channel, the channel product ID will be the same as the PMS product ID. | |
ChannelProduct Query | PMS → DerbySoft | Fetch channel products which need mapping | Only works for channels requires mappings, including Agoda, Booking.com and Expedia. | |
Reservation | Live Check | DerbySoft → PMS | Check Real-time availability | |
Book | DerbySoft → PMS | Make a new reservation | ||
Modify | DerbySoft → PMS | Modify an existing reservation | ||
Cancel | DerbySoft → PMS | Cancel an existing reservation | ||
Update Reservation Status | PMS → DerbySoft | Update reservation status | ||
Ping | Ping | DerbySoft → PMS | Monitor whether the interface is working properly. | |
Account | Token Refresh | PMS → DerbySoft | Obtain & Refresh token | |
Message | Send Message | DerbySoft → PMS | Send a new message | Only works for Airbnb |
Property Creation sequence chart
Product Creation sequence chart
ARI sequence chart
Channel Setting sequence chart
Reservation sequence chart
Message sequence chart
Security & Authentication
DerbySoft Property Connector process the access authentication with Bearer Token. Our system validates every message while calling our API service.
Please contact [email protected] to acquire Client ID and Client Secret while integrating to our system, then call Token Obtain&Refresh API to get bearer token. Here is an exmaple to explain how to access our APIs.
POST /pcapigateway/tunnel/{accountId}/rate HTTP/1.1
Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc
Accept-Encoding: gzip
Content-Type: application/json;charset=utf-8
DerbySoft Property Connector is certified to be compliant with the PCI-DSS standard and GDPR, we recommend your PMS also be certified for it.
Important:
Our system can only support TLSv1.2 and above via HTTPS, please make sure your application can be compatible with it.
JSON Service
DerbySoft PMS Integration API is well designed under JSON restful API, which is following the specification of RFC4627. Please add “Content-Type: application/json;charset=utf-8
“ in your HTTP request header to ensure our application can parse your request correctly.
Important:
UTF-8 is the only charset supported by us for characters encoding & decoding, which ensures your application can accept some non-Latin characters like guest name, comments, etc.
Message Header
There is a common message header in each request and response to trace the transaction between PMS and DerbySoft Property Connector. DerbySoft records them in the log system for troubleshooting. It’s recommended that your PMS system can also log them and provide them to us for issue investigation in the future.
Element | Type | Occurrence | Description | Comment |
---|---|---|---|---|
echoToken | String | Mandatory | Unique ID, less than 50 characters in length. | The unique trace id for each transaction, and must be the same in the transaction of request and response message. |
timeStamp | yyyy-MM-dd'T'HH:mm:ss.SSSZ | Mandatory | UTC Time of the transaction. | 2018-06-27T17:09:04.674Z |
version | String | Mandatory | The version of the message. | / |
Property Connector Endpoints
Endpoint | IP Address | Comment |
---|---|---|
TEST | https://pcendpoint.derbysoft-test.com/pcapigateway/tunnel/{accountId} | Works for ARI & Update Reservation Status |
https://pcendpoint.derbysoft-test.com/pcapigateway/profile/{accountId} | Works for Property, Content & Channel | |
https://pcendpoint.derbysoft-test.com/pcapigateway/account/token | Works for Account | |
PROD | https://pcendpoint.derbysoftsec.com/pcapigateway/tunnel/{accountId} | Works for ARI & Update Reservation Status |
https://pcendpoint.derbysoftsec.com/pcapigateway/profile/{accountId} | Works for Property, Content & Channel | |
https://pcendpoint.derbysoftsec.com/pcapigateway/account/token | Works for Account |
Outbound IP Addresses
Please find the below IP addresses if you have to set up the IP whitelist:
Endpoint | IP Address | Comment |
---|---|---|
TEST | 52.83.237.180 | / |
PROD | 34.210.91.128/26 | / |
34.223.15.0/25 | / | |
43.192.1.64/28 | / | |
3.0.5.64/26 | / |
Success & Failure
DerbySoft Property Connector follows HTTP status code standard to indicate successful response or failure response. HTTP status code 200
means the requests are well processed in the servers, HTTP status code 500
means there is an error occurred. Please follow this standard as it’s useful to integrate with some third-party monitoring system and tracing system.
Error Handling
It is expected that your PMS has a robust error handling process in place. This includes a queuing mechanism and a robust retry strategy. An error response should contain a short description of the error to assist our support teams.
HTTP Status Code | Description |
---|---|
401 | Unauthorized indicates that the request has not been applied because it lacks valid authentication credentials for the target resource |
403 | Forbidden indicates that the server understood the request but refuses to authorize it |
404 | Not Found indicates that the server can't find the requested resource |
405 | Method not allowed indicates that the request method is known by the server but is not supported by the target resource |
429 | Too Many Requests indicates the user has sent too many requests in a given amount of time ("rate limiting") |
500 | Server Error indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. In this case, mostly there is some business error occurs such as The error details will be including errorCode, errorMessage, and header in the response. Please refer to the example below: {
"header": {
"echoToken": "f67ade36-0b83-49cf-bfb1-b932c45b7d34",
"timeStamp": "2018-06-27T17:09:04.674Z",
"version": "1.00"
},
"errorCode": "InvalidField",
"errorMessage": "Invalid token"
} |
Error Response
The common error response when there is a business error occurred.
Element | Type | Occurrence | Description | Comment |
---|---|---|---|---|
errorCode | String | Mandatory | Error code | Please refer to Appendix - Error Code for the full list of error codes |
errorMessage | String | Mandatory | Error message | / |
Note:
The error response always be with the message header, and only appears in the HTTP status code 500.
Did you find it helpful? Yes No
Send feedback