Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 25 Nächste Version anzeigen »

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 HeaderDescriptionOccurrence
Content-TypeFixed to "application/soap+xml"Mandatory
SOAPActionPlease check the table below for the correct valueMandatory
AuthorizationThe access token e.g. "Bearer C6MmpEFjRRSy288V1-DEMO-hGETMBImNJhFzv5"Mandatory
CorrelationIDThe CorrelationID of the message you are sending to identify the transactionOptional
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)


OTAHTNGIO
RequestSOAPAction "http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ_SubmitRequest"SOAPAction : "http://htng.org/PWSWG/2010/12/HTNG_HotelCheckInNotifRQ_SubmitRequest"SOAPAction : "IO_StatsNotifRQ
ResponseSOAPAction : "OTA_HotelResNotifRQ"SOAPAction : "HTNG_HotelCheckInNotifRS"SOAPAction : "IO_StatsNotifRS"


Messages sent by Protel IO (ESB)

Format of SOAP Environment

In order to process your incoming requests, all of your messages must contain headers inside the SOAP environment

ElementNamespaceDescriptionOccurrence
Envelopehttp://www.w3.org/2003/05/soap-envelope-Mandatory
Envelope / Headerhttp://www.w3.org/2003/05/soap-envelopeContains the SOAP headers of the messageMandatory
Envelope / Header / Actionhttp://protel.io/soapThe required action (Message name) e.g. "OTA_HotelResNotifRQ"Optional
Envelope / Header / CorrelationIDhttp://protel.io/soapThe CorrelationID of the message you are sending to identify the transaction (protel namespace)Mandatory
Envelope / Header / Sourcehttp://protel.io/soapThe Source of the message (Only outbound from protel to vendor)Optional
Envelope / Header / CorrelationIDhttp://htng.org/PWSWG/2007/02/AsyncHeadersThe CorrelationID of the message you are sending to identify the transaction (HTNG namespace)Mandatory
Envelope / Header / Targethttp://protel.io/soapThe desired target service name of the message - ONLY for SYNC messagesOptional
Envelope / Bodyhttp://www.w3.org/2003/05/soap-envelopeThe HTNG/OTA/IO messageMandatory
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". 

Example ACK
<?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">RES#045627#CREATE#000002#1575294717780#6244XXX</htnga:CorrelationID>
		<htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">RES#045627#CREATE#000002#1575294717780#6244XXX</htnga:RelatesToCorrelationID>
	</env:Header>
	<env:Body>
		<ns:HTNG_AcknowledgeReceipt xmlns:ns="http://htng.org/2014B"/>
	</env:Body>
</env:Envelope>

protel I/O Connection Endpoints

Connecting to TEST


Connecting to PROD

SystemEndpointVariantURLComments
ESBAsynchronous APISOAP 1.2

https://service.protel.io/services/ProtelApiService.ProtelApiServiceHttpsSoap12Endpoint

Default Endpoint

Synchronous APISOAP 1.2

https://service.protel.io/services/ProtelApiSyncService.ProtelApiSyncServiceHttpsSoap12Endpoint


Asynchronous API (CD-Proxy)SOAP 1.2https://pci.protel.net/cd-proxy-io/pci/1/io/reservationsEndpoint for all inbound OTA_HotelResNotifRQ messages
WSDLSOAP 1.2https://wsdl.protel.io/services/ProtelApiService?wsdl

NAT Gateway IP Addresses

EnvironmentNAT Gateway - Out
ESB TEST34.249.236.99
ESB PROD34.248.234.12

Circular Message Flow


The circular message flow prevents a message loop between Integration Partner and Protel.

It is applicable for message types which the PMS accepts in both directions In/Out (e.g. OTA_ProfileModifyRQ, OTA_HotelResNotifRQ, etc.)

Sample:

The Integration Partner sends an OTA_ProfileModifyRQ message to Protel. This profile is modified in the PMS and then sent again as OTA_ProfileModifyRQ by the PMS. The Integration Partner will also modify the profile again and send it back to Protel, thus creating an endless loop. 





To stop this endless loop, we have implemented the "Caused-By CorrelationID". The "Caused-By CorrelationID" is automatically added to the outbound messages by the PMS if a modification has been made due to an inbound message. Based on the "Caused-By CorrelationID", our ESB knows to which Ontegration Partner the message does not have to be sent. 



This message flow is implemented for all message types, not only Profile Messages.

  • Keine Stichwörter