Data Structure
There is one XML API structure used for all integration services.
The API structure has common elements and inside the body there are specific XML elements depending on the type of integration .
For more detailed information on the specific XML elements inside the requests and response objects, please choose from the API documentations below:
API Methods
All API methods support one supplier per transaction except for Availability. Supplier response will be sent when timeout limit is reached or when the supplier has responded.
Availability Method
The Availability method supports requests to 1 or more (1..n) suppliers in a single availability request. All supplier requests will be sent to each supplier simultaneously and the responses aggregated into one single response. If the timeout limit is reached and a supplier has not responded on time, an empty response will be returned for this specific supplier.
Please check Hub Quotas for some limitations to requests.
Availability RQ Example
<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns = "http://schemas.xmltravelgate.com/hub/2012/06" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>user</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns:Avail><!-- Specific by API -->
<ns:availRQ> <!-- Specific by API -->
<ns:timeoutMilliseconds>25000</ns:timeoutMilliseconds>
<ns:version>1</ns:version>
<ns:providerRQs>
<ns:ProviderRQ>
<ns:code>AXI</ns:code>
<ns:id>1</ns:id>
<ns:rqXML>
<!-- XML RQ Specific by API -->
</ns:rqXML>
</ns:ProviderRQ>
<ns:ProviderRQ>
<ns:code>TEST</ns:code>
<ns:id>2</ns:id>
<ns:rqXML>
<!-- XML RQ Specific by API -->
</ns:rqXML>
</ns:ProviderRQ>
</ns:providerRQs>
</ns:availRQ>
</ns:Avail>
</soapenv:Body>
</soapenv:Envelope>
Availability RQ Description
Element | Number | Type | Description |
---|---|---|---|
Envelope | 1 | Root Node | |
Header/Security/UserNameToken | 1 | Web Services Security UsernameToken Profile 1.0 | |
Body | 1 | Request Body | |
timeoutMilliseconds | 1 | Integer | Maximum time in milliseconds awaiting possible responses |
version | 1 | String | API specification version (1) |
providersRQs/ProviderRQ | 1..n | Supplier you wish to connect to | |
providersRQs/ProviderRQ/code | 1 | String | Supplier code |
providersRQs/ProviderRQ/id | 1 | String | Id to correlate requests with responses |
providersRQs/ProviderRQ/rqXML | 1 | String | XML request specific by API |
Availability RS Example
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2016-06-01T07:21:05.671Z</u:Created>
<u:Expires>2016-06-01T07:26:05.671Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<AvailResponse xmlns="http://schemas.xmltravelgate.com/hub/2012/06"> <!-- Specific by API -->
<AvailResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <!-- Specific by API -->
<hubStatus>
<code>1</code>
<warnings i:nil="true"/>
<exceptionString i:nil="true"/>
<roleInstanceId>ne-0/HubFrontendWebRole_IN_1</roleInstanceId>
<channelId i:nil="true"/>
<messageWebRoleStats>
<startAtUtc>2016-06-01T07:21:04.8852599Z</startAtUtc>
<endAtUtc>2016-06-01T07:21:05.6716951Z</endAtUtc>
<execution>PT0.7864352S</execution>
<messageExpiresAtUtc>2016-06-01T07:21:29.8852599Z</messageExpiresAtUtc>
<getValidationConfiguration>PT0S</getValidationConfiguration>
<buildHubMessageRQ>PT0S</buildHubMessageRQ>
</messageWebRoleStats>
</hubStatus>
<providerRSs>
<ProviderRS>
<hubProviderStatus>
<channelId>http://100.86.112.84:10101/ServiceHotel</channelId>
<code>1</code>
<exceptionString i:nil="true"/>
<hubProviderError i:nil="true"/>
<invocationWorkerRoleStats>
<startAtUtc>2016-06-01T07:21:04.8706611Z</startAtUtc>
<receiveBrokeredMessageRQ>2016-06-01T07:21:04.8706611Z</receiveBrokeredMessageRQ>
<buildAssembly>PT0.0155795S</buildAssembly>
<buildInvokeRQ>PT0S</buildInvokeRQ>
<invoke>PT0.7869013S</invoke>
<invokeProvider>PT0.7869013S</invokeProvider>
<buildInvokeRS>PT0S</buildInvokeRS>
<buildBrokeredMessageRS>PT0S</buildBrokeredMessageRS>
</invocationWorkerRoleStats>
<roleInstanceId>HubTravelHotelWorkerRole_IN_0</roleInstanceId>
</hubProviderStatus>
<refId>1</refId>
<rs>
<!-- XML RS Specific by API -->
</rs>
<rsXML i:nil="true"/>
</ProviderRS>
<ProviderRS>
<hubProviderStatus>
<channelId>http://100.86.112.84:10101/ServiceHotel</channelId>
<code>1</code>
<exceptionString i:nil="true"/>
<hubProviderError i:nil="true"/>
<invocationWorkerRoleStats>
<startAtUtc>2016-06-01T07:21:04.8706611Z</startAtUtc>
<receiveBrokeredMessageRQ>2016-06-01T07:21:04.8706611Z</receiveBrokeredMessageRQ>
<buildAssembly>PT0.0155795S</buildAssembly>
<buildInvokeRQ>PT0S</buildInvokeRQ>
<invoke>PT0.7869013S</invoke>
<invokeProvider>PT0.7869013S</invokeProvider>
<buildInvokeRS>PT0S</buildInvokeRS>
<buildBrokeredMessageRS>PT0S</buildBrokeredMessageRS>
</invocationWorkerRoleStats>
<roleInstanceId>HubTravelHotelWorkerRole_IN_0</roleInstanceId>
</hubProviderStatus>
<refId>2</refId>
<rs>
<!-- XML RS Specific by API -->
</rs>
<rsXML i:nil="true"/>
</ProviderRS>
</providerRSs>
</AvailResult>
</AvailResponse>
</s:Body>
</s:Envelope>
Availability RS Description
Element | Number | Type | Description |
---|---|---|---|
Envelope | 1 | Root Node | |
Header/Security | 1 | Auto generated by SOAP framework based on Web Services Security UsernameToken Profile 1.0 | |
Body | 1 | Response Body | |
hubStatus | 1 | Trace information only for XMLTravelgate purposes | |
providersRSs/ProviderRS | 1..n | Response of suppliers requested | |
providersRSs/ProviderRS/hubProviderStatus | 1 | Trace information only for XMLTravelgate purposes | |
providersRSs/ProviderRS/refId | 1 | String | Id to correlate response with request. It’s a reference to the id set in request |
providersRSs/ProviderRS/rsXML | 1 | String | XML response specific by API |