Web Services 3.0_Manual
Web Services 3.0
User Guide
Updates since the previous version of Web Services
Web Services 3.0 is a rewrite of the application interfaces maintained since the first version. The OTA standard is adopted as a model and the SOAP remote call system is left out using pure XML through HTTP POST over SSL methods. The new message suite provides greater flexibility and functionality not covered before and it is from here that future developments are going to be made, so we recommend starting the migration process of everything implemented on the 2.X versions, as well as the implementation in 3.0 of the new developments. Web Services are the interface that allows programmatic access to the inventory of the reservation system, from availability to issuance. The purpose of this reference guide is to describe in detail each of the messages supported as well as their responses. The definitions of the messages are based on the OTA standard, described by the Open Travel Alliance (http://www.opentravel.org). We recommend reading the information provided by them, being the model on which our implementation is based. Likewise, the roadmap for implementing new features takes into account those available in the OTA definition that are not yet developed. It is assumed that the team responsible for the implementation has adequate knowledge of the technologies that form the basis of the same and therefore will not be covered within this guide. It is the responsibility of the implementer to deal with how it will do the request using POST via HTTPS, form valid XML messages and properly interpret the XML messages it receives in response.
The communication will always start from the side of the airline or travel agency and consists of a POST request via HTTPS, containing three fields:
User: User assigned to access the Web Services.
Password: Access key assigned for Web Services.
Request: XML text with the message whose processing is requested.
Throughout the guide, it is assumed that each message is sent in this way, so only the content of the XML messages will be discussed, without making any other mention of the way in which the call is made through HTTPS.
Validations of the data sent are implemented in the most restrictive way possible, so it is important to take them into account in order to avoid rejections due to format issues. The recognized formats are:
Integer: It is a positive or negative integer without spaces or any other special symbol that the minus sign (-) at the beginning of being negative. Example: 123, 0, -44.
Decimal: Follows the format of the integer but admits a decimal point (.) And a second sequence of digits. Example: -44, 0.00038, -456.55.
Alphabetical: It is a string of characters from A to Z, capital letters without eñes, accents, spaces or any punctuation mark. Example: LIM, BASED.
Alphanumeric: It is a string of characters from A to Z and from 0 to 9. Example: 29FEB, JFK0XX01.
Alphanumeric with Special Characters: It is a string that accepts the characters of the Alphanumeric definition and attaches the special characters defined in the DISH 20.1 standard, namely: blank space, decimal point, middle dash and date bar. Example: PEREZ / JUAN. BLANK SPACE.
Date: Calendar Date according to ISO 8601 (YYYY-MM-DD). Example: 2013-03-27.
Date and Time: Date and Time according to ISO 8601 (YYYY-MM-DDThh: mm: ss). Example: 2013-03-27T22: 45: 36
List: In cases of defined lists, they will be listed in brackets separated by the pipe character. Example: [Production | Testing].
In the case of optional fields, they accept, in addition to their recognized format, the receipt of an empty string.
For each functionality there is a pair of messages, one that identifies the request and one that corresponds to it in response. The identifier of the message corresponds to the root element of the XML. This pair is usually associated by name (for example, the KIU_AirAvailRQ request will correspond in response to the KIU_AirAvailRS message), but in some cases a specific name of response corresponds to a specific request name (for example, the message KIU_ReadRQ is responded with the message KIU_ProfileReadRS).
Common elements in requests
Every request message includes in its header a set of attributes that facilitates its identification and processing. These elements are:
EchoToken: Alphanumeric [0 ... 128] (Optional). It serves as identification and is sent along with the response without any modification. It is recommended to implement a system that sends calls with a unique identifier in this field to facilitate the subsequent search of calls in logs.
TimeStamp: Date and ISO Time. Moment of message generation.
Target: [Production | Testing]. Partition on which it will work.
Version: Decimal (Optional). Version implemented.
SequenceNmbr: Positive integer. It is used to identify a sequence number in a set of related messages. It is sent together with the response without any modification. It is recommended to implement a system that assigns correlative numbers from 1 onwards to each call that the same client generates in a visit to the web, to facilitate the subsequent identification of the sequence of calls in logs.
Example of request initiation:
<KIU_AirAvailRQ EchoToken="12345" TimeStamp="2010-07-17T09:30:47-02:00" Target="Production" Version="3.0" SequenceNmbr="1"> |
---|
Common elements in the answers
In addition to the common elements in the requests, the responses include elements to inform the success or failure of the operations carried out. In case of success, the "Success" element is included together with the response data. In this way, the response header for a request would be:
<KIU_AirAvailRQ EchoToken="12345" TimeStamp="2010-07-17T09:30:47-02:00" Target="Production" Version="3.0" SequenceNmbr="1"> |
---|
While in case of failure, an "Error" element is included which includes an "ErrorCode" with the numeric code and an "ErrorMsg" with a description:
<KIU_AirAvailRQ EchoToken="12345" TimeStamp="2010-07-17T09:30:47-02:00" Target="Production" Version="3.0" SequenceNmbr="1"> |
---|
Common errors in the answers
Code | Message | Definition |
10001 | Called method unknown. | The name of the request method does not exist or is not valid. |
10002 | Invalid Access. | The IP address of the server that called the Web Services is not registered in the access list for the user. |
10003 | Not allowed in this partition. | The production environment was requested with the password of the testing environment or vice versa. |
10004 | XML message could not be parsed. | The XML message sent is not on the right format |
10005 | Invalid Credentials. | The user or password sent are not valid. |
10011 | XML response has an error. Please try again. | The XML response message is not well formatted. It is recommended to try again and contact webservices@kiusys.com if the error is repeated. |
10026 | The TerminalID is not an authorized device. | The TerminalID is not declared in the "Devices and Sines List" option of the Web Services Manager. |
10027 | The AgentSine is not authorized for this device. | The AgentSine sent is not associated with any TerminalID in the "Devices and Sines List" option of the Web Services Manager. |
11001 | Error at parameter EchoToken. | The value of the attribute "EchoToken" does not correspond to the format described (alphanumeric in capitals between 0 and 128 characters inclusive) |
11002 | Error at parameter SequenceNmbr. | The value of the attribute "SequenceNmbr" does not correspond to the format described (integer greater than or equal to 1). |
11036 | Error at parameter TerminalID. | The TerminalID sent does not correspond to the format described (alphanumeric of ten characters) or does not belong to the user. |
11037 | Error at parameter AgentSine. | The AgentSine sent does not correspond to the format described (alphanumeric of nine characters) or does not belong to the user. |
11073 | Error at parameter Target. | The value of the "Target" attribute is not one of the two valid options (Production / Testing). |
12001 | Error processing your request. Please try again. | There was an error processing the request. It is recommended to try again and contact webservices@kiusys.com if the error is repeated. |
13001 | Server response was invalid or incomplete. | There was an internal error of servers. It is recommended to try again and contact webservices@kiusys.com if the error is repeated. |