This instance is currently being migrated to the new Atlassian One Confluence sytem.
If you can't find your space anymore, it should be already in the new System: https://confluence.weareplanet.com/
Exchanging Data
protel uses protel I/O to route incoming and outbound data messages. Messages can be delivered to protel I/O from an HTTPS endpoint. protel I/O provides different endpoints for synchronous and asynchronous SOAP 1.2 messages to accommodate WSDL requirements. protel I/O is using the Version 'OTA 2011A' for the OTA messages.
Security, Access, and Authentication
Security is important to you and protel. All messages must be authenticated using protel IO’s secure authentication processes. To ensure the source of messages are valid, all messages flowing to and from protel are checked. Messages are verified by protel I/O. Access to the API is only permitted through SSL (secure sockets layer). For HTNG messaging, all messages will utilize the HTNG 1.2 SOAP header.
Authentication of Inbound messages
Direction Vendor to protel. All messages require a protel provided Bearer Token (whether RQ or RS!).
The Authentication token must be submitted in HTTP headers.
Protel will provide you with your bearer token at the time we commence testing. When requesting a test environment protel will provide you with a token at that time.
Format of HTTP Headers
In order to process your incoming requests, all of your messages must contain headers inside the HTTP headers
HTTP Header | Description | Occurrence |
---|---|---|
Content-Type | Fixed to "application/soap+xml" | Mandatory |
SOAPAction | Please check the table below for the correct value | Mandatory |
Authorization | The access token e.g. "Bearer C6MmpEFjRRSy288V1-DEMO-hGETMBImNJhFzv5" | Mandatory |
CorrelationID | The CorrelationID of the message you are sending to identify the transaction | Optional |
Header Format
Content-Type: application/soap+xml SOAPAction: OTA_HotelResNotifRQ Authorization: Bearer C6MmpEFjRRSy288V1-DEMO-hGETMBImNJhFzv5 CorrelationID: RES#047616#UPDATE#000025#1594029290242#546D
SOAPAction
Messages sent to Protel IO (ESB)
OTA | HTNG | IO | |
---|---|---|---|
Request | SOAPAction : "http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ_SubmitRequest" | SOAPAction : "http://htng.org/PWSWG/2010/12/HTNG_HotelCheckInNotifRQ_SubmitRequest" | SOAPAction : "IO_StatsNotifRQ |
Response | SOAPAction : "OTA_HotelResNotifRS" | SOAPAction : "HTNG_HotelCheckInNotifRS" | SOAPAction : "IO_StatsNotifRS" |
Format of SOAP Environment
In order to process your incoming requests, all of your messages must contain headers inside the SOAP environment
Element | Namespace | Description | Occurrence |
---|---|---|---|
Envelope | http://www.w3.org/2003/05/soap-envelope | - | Mandatory |
Envelope / Header | http://www.w3.org/2003/05/soap-envelope | Contains the SOAP headers of the message | Mandatory |
Envelope / Header / Action | http://protel.io/soap | The required action (Message name) e.g. "OTA_HotelResNotifRQ" | Optional |
Envelope / Header / CorrelationID | http://protel.io/soap | The CorrelationID of the message you are sending to identify the transaction (protel namespace) | Mandatory |
Envelope / Header / Source | http://protel.io/soap | The Source of the message (Only outbound from protel to vendor) | Optional |
Envelope / Header / CorrelationID | http://htng.org/PWSWG/2007/02/AsyncHeaders | The CorrelationID of the message you are sending to identify the transaction (HTNG namespace) | Mandatory |
Envelope / Header / Target | http://protel.io/soap | The desired target service name of the message - ONLY for SYNC messages | Optional |
Envelope / Body | http://www.w3.org/2003/05/soap-envelope | The HTNG/OTA/IO message | Mandatory |
SOAP Env
<?xml version='1.0' encoding='utf-8'?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <p:Action xmlns:p="http://protel.io/soap">OTA_HotelResNotifRQ</p:Action> <p:CorrelationID xmlns:p="http://protel.io/soap">RES#047616#UPDATE#000025#1594029290242#546D</p:CorrelationID> <p:Source xmlns:p="http://protel.io/soap" Module="backline" ModuleVersion="2020-07-02T10:28:55 (PROD)" Product="protelAir" ProductVersion="2027.1.56845-RELEASE" Service="io.protel.air"/> <htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">RES#047616#UPDATE#000025#1594029290242#546D</htnga:CorrelationID> <p:Target xmlns:p="http://protel.io/soap">io.protel.air</p:Target> </env:Header> <env:Body> --OTA/IO/HTNG Message-- </env:Body> </env:Envelope>
Format of the Acknowledgment (ASYNC communication)
To communicate with an ASYNC pattern, the receiver of the message needs to send an ACK with the HTTP status code 200 and the following payload back to the sender before the receiver starts the processing of the message.
The Content-Type needs to be added in the HTTP Header with the value "application/soap+xml".
Please note that depending on the message group used, the ACK has some differences between the standard OTA/HTNG and the protel extension IO message types:
Example ACK for HTNG/OTA message type
<?xml version='1.0' encoding='UTF-8'?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">%1$s</htnga:CorrelationID> <htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">%1$s</htnga:RelatesToCorrelationID> </env:Header> <env:Body> <ns:HTNG_AcknowledgeReceipt xmlns:ns="http://htng.org/2014B"/> </env:Body> </env:Envelope>
Example ACK for IO message type
<?xml version='1.0' encoding='UTF-8'?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">%1$s</htnga:CorrelationID> <htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">%1$s</htnga:RelatesToCorrelationID> </env:Header> <env:Body> <io:IOAcknowledgeRS CorrelationID="%1$s" xmlns:io="http://protel.io/soap"> <io:Success>true</io:Success> </io:IOAcknowledgeRS> </env:Body> </env:Envelope>
protel I/O Connection Endpoints
Connecting to TEST
System | Endpoint | Variant | URL | Comments |
---|---|---|---|---|
ESB | Asynchronous API | SOAP 1.2 | https://service-test.protel.io/services/ProtelApiService.ProtelApiServiceHttpsSoap12Endpoint | Default Endpoint |
Synchronous API | SOAP 1.2 | https://service-test.protel.io/services/ProtelApiSyncService.ProtelApiSyncServiceHttpsSoap12Endpoint | ||
Asynchronous API (CD-Proxy) | SOAP 1.2 | https://qa-pci.protel.net/cd-proxy-io/pci/1/io/reservations | Endpoint for all inbound OTA_HotelResNotifRQ messages | |
WSDL | SOAP 1.2 | https://wsdl-test.protel.io/services/ProtelApiService?wsdl |
Connecting to PROD
System | Endpoint | Variant | URL | Comments |
---|---|---|---|---|
ESB | Asynchronous API | SOAP 1.2 | https://service.protel.io/services/ProtelApiService.ProtelApiServiceHttpsSoap12Endpoint | Default Endpoint |
Synchronous API | SOAP 1.2 | https://service.protel.io/services/ProtelApiSyncService.ProtelApiSyncServiceHttpsSoap12Endpoint | ||
Asynchronous API (CD-Proxy-Ireland) | SOAP 1.2 | https://pci.protel.net/cd-proxy-io/pci/1/io/reservations | Endpoint for all inbound OTA_HotelResNotifRQ messages | |
Asynchronous API (CD-Proxy-Sydney) | SOAP 1.2 | https://pci-sydney.protel.net/cd-proxy-io/pci/1/io/reservations | Endpoint for all inbound OTA_HotelResNotifRQ messages for protel Customers located in Sydney | |
WSDL | SOAP 1.2 | https://wsdl.protel.io/services/ProtelApiService?wsdl |
NAT Gateway IP Addresses
Environment | NAT Gateway - Out |
---|---|
ESB TEST | 34.249.236.99 |
ESB PROD | 34.248.234.12 |