Other Functions

Regenerate Order

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
originalOrderNostringRequired

The order number of the original ticket order you want to regenerate

Example: ACFIO20231207174449854
Responses
200Success
application/json
post
POST /regenerateOrder.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 44

{
  "originalOrderNo": "ACFIO20231207174449854"
}
200Success
{
  "status": 301,
  "msg": "text",
  "sessionId": "text",
  "orderNo": "text",
  "pnrCode": "text",
  "totalPrice": 1,
  "totalTransactionFee": 1,
  "currency": "text",
  "vendorTotalPrice": 1,
  "vendorCurrency": "text",
  "tktLimitTime": "text",
  "paxTicketInfos": [
    {
      "name": "text",
      "passengerType": 0,
      "birthday": "text",
      "gender": "text",
      "cardNum": "text",
      "cardType": "text",
      "cardIssuePlace": "text",
      "cardExpired": "text",
      "nationality": "text",
      "ticketNos": [
        "text"
      ],
      "airlinePNRs": [
        "text"
      ],
      "ancillaries": [
        {
          "productCode": "text",
          "segmentIndex": 1,
          "currency": "text",
          "ancillaryPrice": 1,
          "auxBaggageElement": {
            "isAllWeight": true,
            "piece": 1,
            "size": "text",
            "weight": 1
          },
          "auxSeatElement": {
            "row": "27",
            "column": "A"
          },
          "vendorCurrency": "text",
          "vendorPrice": 1,
          "displayCurrency": "text",
          "displayPrice": 1
        }
      ]
    }
  ],
  "routing": {
    "routingIdentifier": "text",
    "supportPaymentMethods": [
      1
    ],
    "currency": "text",
    "adultPrice": 1,
    "adultTax": 1,
    "adultDetails": [
      {
        "code": "text",
        "type": "base",
        "amount": 1,
        "description": "text"
      }
    ],
    "childPrice": 1,
    "childTax": 1,
    "childDetails": [
      {
        "code": "text",
        "type": "base",
        "amount": 1,
        "description": "text"
      }
    ],
    "infantPrice": 1,
    "infantTax": 1,
    "infantDetails": [
      {
        "code": "text",
        "type": "base",
        "amount": 1,
        "description": "text"
      }
    ],
    "infantAllowed": true,
    "childMandatorySeatingFee": 1,
    "transactionFee": 1,
    "transactionFeeMode": "PER_PAX",
    "fromSegments": [
      {
        "aircraftCode": "text",
        "arrAirport": "text",
        "arrTerminal": "text",
        "arrTime": "text",
        "cabin": "text",
        "cabinClass": 1,
        "carrier": "text",
        "codeShare": true,
        "depAirport": "text",
        "depTerminal": "text",
        "depTime": "text",
        "duration": 1,
        "fareFamily": "text",
        "flightNumber": "text",
        "operatingCarrier": "text",
        "operatingFlightnumber": "text",
        "seatCount": 1,
        "segmentIndex": 1,
        "stopCities": "text"
      }
    ],
    "retSegments": [
      {
        "aircraftCode": "text",
        "arrAirport": "text",
        "arrTerminal": "text",
        "arrTime": "text",
        "cabin": "text",
        "cabinClass": 1,
        "carrier": "text",
        "codeShare": true,
        "depAirport": "text",
        "depTerminal": "text",
        "depTime": "text",
        "duration": 1,
        "fareFamily": "text",
        "flightNumber": "text",
        "operatingCarrier": "text",
        "operatingFlightnumber": "text",
        "seatCount": 1,
        "segmentIndex": 1,
        "stopCities": "text"
      }
    ],
    "rule": {
      "hasBaggage": 1,
      "baggageElements": [
        {
          "segmentNo": 1,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 1,
          "baggageSize": "text"
        }
      ],
      "refundRules": [
        {
          "refundStatus": "T",
          "refundFee": 1,
          "currency": "text",
          "ruleDetailList": [
            {
              "status": "T",
              "startMinute": "text",
              "endMinute": "text",
              "amount": "text",
              "currency": "text"
            }
          ]
        }
      ],
      "changesRules": [
        {
          "changesType": 1,
          "changesStatus": "T",
          "changesFee": 1,
          "currency": "text",
          "ruleDetailList": [
            {
              "status": "T",
              "startMinute": "text",
              "endMinute": "text",
              "amount": "text",
              "currency": "text"
            }
          ]
        }
      ],
      "serviceElements": [
        {
          "hasFreeSeat": 1,
          "hasFreeMeal": 1
        }
      ]
    },
    "ancillaryProductElements": [
      {
        "ancillaryCode": "text",
        "auxBaggageElement": {
          "isAllWeight": true,
          "piece": 1,
          "size": "text",
          "weight": 1
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 1,
        "currency": "text",
        "maxQty": 1,
        "minQty": 1,
        "price": 1,
        "productCode": "text",
        "segmentIndex": 1,
        "vendorCurrency": "text",
        "vendorPrice": 1
      }
    ],
    "vendorFare": {
      "vendorAdultPrice": 1,
      "vendorAdultTax": 1,
      "vendorChildPrice": 1,
      "vendorChildTax": 1,
      "vendorInfantPrice": 1,
      "vendorInfantTax": 1,
      "vendorCurrency": "text"
    },
    "links": {
      "carrier": "text",
      "kind": "text",
      "link": "text",
      "description": "text"
    },
    "separateBookings": true,
    "refreshTime": "text",
    "expireTime": "text",
    "ancillarySupported": [
      "text"
    ],
    "cardChargeList": [
      {
        "cardType": "Amex",
        "percentage": 1,
        "charge": 1,
        "currency": "text"
      }
    ]
  },
  "duplicateOrders": [
    "text"
  ],
  "paymentOptions": [
    {
      "paymentMethod": 1,
      "serviceFee": {
        "amount": 1,
        "currency": "text",
        "deductFrom": "text",
        "displayAmount": null,
        "displayCurrency": null
      },
      "ticketFare": {
        "amount": 1,
        "currency": "text",
        "deductFrom": "text",
        "displayAmount": null,
        "displayCurrency": null
      },
      "paymentFee": {
        "amount": 1,
        "currency": "text",
        "deductFrom": "text",
        "displayAmount": 1,
        "displayCurrency": "text"
      },
      "cardType": "text"
    }
  ]
}

Stop Ticket Issuance

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
orderNostringRequired

The order number of the ticket order you want to stop ticket issuance.

Responses
200Success
application/json
post
POST /stopTicket.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 18

{
  "orderNo": "text"
}
200Success
{
  "status": 1,
  "msg": "text"
}

Order List

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body

A series of conditions for matching orders

orderNostring | nullableOptional

Atlas order number. Accurate matching

Example: TESTA20241122090710695
airlinePNRsstring[] | nullableOptional

The airline PNR(not Atlas's). If the airline pnr of the order contains any of the given values, it will be returned.

paxNamestring | nullableOptional

The name of the passenger(last name/first name). If the passenger in the order includes the given value, it will be returned.

contactEmailstring | nullableOptional

Accurate matching,match based on the contact email provided by the customer

fromCitystring | nullableOptional

IATA code of the departure city

toCitystring | nullableOptional

IATA code of the arrival city

depDatestring | nullableOptional

Date of departure. The format is:yyyyMMdd

createTimeRangeFromstring | nullableOptional

The start time of order creation. This is in UTC. The format is:yyyy-MM-dd'T'HH:mm:ss'Z'.

createTimeRangeTostring | nullableOptional

The end time of order creation. This is in UTC. The format isyyyy-MM-dd'T'HH:mm:ss'Z'

airlinesstring[] | nullableOptional

If the airlines of the order contains any of the given values, it will be returned

pagestring | nullableOptional

Start from: 1

Default: 1
pageSizestring | nullableOptional

Number of records to be displayed on each page.

Default: 20
Responses
200Success
application/json
post
POST /orderList.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 270

{
  "orderNo": "TESTA20241122090710695",
  "airlinePNRs": [
    "text"
  ],
  "paxName": "text",
  "contactEmail": "text",
  "fromCity": "text",
  "toCity": "text",
  "depDate": "text",
  "createTimeRangeFrom": "text",
  "createTimeRangeTo": "text",
  "orderStatus": [
    0
  ],
  "airlines": [
    "text"
  ],
  "page": "1",
  "pageSize": "20"
}
200Success
{
  "status": 1,
  "msg": "text",
  "page": "text",
  "pageSize": "text",
  "totalRecords": "text",
  "orders": [
    {
      "orderNo": "text",
      "pnrCode": "text",
      "airlinePNRs": [
        "text"
      ],
      "orderStatus": 0,
      "depDate": "text",
      "airlines": [
        "text"
      ],
      "orderCreateTimestamp": "text",
      "paymentTimestamp": "text",
      "paxNames": [
        "text"
      ],
      "contactEmail": "text",
      "fromCity": "text",
      "toCity": "text",
      "errorCode": "text",
      "errorMessage": "text"
    }
  ]
}

PNR Claim

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
Responses
200Success
application/json
post
POST /pnr/claim.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 964

{
  "mmb": {
    "airlinePnr": "text",
    "email": "text"
  },
  "passengers": [
    {
      "name": "text",
      "passengerType": 0,
      "gender": "text",
      "birthday": "text",
      "cardType": "PP",
      "cardNum": "text",
      "cardIssuePlace": "text",
      "cardExpired": "text",
      "nationality": "text"
    }
  ],
  "fromSegments": [
    {
      "carrier": "text",
      "flightNumber": "text",
      "depAirport": "text",
      "arrAirport": "text",
      "depTime": "text",
      "arrTime": "text",
      "stopCities": "text",
      "codeShare": 1,
      "operatingCarrier": "text",
      "operatingFlightNumber": "text",
      "depTerminal": "text",
      "arrTerminal": "text",
      "cabinClass": 1,
      "fareFamily": "text",
      "duration": 1
    }
  ],
  "retSegments": [
    {
      "carrier": "text",
      "flightNumber": "text",
      "depAirport": "text",
      "arrAirport": "text",
      "depTime": "text",
      "arrTime": "text",
      "stopCities": "text",
      "codeShare": 1,
      "operatingCarrier": "text",
      "operatingFlightNumber": "text",
      "depTerminal": "text",
      "arrTerminal": "text",
      "cabinClass": 1,
      "fareFamily": "text",
      "duration": 1
    }
  ],
  "connectInfo": {
    "contactName": "text",
    "contactEmail": "text",
    "contactPhone": "text",
    "useAtlasMailForContact": "text"
  }
}
200Success
{
  "status": "text",
  "msg": "text",
  "orderNo": "text"
}

Get Balance

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
currencystringRequired

The currency of your balance account

Responses
200Success
application/json
post
POST /balance.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 19

{
  "currency": "text"
}
200Success
{
  "status": 1,
  "msg": "text",
  "accountBalance": {
    "amount": "text",
    "currency": "text"
  }
}

City Pairs API

post

The "City pairs API" can be used to download the city pairs supported by Atlas as well as by the airlines. The customer can use this structured data and transfer the city pair information into their mid-back office systems.

This API is only available in the production environment.

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringOptionalExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringOptionalExample: <YOUR_CLIENT_SECRET>
Body
routeTypeintegerRequired

-1: Airline routes -2: Atlas routes

fromCitystring | nullableOptional

IATA Code of departure city.

fromCountrystring | nullableOptional

IATA Code of departure country.

toCitystring | nullableOptional

IATA Code of arrival city or airport

toCountrystring | nullableOptional

IATA Code of arrival country.

airlinesstring[] | nullableOptional

An array of IATA Codes of airlines. The routes within the airlines will be returned.

pageSizeinteger | nullableOptionalDefault: 10000
pageNumberinteger | nullableOptionalDefault: 1
Responses
200Success
application/json
post
POST /route/export.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
Content-Length: 141

{
  "routeType": 1,
  "fromCity": "text",
  "fromCountry": "text",
  "toCity": "text",
  "toCountry": "text",
  "airlines": [
    "text"
  ],
  "pageSize": 10000,
  "pageNumber": 1
}
200Success
{
  "status": 1,
  "msg": "text",
  "data": [
    {
      "airlines": "text",
      "fromCity": "text",
      "fromCountry": "text",
      "toCity": "text",
      "toCountry": "text",
      "isDirect": "text",
      "scheduleStart": "text",
      "scheduleEnd": "text",
      "updateDate": "text"
    }
  ]
}

Email List

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
orderNostring | nullableOptional

Order number. At least one of the order number, receiving time and/or creation time must be specified for querying.

emailReceivingDateStartstring | nullableOptional

Start of the receiving time. The time Atlas received the airline's email. Format: yyyy-MM-dd hh:mm:ss UTC+08:00

emailReceivingDateEndstring | nullableOptional

End of the receiving time. The time Atlas received the airline's email. Format: yyyy-mm-dd hh:mm:ss UTC+08:00. You can only query data for up to one month at a time

createTimeStartstring | nullableOptional

Start of creation time. Create Time is the time when Atlas created this email record in the Email list. Generally, it will be later than the receiving time. Format: yyyy-mm-dd hh:mm:ss UTC+08:00

createTimeEndstring | nullableOptional

End of creation time. Create Time is the time when Atlas created this email record in the Email list. Generally, it will be later than the receiving time. Format: yyyy-MM-dd hh:mm:ss UTC+08:00 You can only query data for up to one month at a time.

emailCategoriesstring | nullableOptional

Atlas email categories. Atlas categorizes emails but does not guarantee accuracy in classification. -Travel Itinerary -Schedule Change -Payment Due -Payment Success -Receipt -Trip Reminder -PNR Cancellation Success -Advertisement -Duplicated Schedule Change -Verification -Unaccounted Cancellation -Promo code

pageIndexstring | nullableOptionalDefault: 1
pageSizestring | nullableOptionalDefault: 100
Responses
200Success
application/json
post
POST /queryMail.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 188

{
  "orderNo": "text",
  "emailReceivingDateStart": "text",
  "emailReceivingDateEnd": "text",
  "createTimeStart": "text",
  "createTimeEnd": "text",
  "emailCategories": "text",
  "pageIndex": "1",
  "pageSize": "100"
}
200Success
{
  "status": 1,
  "msg": "text",
  "hasNext": true,
  "records": [
    {
      "orderNo": "text",
      "emailReceivingDate": "text",
      "uniqueCode": "text",
      "emailCategory": "text",
      "from": "text",
      "to": "text",
      "emailSubject": "text",
      "emailLink": "text",
      "createTime": "text"
    }
  ]
}

Extract PNR

post

This API is used to directly connect to airlines and extract PNR information. The content displayed by this API reflects the current PNR information on the airline side, such as flight schedule and ticket status. Atlas extracts airline information truthfully and will not do any modification.

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
airlinePnrstringRequired

The airline PNR

carrierstringRequired

2-letter IATA code for the airline

timeoutinteger | nullableOptional

The maximum response duration, in milliseconds. Note: This time is estimated due to the impact of network transmission.

Default: 15000
Responses
200Success
application/json
post
POST /extractPnr.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: gzip
x-atlas-client-id: <YOUR_CLIENT_ID>
x-atlas-client-secret: <YOUR_CLIENT_SECRET>
Content-Length: 376

{
  "airlinePnr": "text",
  "carrier": "text",
  "passengers": [
    {
      "firstName": "text",
      "lastName": "text"
    }
  ],
  "contact": {
    "email": "text"
  },
  "routing": {
    "fromSegments": [
      {
        "arrAirport": "text",
        "arrTime": "text",
        "dptAirport": "text",
        "depTime": "text",
        "flightNumber": "text"
      }
    ],
    "retSegments": [
      {
        "arrAirport": "text",
        "arrTime": "text",
        "dptAirport": "text",
        "depTime": "text",
        "flightNumber": "text"
      }
    ]
  },
  "timeout": 15000
}
200Success
{
  "status": 99005,
  "msg": "text",
  "airlinePnr": "BSG768",
  "pnrStatus": "Ticketed",
  "currency": "USD",
  "totalPrice": "text",
  "routing": {
    "fromSegments": [
      {
        "aircraftCode": "text",
        "arrAirport": "text",
        "arrTerminal": "text",
        "arrTime": "text",
        "carrier": "text",
        "codeShare": true,
        "depAirport": "text",
        "depTerminal": "text",
        "depTime": "text",
        "duration": 1,
        "flightNumber": "text",
        "operatingCarrier": "text",
        "operatingFlightnumber": "text"
      }
    ],
    "retSegments": [
      {
        "aircraftCode": "text",
        "arrAirport": "text",
        "arrTerminal": "text",
        "arrTime": "text",
        "carrier": "text",
        "codeShare": true,
        "depAirport": "text",
        "depTerminal": "text",
        "depTime": "text",
        "duration": 1,
        "flightNumber": "text",
        "operatingCarrier": "text",
        "operatingFlightnumber": "text"
      }
    ]
  },
  "paxTicketInfos": [
    {
      "name": "text",
      "ticketNos": [
        "text"
      ],
      "airlinePNRs": [
        "text"
      ],
      "ancillaries": [
        {
          "productCode": "text",
          "segmentIndex": 1,
          "currency": "text",
          "ancillaryPrice": 1,
          "auxBaggageElement": {
            "isAllWeight": true,
            "piece": 1,
            "size": "text",
            "weight": 1
          },
          "auxSeatElement": {
            "row": "27",
            "column": "A"
          },
          "vendorCurrency": "text",
          "vendorPrice": 1,
          "displayCurrency": "text",
          "displayPrice": 1
        }
      ],
      "ticketStatus": "OPEN_FOR_USE"
    }
  ],
  "contact": {
    "email": "text",
    "companyName": "text"
  }
}

getAtripToken

post
Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
orderNostringRequired

Order number. It can be an order for ticketing, or an order for add bags. The format of each kind of order is different.

userNamestringRequired

This is to identifier the operator's name in client's system, Atlas will grant access to this operator and track his/her actions in Atlas customer service portal.

rolestringRequired

This is to identify the operator's role. Atlas will grant access to this operator according to the role assigned. Here are the acceptable options:

Customer service : Access to manage orders and request post ticketing services

Finance : Access to manage the balance and check statements

Developer : Access to manage the system configurations

Admin : Full access

Responses
200Success
application/json
post
POST /getAtripToken.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: gzip
x-atlas-client-id: <YOUR_CLIENT_ID>
x-atlas-client-secret: <YOUR_CLIENT_SECRET>
Content-Length: 50

{
  "orderNo": "text",
  "userName": "text",
  "role": "text"
}
200Success
{
  "url": "text",
  "status": 1,
  "msg": "text"
}

Was this helpful?