Schemas
S7 Agent API makes WSDLs for all of versions available for download.
When you are developing S7 Agent API applications that send requests and receive responses, you might find it helpful to validate the contents of your messages against the relevant schema.
Headers
The following table describes the HTTP headers that you typically set in a S7 Agent API request:
# | Name | Mandatory | Key in headers | Description |
---|---|---|---|---|
1 | Version of API | Optional | X-API-Version | Depends on version of API that you want to execute
|
2 | Basic authorization string | Required | Authorization | Credentials that you received from our S7 technical support. Check out Quick Start for how to get it |
3 | Operation name | Required | SOAPAction | Depends on operation that you want to execute |
4 | Type of content | Required | Content-Type | Sets the content type of the request. Always "text/xml" |
S7 agent API required encrypted HTTP requests via HTTPS only. Check out Quick Start for how to get SSL certificate.
The following example shows headers of a typical SearchFlights operation of 0.52 version API on Test environment:
POST /agent-api/gaia HTTP/1.1 Host: qa-gaia.s7.ru Content-Type: text/xml SOAPAction: "http://api.s7.ru/SearchFlightsJourney" X-API-Version: 0.52 Authorization: Basic *********************
Versions
You can use any released versions if your requests conform that syntax. Check references for detailed explanation of input&output parameters and possible errors for every version of API.
If you didn't pass Version of API in request a default one will be executed. You always able to check executed API version in response headers.
But we recommend that you always specify version in all you request to avoid unexpected responses form another versions of API.
Operation names
Applications must send the "SOAPAction" key in headers of request to the S7 Agent API for determination of operation.
# | Operation | SOAPAction value (actual for v0.52) |
---|---|---|
1 | book | "http://api.s7.ru/Book" |
2 | cancelBooking | "http://api.s7.ru/CancelBooking" |
3 | changeBook | "http://api.s7.ru/ChangeBook" |
4 | demandTickets | "http://api.s7.ru/DemandTickets" |
5 | flightInfo | "http://api.s7.ru/FlightInfo" |
6 | orderCreate | "http://api.s7.ru/OrderCreate" |
7 | orderChange | "http://api.s7.ru/OrderChange" |
8 | read | "http://api.s7.ru/Read" |
9 | reprice | "http://api.s7.ru/Reprice" |
10 | retrieveTicket | "http://api.s7.ru/RetrieveTicket" |
11 | retrieve TST | "http://api.s7.ru/RetrieveTST" |
12 | searchFlightsFlex | "http://api.s7.ru/SearchFlightsFlex" |
13 | searchFlightsBySlice | "http://api.s7.ru/SearchFlightsBySlice" |
14 | searchFlightsJourney | "http://api.s7.ru/SearchFlightsJourney" |
15 | seatMap | "http://api.s7.ru/SeatMap" |
16 | servicePrice | "http://api.s7.ru/ServicePrice" |
17 | voidTicket | "http://api.s7.ru/VoidTicket" |
Common questions
Question Answer How to access the product environment? If you are newbie, just follow the steps, which provides the simplest way to quickly get an access to API Or you already adopted your systems to our test environment? Notify our technical support by Kaiten for final testing under the supervision of our technologists and proceed to signing of the contract of EDS How to access the test environment? Which endpoints should be used? Explore the ways of submitting requests: How does the standard ticketing scenario looks? Simple operation flow: searchFlightsJourney (AirShoppingRQ) → book (OrderCreateRQ) → reprice (ItinReshopRQ) → demandTickets (AirDocIssueRQ) Discover more scenarios from simplest flows to best practices Is it possible to use social categories of passengers: pensioners, youth, sailors, students, etc.? What types of passengers are available in the API? No, only 3 types of passengers are available: adult (ADT) — passengers 12 years old and older child (CHD) — passengers between 2 (inclusive) and 12 years old (exclusive) 2-year-old passenger is a child 12-year-old passenger is an adult infant in a lap (INF) — passengers under 2 years How can I get information about flights commissions and manage agency fees? For any financial questions you have to contact S7's sales department or your account manager via at vm@s7.ru Is the Multi-City method implemented in API? Yes, check searchFlights operation overview to find out. Samples will be available soon! Is the refund method implemented in API? No, the refunds are not implemented Can I get an S7 route map? There is no such request in API Are all S7 fares branded? Yes, all fares are split into 3 fare families, from the cheapest to the most equipped fare: Economy Basic Economy Standard Economy Plus Business Standard Business Plus Can I get a terminal text view of the current PNR data? Or just build a template from an XML response? No, only XML display is available for input and output Does the service support queues? All requests to API are synchronous, queues are not used I recieve "Unknown operation" in response, while requests executed in SoapUI Check using of correct HTTP header of your requests: X-API-Version — e.g. 0.52 or other SOAPAction — e.g. "http://api.s7.ru/Reprice" or other Content-Type: text/xml Also you can find out how to handle with unsuccessful result and common access errors When I try the link https://qa-gaia.s7.ru/agent-api/wsdl/0.52?wsdl I get an error: "400 Bad Request. No required SSL certificate was sent." You didn't use a right SSL certificate to download API's WSDL. Check you used certificate for the test environment (not for production): If it seems ok to you, contact to S7 API support with attached request body and headers In case you never heard about access credentials to API, just follow the steps, which provides the simplest way to quickly get an access to API Also you can find out how to handle with unsuccessful result and common access errors I always recieve an error: "Can not perform operation without valid RequestorID" Probably, you used incorrect Agent credentials in Party tag. Contact to S7 API support with used credentials Also you can find out how to handle with unsuccessful result and common access errors1 2 3 Test Production # Version Endpoint Endpoint 1 0.52 WSDL 2 up to refund&deleteTST&schedule&split&postsale refund&deleteTST&schedule 3 up to 4 5 6 7 8 9 10 11 12 13 14 15