Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...


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)

SOAPAction : "http://htng.org/PWSWG/2010/12/HTNG_HotelCheckInNotifRQ_SubmitRequestIO_StatsNotifRQ
OTAHTNGIORequestSOAPAction "http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ_SubmitRequest"HotelResNotifRS"SOAPAction : "ResponseSOAPAction : "http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ_SubmitResponse"SOAPAction : "http://htng.org/PWSWG/2010/12/HTNG_HotelCheckInNotifRS_SubmitResponse"SOAPAction : "IO_StatsNotifRS"

...

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/soap

The desired target service name of the message

- ONLY for SYNC messages

For message/s to protel PMS the correct values are:

  • io.protel.air - for protel Cloud PMS
  • io.protel.onpremise - for protel onPremise PMS
  • io.protel.pms - for either of the two above. The value is an alias that is valid for either of the PMSes
MandatoryOptional
Envelope / Bodyhttp://www.w3.org/2003/05/soap-envelopeThe HTNG/OTA/IO messageMandatory

...

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:

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


Codeblock
languagexml
titleExample 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>

...

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-Ireland)SOAP 1.2https://pci.protel.net/cd-proxy-io/pci/1/io/reservationsEndpoint for all inbound OTA_HotelResNotifRQ messages
Asynchronous API (CD-Proxy-Sydney)SOAP 1.2https://pci-sydney.protel.net/cd-proxy-io/pci/1/io/reservationsEndpoint for all inbound OTA_HotelResNotifRQ messages for protel Customers located in Sydney
WSDLSOAP 1.2https://wsdl.protel.io/services/ProtelApiService?wsdl

...

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.