Document Overview
Welcome to use the FareMarket interface to support your ticket sales business. We will continue to update the documentation to ensure that more ticket sales scenarios are met. Accurate and easy-to-use documentation is our pursuit. If you have any questions or uncertainties, please contact AeroHub and we will be happy to work with you to refine the documentation.
Integration Process
Please follow the development process below and ensure that all interfaces are fully developed.
Endpoint URLs
- Test environment address:https://test.faremarket-api.aerohubtech.com
- Production environment address:https://faremarket-api.aerohubtech.com
IP Whitelist
To protect the security of your service, our API uses an IP whitelisting mechanism to ensure that only authorized IP addresses can access it. If you need to access our API from a specific IP address or range of IP addresses, you will need to provide those addresses to us for whitelisting.
- You can provide the IP address in two formats:
CIDR format: For example, 209.85.231.104/24, this format can represent an IP address range.Dedicated IP address: For example, 209.85.231.104, this format represents a specific IP address.
Please carefully determine which IP addresses or address ranges need to be added to the whitelist to protect the security of your service. Please only provide IP addresses or address ranges that are necessary to access our API.
Encryption
Encryption mode: AES/CBC/PKCS5Padding, BASE64 transcoding after AES encryption, the key must be 128 bits
Crypto initialization vector: empty byte array of length 16
Example key (first 16 digits of vendor APIKEY):
xxxnv1b653H8pTKforiginal:
{"requestId": "test", "tripType": 1, "sessionId": "11fe29ed46f8c4624bd2b12c9ec85442mwtze5pj", "orderNo": "1697779645", "passengers": [{"name": "QIN/GANGFENG", "ageType": 0, "birthday": "19890910", "gender": "M", "cardNo": "", "cardType": "", "cardIssuePlace": "CN", "cardExpired": "20201125", "nationality": "CN"}], "contact": {"fullName": "KAYSEN/XU", "address": "xxx Building, No.99 Fuquan Road, Shanghai, China", "postCode": "200335", "email": "[xxx@test.tech](mailto:xxx@test.tech)", "mobile": "13000000000", "useGuestMail": true}, "routing": {"data": "eyJzIjogIjExZmUyOWVkNDZmOGM0NjI0YmQyYjEyYzllYzg1NDQyIiwgIm0iOiAiRERXRUIiLCAicHQiOiB7fSwgImNsIjogeyJmYyI6IFsiWSJdLCAicmMiOiBbXX0sICJwaXQiOiAiIn0=", "fromSegments": [{"marketingCarrier": "DD", "depAirport": "HKT", "depTime": "202310301125", "arrAirport": "DMK", "arrTime": "202310301250", "seatClass": "W", "seatGrade": "Y", "flightNumber": "DD525", "codeShare": false, "aircraftCode": "320", "operatingCarrier": "", "operatingFlightNo": "", "segmentNo": 0, "stopCities": ""}], "retSegments": []}, "passengerBaggages": [{"passengerName": "QIN/GANGFENG", "payBaggages": []}]}After encryption:
X6NJgTJi7+sf63Vq3NNH0Xh5pW7sbIpzxEL56vipvC+Lt3cord8Truu13ELyUaZomeH53cbDIEEbW5UYaIXJywWvgN7aO/96q4FmHjNL54jwzHZgWniT5QZXQkLfIXl7aRZAXaOdbEKNqdsZRU4sV9ROoYtnwtO71Gp0yEU56NnGWy7Vx4FlrW5wcTRA1NsVBbZ1uSNZ8aUaJSNbgEV5DwW6+pBf8oRl6PfNM6TgnFfauV8b1TKUTK27FSpRWAZS3wTcxtPaIj3y15/HvTMkeG3w/rlNIo7IrMdRwto5wy/vpoC6jRjFrrJelDOGQ4uWOEXE6jK4jQxQz9uQe4rKCB1Xp/XIdk8ORiwOUGfERznfPcfqcDE0wVYh2iVytNnA5CukOCfyfxvpXiHBNIWa/4vmmLHG9LmiGZKioNfJNKYHBCsH8k5aC0isP3jRgrC1QGD6bAiEg7MBWU1AasPlAWjwgUCmH2PgC8+Uj/j7BYKR2McFhu3c4yAFfk4fIKWx33YXvOtMTRL/Httbjtm2fE5BpWOYqcJybNWlOBIfNGN+Zts/QQT/VjXzn1GqEYvSGfoNolc7wEngM55Uz71BtYPKJctOzorZcUNiLUKxLcK7wNxmO6v0pAnzQa1YmYME++dNuTD9fE6dtuBastyOj555OX+r61VAy3a/xwXcSVXldxonqHBKszpFS4O0YA2VDj/Hk+FlDtz3vDJQrSqYTih2JWDqW9NRWr1l8fIvF62HZEQjL4rpnVWpx1cc9ts+jNbnLvCohseWrMjLrcfET+Jx3s6LOv+x8kaBditIWjwCgeWs9cmTM69+SIh2Gvqx5D1dmAHcefTwiuAKQ3oVxE0P61zH7OMPsQrWutoSjp1cficsUh6eQwG46zoPhdjNBR2S+if5NBPJ6bijqPjyFTDtg7GqCU27bYOW8kHURM4BQLdhMfUiFTXsCehaN+sJrYCRKmyP2mLMdqQ3DwcYmNOboY2c2eNIsbMbX2B09ttoiMUYEp+z0nMhgA0WZlgyEWfAaPxYYuz8qYS+8deDC5kaYstFIO+nc6OaEofHYdA5lflJ9KLtDJIRL2tb0knUy9+kE/eHZM/3aA/PyqeTp1Itzza54XphfSFgB/jGYSmwPHv2+Iwmvm0/ChPlYe7bcK1zQe55zRt5tljzir+hV3tt57MqQ4igZkl3zXT7d/eWKGGRwbRpi7kpyDPD/GO269gHTTCGsFtHUKj7k9qCHhhmVkofnBX379EGH50MIgRc+nP0pTTfPCSxIZkJsDvajjqSvY+curhOvxTEJ1URTmFe6/LoVsr4mgPY489HlCzngSInwOhCzNxzmHNKwo938fxWhX5JKBR7QhixvobMWgPS/+DGY8Shjb95Z7RJlzD1FNwyuFQC+NnzbQnKMaeHMIFPbmczG9wI5Qge7BK+c8zFaQ85OFWAtEBcLpOUlQHWoKzzs/vToJoDAljr7gqhBCAzxWqPKpNrhjisjVjy7Q==Market Errors:
| marketErrorCode | marketErrorMsg |
|---|---|
| 200 | Successful |
| 400 | Failed |
| 1002 | The route has no pricing available |
| 1003 | Airline Route Not Covered (Flight Number Search) |
| 1004 | No Available Seats for Specified Flight Number (Flight Number Search) |
| 5013 | There are no quotes available for SSR. |
| 5102 | Quote data cache has expired |
| 5104 | Policy not found |
| 5105 | Invalid request |
| 5107 | Passenger not allowed |
| 5109 | No Available Seats in Requested Class (Verify) |
| 5110 | No Available Seats in Requested Class (Order) |
| 5111 | No Available Seats in Requested Class (PayValid) |
| 5113 | Promo changed |
| 5117 | Metadata not found |
| 5118 | System error |
| 5119 | Route not supported |
| 5120 | Route not in whitelist |
| 5121 | Route in blacklist |
| 5122 | No policy for route |
| 5123 | Search date not supported |
| 5124 | No method supported |
| 5125 | No carrier supported |
| 5126 | Trip type not supported |
| 5127 | Over max waiting time |
| 5128 | Request Does Not Meet Airline Policy Requirements |
Custom package name definition instructions:
| Package code | Package type | Naming conventions and examples |
|---|---|---|
| AHBasic | The lowest price product package, the requirement cannot be non-standard products | The package name is empty or use AHBasic directly. |
| AHPremium | Two-cabin product package | Use AHPremium as the package name |
| AHBag | Luggage product package | Use package CODE + baggage kilogram as the package name: AHBag15 means the package baggage kilogram is 15 kilograms |
| AHNS | Non-standard product package | Use AHNS as the package name |
Last editor:AeroHub Update time:2026-10-20 11:28