1. 12306
CTO OPEN API Document
English
  • English
  • 中文
  • Default module
    • 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
      • 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
          POST
        • Get 12306 Payment Form
          POST
        • Log in to 12306
          POST
        • Send 12306 SMS Code
          POST
        • Verify 12306 SMS Code
          POST
        • Edit 12306 Passenger
          POST
        • Perform 12306 Face Verification
          POST
        • Submit Foreign Passport Verification
          POST
        • Get Foreign Passport Verification Status
          POST
      • Partner Sync
        • Incrementally Sync Cities
        • Incrementally Sync Stations
      • 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.CabinClass
        • consts.RefundReason
        • consts.FlightOrderStatus
        • consts.FlightOrderType
        • consts.FlightTicketStatus
        • consts.FlightProductType
        • consts.FlightInvoiceType
        • consts.FlightTaxType
        • consts.PassengerEligibility
      • model
        • model.FlightJourneyCore
        • model.PassengerCountRequest
        • model.ChangeSegment
        • model.PassengerFlightOrder
        • model.ChangeShoppingResult
        • model.ChangeShoppingSegment
        • model.FlightSegmentInfo
        • model.BaggageRule
        • model.BaggageRuleDetail
        • model.FlightCoreSegmentCache
        • model.StopOver
        • model.OrderDetail
        • model.FareRule
        • model.FlightJourney
        • model.FlightSegmentWithCoreSegment
        • model.CoreSegmentDetail
        • model.FlightScheduleChange
        • model.FlightPassengerTickets
        • model.FlightTicket
        • 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
        • consts.PassengerType
        • consts.Gender
        • consts.TrainIssueWay
        • consts.TravelDocumentType
        • consts.TrainOrderStatus
        • consts.TrainOrderTicketStatus
        • consts.TrainPassengerStatus
        • consts.TrainRefundStatus
        • dto.PaginationList-array_resp_TrainOrderResp
        • resp.TrainOrderResp
        • resp.TrainOriginTicketDetail
        • req.TrainOrderListReq
        • response.Response-dto_PaginationList-array_resp_TrainOrderResp
        • model.CreateTrainOriginOrderReq
        • response.Response-resp_TrainOrderResp
        • resp.TrainChangeDetail
        • resp.TrainChangeTicketDetail
        • resp.StationDetail
        • model.ShoppingCNTrainStationsResp
        • req.TrainShoppingReq
        • response.Response-array_model_ShoppingCNTrainStationsResp
        • resp.Seats
        • resp.StationInfo
        • response.Response-array_resp_TrainShoppingResp
        • resp.TrainShoppingResp
      • ApiResponseBase
      • ErrorResponse
      • EmptyObject
      • CabinClass
      • PassengerType
      • Gender
      • TravelDocument
      • AllianceCode
      • TransportType
      • RefundReason
      • ChangeReason
      • FlightOrderType
      • FlightOrderStatus
      • PaymentChannel
      • ConfirmationType
      • ConfirmationIata
      • PassengerInfo
      • FlightJourney
      • PassengerCount
      • AccountCode
      • ShoppingRequirements
      • ShoppingVirtualInterlineConfig
      • ShoppingConfigs
      • OpenAPIFlightShoppingReq
      • PricingReqSegment
      • FlightPricingReq
      • AllCabinPriceReq
      • SolutionValidateReq
      • FareRulesReq
      • CreateFlightOriginOrderRequest
      • PassengerForCreateOriginOrder
      • PayFlightOrderReq
      • RefundChangeAvailabilityReq
      • ChangeSearchReq
      • ChangeSearchPassenger
      • ChangeSearchJourney
      • CreateChangeOrderReq
      • ChangeSegmentItem
      • 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
  • berlogic
    • authenticate
      POST
    • preparePayment
      POST
    • finishBooking
      POST
    • checkPricing
      POST
    • createReservation
      POST
    • priceBrandFamily
      POST
    • searchAeroexpressSeatInfo
      POST
    • searchExchanges
      POST
    • refundBooking
      POST
    • searchFlights
      POST
    • calculateInsurance
      POST
    • sendEmail
      POST
    • cancelReservation
      POST
    • voidTickets
      POST
    • updatePassenger
      POST
    • getBookingRefundCost
      POST
    • bookAdditionalServices
      POST
    • refundPolicy
      POST
    • changePassword
      POST
    • reversePolicy
      POST
    • searchRemarks
      POST
    • issuePolicy
      POST
    • exchangeBooking
      POST
    • searchSchedule
      POST
    • priceAdditionalServices
      POST
    • searchAeroexpressTrainInfo
      POST
  1. 12306

Send 12306 SMS Code

POST
/train/openapi/v4/12306/send-sms
Send a verification code to the phone bound to the 12306 account. idNoSuffix and requestId are required by current validation.

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
Body Params application/jsonRequired

Example
{
    "userName": "zhangsan",
    "pwd": "ExamplePassword123",
    "idNoSuffix": "1234",
    "requestId": "req_12306_001",
    "callBackURL": "https://buyer.example.com/callbacks/12306"
}

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 '/train/openapi/v4/12306/send-sms' \
--header 'code: <api-key>' \
--header 'timestamp: <api-key>' \
--header 'signature: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "userName": "zhangsan",
    "pwd": "ExamplePassword123",
    "idNoSuffix": "1234",
    "requestId": "req_12306_001",
    "callBackURL": "https://buyer.example.com/callbacks/12306"
}'

Responses

🟢200
application/json
Request completed.
Bodyapplication/json

Example
{
    "code": 0,
    "message": "Success",
    "data": {
        "Code": 0,
        "FailMsg": ""
    }
}
🟢200TrainBusinessError
Modified at 2026-07-21 08:28:13
Previous
Log in to 12306
Next
Verify 12306 SMS Code
Built with