QPX Connect API Reference
QPX Connect is the flight search API used by Serko Northsky for flight shopping operations.
info
The QPX Connect endpoint and API Key are available in Keeper (folder LCA-Serko).
Useful Links
- Official Documentation
- QPX Connect Console — Manage Library and Rule Group data
- Glossary — Airline industry terms
Overview
QPX Connect API
QPX Connect provides several APIs. Serko Northsky uses:
- Shopping API — Rich search and summarize operations
Operation Types
| Operation | Description |
|---|---|
| Search | Performs shopping query, stores results. Returns list of solutions. |
| Summarize | Filters, sorts, and formats stored search results. |
Request Format
Operations are submitted as POST requests with XML body:
<search api="shopping"
name="priceByItinerary"
key="RylHh**********MoawpW"
version="1235">
<inputs>
<searchControl>
<slice>
<origin>BOS</origin>
<destination>IST</destination>
<date>2025-12-01</date>
</slice>
<passenger>
<type>adult</type>
<count>1</count>
</passenger>
</searchControl>
<summarizerControl>
<pageSize>20</pageSize>
</summarizerControl>
</inputs>
<summarizer>priceByItineraryTrip</summarizer>
<summarizer>pricingDetail</summarizer>
<summarizer>itineraryDetail</summarizer>
</search>
Request Headers
POST /search HTTP/1.1
Host: qpxconnect.googleapis.com
Content-Type: application/xml
Response Format
Responses are in XML format containing:
- Solutions — Flight options matching search criteria
- Pricing — Fare details including base fare and taxes
- Itinerary — Flight segments, times, and carriers
Integration in Serko Northsky
The QPX service (QPXService) handles all communication with QPX Connect:
class QPXService:
async def search(self, request: QPXSearchRequest) -> list[Flight]:
xml_request = self._build_xml_request(request)
response = await self.client.post("/search", content=xml_request)
return self.mapper.map_search_response(response)
Entity Mapping
QPX responses are mapped to Serko Northsky entities:
| QPX Element | Serko Northsky Entity |
|---|---|
| Offer | Flight |
| Segment | FlightLeg |
| FareComponent | Fare |
| TaxInfo | FlightLegTax |
Error Handling
| Error Code | Description | Action |
|---|---|---|
| 400 | Invalid request | Check XML syntax |
| 401 | Authentication failed | Verify API key |
| 429 | Rate limit exceeded | Implement backoff |
| 500 | Server error | Retry with exponential backoff |
Related Documentation
- Flight Search — Flight search overview
- QPX Service — Service implementation