Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt


#QuestionAnswer
1

How to access the product environment?

If you are newbie, just follow the steps, which provides a simplest way to quickly get an access to API

Or you already adopted your systems to our test environment? Notify our technical support by JIRA for final testing under the supervision of our technologists and proceed to signing of the contract of EDS

2

How to access the test environment?

Follow steps to quickly get an access to API

3

Which endpoints should be used?

Explore the ways of submitting requests:

Excerpt Include
Submitting requests
Submitting requests

4

How does the standard ticketing scenario looks?

Simple operation flow: searchFlights (AirShoppingRQ) → book (OrderCreateRQ) → reprice (ItinReshopRQ) → demandTickets (AirDocIssueRQ)

Discover more scenarios from simplest flows to best practices

5

Is it possible to use social categories of passengers: pensioners, youth, sailors, students, etc.?

No, only 3 types of passengers are available:

  • adult (ADT)
  • child (CHD)
  • infant (INF)
6

What types of passengers are available in the API?

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 (INF) —  passengers under 2 years
7

What types of payment can be used?

Only one payment method is used — invoice

Code Block
languagexml
themeConfluence
titlePayment type view in ticketing RQ
collapsetrue
<Type>
   <Code>MS</Code>
</Type>
<Other>
   <Remarks>
      <Remark>IN*A*AGENT_NAME</Remark>
   </Remarks>
</Other>

where:

  • MS — payment type code (invoice)
  • IN*A*AGENT_NAME — agent details
Note
iconfalse

Processing of payments isn't on our side


8

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

9

Is the Multi-City method implemented in API?

Yes, check searchFlights operation overview to find out. Samples will be available soon!

10

Is the refund method implemented in API?

No, the refunds are not implemented
11Can I get an S7 route map?There is no such request in API
12

Are all S7 fares branded?

Yes.
13

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

14

Can I add DOCO DOCA information?

No, only DOCS, FOID and FQTV SSRs are available

15Does the service support queues?In the API all requests are synchronous, queues are not used.
16

When we the requests is executed in SoapUI, we get an response: "Unknown operation"

Check using of correct HTTP header of your requests:

  • X-API-Version — e.g. 0.35 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

17

When I reach on the link: https://qa-gaia.s7.ru/agent-api/wsdl/0.35?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 that 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 a simplest way to quickly get an access to API

Also you can find out how to handle with unsuccessful result and common access errors

18

We get an error: 

"032 - SI"

Incorrect Agent credentials in Party tag

Contact to S7 API support with used Agent credentials in Party tag

Also you can find out how to handle with unsuccessful result and common access errors

Book operation questions

...

What types of documents are used?

PP tyep only, but in the ID field you can enter information about any document:

Code Block
languagexml
themeConfluence
titlePassport
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>131231231222</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>
Code Block
languagexml
titlebirth certificate
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>rbrtrtvgb123456</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>

...

Yes, but you need to consider the following logic:

e-mails — for each e-mail created a separate Contact element

Code Block
languagexml
themeConfluence
titlee-mails
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.conelly@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.ercrvev@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
</ns3:Contacts>

phoneContact — you can specify several phone numbers in one PhoneContact block

Code Block
languagexml
themeConfluence
titlephoneContact
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:PhoneContact>
            <ns3:Number CountryCode="+375" AreaCode="29">3277438</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">44444444</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">66666666</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">77777777</ns3:Number>
        </ns3:PhoneContact>
    </ns3:Contact>
</ns3:Contacts>

both types

Code Block
languagexml
themeConfluence
titleboth types
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:PhoneContact>
            <ns3:Number CountryCode="+375" AreaCode="29">3277438</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">44444444</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">66666666</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">77777777</ns3:Number>
        </ns3:PhoneContact>
        <ns3:EmailContact>
            <ns3:Address>l.conelly@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.ercrvev@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
</ns3:Contacts>

...

You can't use the following characters:

; : * ' " ^ { } [ ] < > & # ! ` = %

...

Required passenger data:

  • Surname
  • Given
  • Age
  • Contacts
  • PassengerDocument

...

In OrderCreateRQ you need to fill the PassengerDocument block.

In GDS both SSRs are created.

...

The next filling of the PassengerDocument block is required:

ADT, CHD, INF

Code Block
languagexml
themeConfluence
titlePassport
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>131231231222</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>

CHD, INF

Code Block
languagexml
titlebirth certificate
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>rbrtrtvgb123456</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>

...

BirthCountry — сountry of issue

CountryOfResidence — citizenship

...

DOCS

FOID

CHLD

INFT

FQTV

TKNE

XBAG

EXST

...

ChangeBook operation questions

...

Yes.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

...

Yes.

(lightbulb)You can read about seats here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

(lightbulb)You can read about bags here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

...

Yes.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

...

When the OrderChangeRQ is executed, we get an error:

<ns3:Error Type="LOC" Tag="Property change_book_request can not be empty" RecordID="CHNG_BOOK_RQ_IS_EMPTY"/>.

...

DemandTickets operation questions

...

ETK - Electronic Ticket. Document confirming the payment of the itinerary.

EMD - Electronic Miscellaneous Document. Document confirming the payment of services

Note
iconfalse

(lightbulb) In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

...

Issue of terminal type of ETK/EMD is not implemented. You can read the issued ETK/EMD using the operation AirDocDisplayRQ.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

Note
iconfalse

(lightbulb) In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

...

Yes, this is a mandatory parameter. Corresponds to RMK type in Gabriel - text field.

(lightbulb) It's forbidden to use the following symbols:  ; : * ' " ^ { } [ ] < > & # ! ` = % 

Code Block
languagexml
themeConfluence
titlePayment block example
collapsetrue
                        <Payment>
                            <Type>
                                <Code>MS</Code>
                            </Type>
                            <Other>
                                <Remarks>
                                    <Remark>IN*QUW1725</Remark>
                                </Remarks>
                            </Other>
                        </Payment>

VoidTicket operation questions

...

  • You can void the ticket until 23:59 of the current day (day of ticket issue).

(lightbulb) Time in 0 time zone (0UTC).

  • Voided the ticket can only use the same validator, under which the ticket was issued. Make sure you use the same validator.
  • In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

...

You can void the ticket until 23:59 of the current day (day of ticket issue).

(lightbulb) Time in 0 time zone (0UTC).

...