1. Partner Sync
STTS OPEN API
English
  • English
  • 中文
  • Flight
    • Search and Pricing
      • Search Flights
      • Price Specified Segments
      • Get All-Cabin Prices
      • Verify a Solution
      • Get Fare and Baggage Rules
    • Orders
      • Create an Original Flight Order
      • List Flight Orders
      • Get Flight Order Details
      • Cancel a Flight Order
      • Get a Flight Order by External Order Number
      • Pay for a Flight Order
    • Refunds and Changes
      • Check Refund and Change Availability
      • Search and Price Flight Changes
      • Create a Flight Change Order
      • Query Refundable Flight Amounts
      • Create a Flight Refund Order
      • Confirm a Flight Refund Order
      • Confirm a Zero-Amount Flight Change Order
    • Services and Status
      • Query Through-Checked and Transit Baggage
      • Query Flight Ticket Status
      • Download an Electronic Ticket Itinerary
    • Account
      • Query Flight Account Balance
  • Train
    • Search and Booking
      • Search Trains
      • Check Seat Availability and Price
      • Get Booking Requirements
      • Create Train Order
    • Orders
      • Get Train Order
      • Get Order Refund and Change Conditions
      • Confirm Pre-sale Order
      • Pay Order
      • Cancel Order
    • Trains and Stations
      • Get Stop Stations by Order
      • Get Stop Stations by Train Number
      • Search Cities and Stations
      • Get Cities and Stations in Bulk
      • Get Exchange Rates
    • Refunds and Changes
      • Estimate Change Fees
      • Estimate Refund Fees
      • Request a Change
      • Request a Refund
      • Confirm Change
      • Confirm Refund
    • 12306
      • Get 12306 Contacts
      • Get 12306 Payment Form
      • Log in to 12306
      • Send 12306 SMS Code
      • Verify 12306 SMS Code
      • Edit 12306 Passenger
      • Perform 12306 Face Verification
      • Submit Foreign Passport Verification
      • Get Foreign Passport Verification Status
    • Partner Sync
      • Incrementally Sync Cities
        POST
      • Incrementally Sync Stations
        POST
    • Tickets
      • Download PDF Ticket
      • Get HTML Ticket
      • Get Tickets by Type
  • Schemas
    • request
      • request.FlightShoppingRequest
      • request.PayFlightOrderRequest
      • request.ChangeFlightOrderRequests
      • request.CreateFlightOriginOrderRequest
      • request.FlightChangeSearchRequest
      • request.RefundFlightOrderRequest
    • consts
      • consts.FlightOrderStatus
      • consts.FlightOrderType
      • consts.FlightProductType
      • consts.FlightInvoiceType
      • consts.FlightTaxType
      • consts.PassengerEligibility
    • model
      • model.FlightJourneyCore
      • model.PassengerCountRequest
      • model.ChangeSegment
      • model.PassengerFlightOrder
      • model.ChangeShoppingResult
      • model.ChangeShoppingSegment
      • model.FlightSegmentInfo
      • model.FlightCoreSegmentCache
      • model.OrderDetail
      • model.FlightPassengerTickets
      • model.PriceDetail
      • model.PriceInFlightOriginOrder
      • model.PriceInFlightChangeOrder
      • model.PriceInFlightRefundOrder
      • model.PriceInFlightVoidOrder
      • model.FlightSolutionResp
      • model.FlightJourneyResp
      • model.FlightPriceDetail
      • model.FlightPrice
      • model.FlightTax
      • model.FlightSolutionLimitation
      • model.FlightLimitAgePair
    • Schemas
      • response.RequestFlightOrderStatus
      • model.FlightChangeNotify
      • consts.CabinClass
      • consts.CommonStatus
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightChangeOrder
      • response.FlightOrderDetailResp
      • response.Response-string
      • consts.RefundReason
      • consts.CoreDataVerifiesStatus
      • response.FlightOrderDetail-response_PriceInFlightChangeOrder
      • consts.PassengerType
      • internal.AddCMSUserRequest
      • model.FlightChangeInfo
      • consts.Gender
      • internal.AgenciesResp
      • consts.TrainIssueWay
      • consts.TravelDocumentType
      • internal.AgencyRechargeReq
      • consts.TrainOrderStatus
      • internal.CNTrainStationResponse
      • consts.TrainOrderTicketStatus
      • internal.CNTrainStationsResponse
      • consts.TrainPassengerStatus
      • consts.FlightTicketStatus
      • model.BaggageRule
      • internal.CitiesResponse
      • consts.TrainRefundStatus
      • model.BaggageRuleDetail
      • internal.CountriesResponseItem
      • dto.PaginationList-array_resp_TrainOrderResp
      • internal.CountryResponse
      • resp.TrainOrderResp
      • model.StopOver
      • internal.CreateAgenciesRequest
      • resp.TrainOriginTicketDetail
      • internal.CreateCNTrainStationsRequest
      • req.TrainOrderListReq
      • consts.FlightChangeType
      • model.FareRule
      • internal.CreateCityRequest
      • response.Response-dto_PaginationList-array_resp_TrainOrderResp
      • model.FlightPassenger
      • model.FlightJourney
      • internal.CreateCountryRequest
      • model.CreateTrainOriginOrderReq
      • model.FlightSegmentWithCoreSegment
      • internal.CreateOrganizationsRequest
      • response.Response-resp_TrainOrderResp
      • util.Gender
      • model.CoreSegmentDetail
      • internal.ForgetPasswordRequest
      • resp.TrainChangeDetail
      • util.PassengerType
      • model.FlightScheduleChange
      • internal.GetAgencyBalanceChangesItem
      • resp.TrainChangeTicketDetail
      • util.TravelDocumentType
      • internal.GetAgencyCreditHistoriesItem
      • resp.StationDetail
      • model.FlightTicket
      • internal.GetAgencyMembersItem
      • model.ShoppingCNTrainStationsResp
      • model.OrderExtraInfo
      • req.TrainShoppingReq
      • internal.GetAgencyTransactionsItem
      • response.Response-array_model_ShoppingCNTrainStationsResp
      • resp.Seats
      • internal.GetOrganizationDetailResponse
      • util.FlightOrderStatus
      • resp.StationInfo
      • internal.GetOrganizationsByUserIDResponse
      • util.FlightOrderType
      • response.Response-array_resp_TrainShoppingResp
      • internal.GetUserInfoByEmailResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightChangeOrder
      • resp.TrainShoppingResp
      • internal.GetUserResponse
      • util.FlightProductType
      • internal.GetUsersByOrganizationIDRequest
      • response.PriceInFlightChangeOrder
      • internal.InviteUserRequest
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightOriginOrder
      • internal.LoginRequest
      • response.FlightOrderDetail-response_PriceInFlightOriginOrder
      • internal.LoginResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightOriginOrder
      • internal.Org4GetUserResponse
      • response.PriceInFlightOriginOrder
      • internal.Org4LoginResponse
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightRefundOrder
      • internal.OrganizationInviteRequest
      • response.FlightOrderDetail-response_PriceInFlightRefundOrder
      • internal.OrganizationResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightRefundOrder
      • internal.OwnerDataOfOrganization
      • response.PriceInFlightRefundOrder
      • internal.PaginationResp-internal_AgenciesResp
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CNTrainStationsResponse
      • response.FlightOrderDetail-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CitiesResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CountriesResponseItem
      • response.PriceInFlightVoidOrder
      • internal.PaginationResp-internal_GetAgencyBalanceChangesItem
      • internal.PaginationResp-internal_GetAgencyCreditHistoriesItem
      • internal.PaginationResp-internal_GetAgencyMembersItem
      • internal.PaginationResp-internal_GetAgencyTransactionsItem
      • internal.PaginationResp-internal_OrganizationResponse
      • internal.PaginationResp-internal_User4GetAgencyUsersResponse
      • internal.PaginationResp-internal_User4GetUsersResponse
      • internal.PaginationResp-internal_UsersByOrganizationIDResponse
      • internal.ResetPasswordRequest
      • internal.RoleForOrganization
      • internal.RoleForUser
      • internal.TransactionType
      • internal.UpdateACLRequest
      • internal.UpdateAgencyCreditReq
      • internal.UpdateAgencyUserRequest
      • internal.UpdateCNTrainStationsRequest
      • internal.UpdateCityRequest
      • internal.UpdateCountryRequest
      • internal.UpdateOrganizationsRequest
      • internal.UpdatePasswordRequest
      • internal.UpdateUserRequest
      • internal.User4GetAgencyUsersResponse
      • internal.User4GetUsersResponse
      • internal.UserDataOfAgency
      • internal.UsersByOrganizationIDResponse
      • model.BillPeriodUnit
      • model.OrganizationUserStatus
      • model.TransactionChannel
      • response.Response-any
      • response.Response-array_internal_GetOrganizationsByUserIDResponse
      • response.Response-internal_CNTrainStationResponse
      • response.Response-internal_CitiesResponse
      • response.Response-internal_CountryResponse
      • response.Response-internal_GetOrganizationDetailResponse
      • response.Response-internal_GetUserInfoByEmailResponse
      • response.Response-internal_GetUserResponse
      • response.Response-internal_LoginResponse
      • response.Response-internal_PaginationResp-internal_AgenciesResp
      • response.Response-internal_PaginationResp-internal_CNTrainStationsResponse
      • response.Response-internal_PaginationResp-internal_CitiesResponse
      • response.Response-internal_PaginationResp-internal_CountriesResponseItem
      • response.Response-internal_PaginationResp-internal_GetAgencyBalanceChangesItem
      • response.Response-internal_PaginationResp-internal_GetAgencyCreditHistoriesItem
      • response.Response-internal_PaginationResp-internal_GetAgencyMembersItem
      • response.Response-internal_PaginationResp-internal_GetAgencyTransactionsItem
      • response.Response-internal_PaginationResp-internal_OrganizationResponse
      • response.Response-internal_PaginationResp-internal_User4GetAgencyUsersResponse
      • response.Response-internal_PaginationResp-internal_User4GetUsersResponse
      • response.Response-internal_PaginationResp-internal_UsersByOrganizationIDResponse
      • sql.NullTime
    • ApiEnvelopeBase
    • ApiResponseBase
    • PayFlightOrderRequest
    • ErrorResponse
    • ItineraryRequest
    • EmptyObject
    • PaymentResponse
    • CabinClass
    • FlightOrderListResponse
    • PassengerType
    • FlightOrderPagination
    • Gender
    • FlightOrderListItem
    • TravelDocument
    • FlightOrderListSolution
    • AllianceCode
    • OrderAgencyInfo
    • TransportType
    • OrderAgencyDetail
    • RefundReason
    • JourneyInFlightOrderList
    • ChangeReason
    • SegmentInFlightOrderList
    • FlightOrderType
    • PassengerInFlightOrderList
    • FlightOrderStatus
    • AirwallexPaymentData
    • PaymentChannel
    • BalancePaymentOrderDetail
    • ConfirmationType
    • ConfirmationIata
    • PassengerInfo
    • FlightJourney
    • PassengerCount
    • AccountCode
    • ShoppingRequirements
    • ShoppingVirtualInterlineConfig
    • ShoppingConfigs
    • OpenAPIFlightShoppingReq
    • PricingReqSegment
    • FlightPricingReq
    • AllCabinPriceReq
    • SolutionValidateReq
    • FareRulesReq
    • CreateFlightOriginOrderRequest
    • PassengerForCreateOriginOrder
    • PayFlightOrderReq
    • RefundChangeAvailabilityReq
    • ChangeSearchReq
    • ChangeSearchPassenger
    • ChangeSearchJourney
    • CreateChangeOrderReq
    • ChangeSegmentItem
    • ConfirmChangeOrderReq
    • ChangeNewSegment
    • RefundMoneySearchReq
    • CreateFlightRefundOrderOpenAPIRequest
    • BaggageTransitReq
    • BaggageTransitLeg
    • BaggageTransitSegment
    • BaggageTransitStopInfo
    • TicketStatusReq
    • TicketStatusPassenger
    • DownloadAirTicketItineraryRequest
    • ConfirmationSheetPrice
    • OpenAPIShoppingResp
    • OpenAPICoreSegment
    • StopOver
    • OpenAPISolutionResp
    • OpenAPIPriceDetail
    • OpenAPILimitInfo
    • FlightLimitAgePair
    • FlightSolutionGroupInfo
    • OpenAPIPrice
    • OpenAPITax
    • OpenAPIJourneyResp
    • OpenAPISegmentInfo
    • OpenAPIBaggageRule
    • BaggageRuleDetail
    • OpenAPIBaggageRules
    • OpenAPIFareRules
    • OpenAPIFareRule
    • OpenAPIPricingResp
    • OpenAPIPricingSolutionResp
    • OpenAPIPricingPriceDetail
    • OpenAPIPricingPrice
    • OpenAPIPricingJourneyResp
    • OpenAPIPricingSegmentInfo
    • OpenAPIVerificationResp
    • OpenAPIFareRulesResp
    • OpenAPIOrderResp
    • OpenAPIOrderJourney
    • OpenAPIOrderSegment
    • OpenAPIOrderCoreSegment
    • OpenAPIOrderPassenger
    • OpenAPIOrderTicket
    • OpenAPIOrderPriceDetail
    • OpenAPIOrderPrice
    • OpenAPIOriginOrderPrice
    • OpenAPIChangeOrderPrice
    • OpenAPIRefundOrderPrice
    • OpenAPIOrderListResp
    • OpenAPIRefundChangeAvailabilityResp
    • OpenAPIRefundChangeAvailabilityPassenger
    • OpenAPIAskChangeDetail
    • OpenAPIAskRefundDetail
    • OpenAPIChangeSearchResp
    • OpenAPIChangeSolutionResp
    • OpenAPIChangePriceDetail
    • OpenAPIChangePrice
    • OpenAPIRefundMoneySearchResp
    • OpenAPIBaggageTransitLeg
    • OpenAPIBaggageTransitSegmentInfo
    • TicketStatusResp
    • TicketStatusItem
    • TicketCouponStatus
    • BalanceResp
    • TrainApiResponseBase
    • TrainErrorResponse
    • TrainConnectionRegion
    • TrainPriceBasis
    • TrainOrderStatus
    • TrainTicketStatus
    • TrainTicketType
    • TrainPassengerAttribute
    • LocalizedName
    • TrainShoppingLocation
    • TrainShoppingRequest
    • TrainStationWithDateTime
    • TrainCarrier
    • TrainShoppingFeature
    • TrainPassengerTypeInfo
    • TrainSeatInfo
    • TrainShoppingSegment
    • TrainShoppingJourney
    • TrainShoppingData
    • TrainPrice
    • TrainAvailabilityRequest
    • TrainAvailabilityData
    • TrainBookingRequirementsData
    • TrainSeatPreference
    • TrainOrderContactRequest
    • TrainOrderContact
    • TrainPassengerRequest
    • Train12306Account
    • TrainCreateOrderRequest
    • TrainCreateChangeRequest
    • TrainCreateRefundRequest
    • TrainChangeEstimateRequest
    • TrainRefundEstimateRequest
    • TrainPassenger
    • TrainOrderSegment
    • TrainOrderTicket
    • TrainOrderJourney
    • TrainOrder
    • TrainConditionFee
    • TrainCondition
    • TrainOrderConditions
    • TrainRefundEstimateItem
    • TrainRefundEstimateData
    • TrainChangeEstimateItem
    • TrainChangeEstimateData
    • TrainStopStation
    • Train12306AccountRequest
    • Train12306Contact
    • Train12306PayFormRequest
    • Train12306PayFormData
    • Train12306LoginRequest
    • Train12306PassengerInfo
    • Train12306LoginData
    • Train12306SendSmsRequest
    • Train12306SmsVerifyRequest
    • Train12306SmsSendData
    • Train12306OperationData
    • Train12306PassengerDto
    • Train12306EditPassengerRequest
    • Train12306FaceImage
    • Train12306FaceVideo
    • Train12306FaceVerifyRequest
    • Train12306ForeignPassportRequest
    • Train12306PassportProcessRequest
    • Train12306PassportCheckData
    • TrainStationInfo
    • TrainCityInfo
    • TrainStationSearchCity
    • TrainStationSearchData
    • TrainCitiesStationsData
    • TrainOrderTicketFile
    • TrainSyncRequest
    • TrainSyncCity
    • TrainSyncStation
    • TrainSyncCitiesData
    • TrainSyncStationsData
    • TrainShoppingApiResponse
    • TrainAvailabilityApiResponse
    • TrainBookingRequirementsApiResponse
    • TrainOrderApiResponse
    • TrainStopStationsApiResponse
    • TrainConditionsApiResponse
    • TrainChangeEstimateApiResponse
    • TrainRefundEstimateApiResponse
    • TrainEmptyApiResponse
    • Train12306ContactsApiResponse
    • Train12306PayFormApiResponse
    • Train12306LoginApiResponse
    • Train12306SmsSendApiResponse
    • Train12306SmsVerifyApiResponse
    • Train12306OperationApiResponse
    • Train12306PassportCheckApiResponse
    • TrainSyncCitiesApiResponse
    • TrainSyncStationsApiResponse
    • TrainTicketsApiResponse
    • TrainStationSearchApiResponse
    • TrainCitiesStationsApiResponse
    • TrainExchangeRatesApiResponse
    • ShoppingApiResponse
    • PricingApiResponse
    • VerificationApiResponse
    • FareRulesApiResponse
    • OrderApiResponse
    • OrderListApiResponse
    • RefundChangeAvailabilityApiResponse
    • ChangeSearchApiResponse
    • RefundMoneySearchApiResponse
    • BaggageTransitApiResponse
    • TicketStatusApiResponse
    • BalanceApiResponse
  1. Partner Sync

Incrementally Sync Cities

POST
https://apiv1.simplifly.tech/train/openapi/v4/sync/cities
Internal partner endpoint. Sync cities by update time, previous-page ending code, and page size. countryCode may restrict the country or region. Use empty lastSyncAt and lastCode for the first full sync.

Request

Authorization
API Key
Add parameter in header
code
Example:
code: ********************
API Key
Add parameter in header
timestamp
Example:
timestamp: ********************
API Key
Add parameter in header
signature
Example:
signature: ********************
or
Header Params

Body Params application/jsonRequired

Example
{
    "lastSyncAt": "2026-07-01T00:00:00Z",
    "lastCode": "BJS",
    "countryCode": "CN",
    "limit": 100
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://apiv1.simplifly.tech/train/openapi/v4/sync/cities' \
--header 'code: <api-key>' \
--header 'timestamp: <api-key>' \
--header 'signature: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "lastSyncAt": "2026-07-01T00:00:00Z",
    "lastCode": "BJS",
    "countryCode": "CN",
    "limit": 100
}'

Responses

🟢200
application/json
Synchronization completed.
Bodyapplication/json

Example
{
    "code": 0,
    "message": "Success",
    "data": {
        "nextSyncAt": "2026-07-15T10:00:00Z",
        "nextLastCode": "CNSHA",
        "hasMore": true,
        "data": [
            {
                "code": "CNBJS",
                "countryCode": "CN",
                "pinyin": "beijing",
                "name": {
                    "en": "Beijing South",
                    "zh-Hans": "Beijing South"
                },
                "deleted": false,
                "createdAt": "2020-01-01T00:00:00Z",
                "updatedAt": "2026-07-01T00:00:00Z"
            }
        ]
    }
}
🟢200TrainBusinessError
Previous
Get Foreign Passport Verification Status
Next
Incrementally Sync Stations
Built with