alitrip.btrip.supplychain.train.callback.change (改签出票回调)

改签出票回调

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
change_callback_param ChangeCallbackParam 必须 商旅火车票改签回调信息
  • └ resign_total_price
  • String
  • 必须
  • 1200
  • 改签结算金额,改签结算金额=原订单金额+改签总差价+改签总手续费,包含正负
  • └ supplier_order_id
  • String
  • 必须
  • 987654321
  • 供应商订单号
  • └ resign_total_cost
  • String
  • 必须
  • 0
  • 改签总手续费
  • original_train_details
  • OriginalTrainDetail []
  • 必须
  • originalTrainDetail
  • 原票信息
  • └ from_station_name
  • String
  • 必须
  • 北京
  • 出发站名
  • └ to_station_code
  • String
  • 必须
  • SHH
  • 到达站三字码
  • └ train_no
  • String
  • 必须
  • T123
  • 短车次号
  • └ to_station_name
  • String
  • 必须
  • 上海
  • 到达站名
  • └ arrive_time
  • String
  • 必须
  • 2022-10-19 15:00:00
  • 到达时间,yyyy-MM-dd hh:mm:ss
  • └ order_total_price
  • String
  • 必须
  • 1000
  • 订单金额
  • └ train_date
  • String
  • 必须
  • 2022-10-19
  • 乘车日期 yyyy-MM-dd
  • original_ticket_details
  • OriginalTicketDetail []
  • 必须
  • originalTicketDetail
  • 改签原票信息
  • └ seat_type
  • String
  • 必须
  • 1
  • 坐席类型
  • └ seat_name
  • String
  • 必须
  • 硬座
  • 坐席名,枚举值提供
  • └ ticket_type
  • String
  • 必须
  • 1
  • 票类型,0:儿童票,1:成人票,2:学生票
  • └ ticket_price
  • String
  • 必须
  • 1000
  • 车票价格,单位分
  • └ passenger_ticket_no
  • String
  • 必须
  • EW12121
  • 乘客取票号
  • └ seat_no
  • String
  • 必须
  • 001
  • 坐席号
  • └ coach_no
  • String
  • 必须
  • 01
  • 车厢号
  • └ passenger_id
  • String
  • 必须
  • 1234212
  • 乘客id
  • └ ticket_num
  • String
  • 必须
  • 1
  • 票数
  • └ from_station_code
  • String
  • 必须
  • BJP
  • 出发站三字码
  • └ start_time
  • String
  • 必须
  • 2022-10-19
  • 出发时间,yyyy-MM-dd hh:mm:ss
  • └ train_id
  • String
  • 可选
  • 车次id
  • 车次id
  • └ ticket_no
  • String
  • 必须
  • EW12312312
  • 12306取票号
  • └ order_id
  • String
  • 必须
  • 123456789
  • 商旅订单号
  • └ change_order_id
  • String
  • 必须
  • 1234542
  • 改签申请ID
  • └ order_status
  • String
  • 必须
  • 21
  • 订单状态
  • └ resign_total_diff
  • String
  • 必须
  • 200
  • 改签总差价
  • change_train_details
  • ChangeTrainDetail []
  • 必须
  • changeTrainDetail
  • 改签票信息
  • └ to_station_name
  • String
  • 必须
  • 上海
  • 到达站名
  • └ arrive_time
  • String
  • 必须
  • 2022-10-19 15:00:00
  • 到达时间,yyyy-MM-dd hh:mm:ss
  • └ order_total_price
  • String
  • 必须
  • 1200
  • 订单金额
  • change_ticket_details
  • ChangeTicketDetail []
  • 必须
  • changeTicketDetail
  • 改签票信息
  • └ resign_flag
  • String
  • 必须
  • 1
  • 是否允许改签,0:允许,1:不允许
  • └ coach_no
  • String
  • 可选
  • 01
  • 车厢号
  • └ ticket_price
  • String
  • 可选
  • 1200
  • 车票单价,单位分
  • └ ticket_entrance
  • String
  • 可选
  • {"0":"xx检票口"}
  • 检票口
  • passenger_info
  • PassengerInfo
  • 必须
  • 乘客信息
  • └ passenger_name
  • String
  • 必须
  • 张三
  • 乘客姓名,SM4加密
  • └ passenger_mobile
  • String
  • 必须
  • 1667xxx7xxx
  • 乘客手机号,SM4加密
  • └ passenger_id_no
  • String
  • 必须
  • 432524100011191212
  • 证件号,SM4加密
  • └ passenger_id_type
  • String
  • 必须
  • 0
  • 证件类型,SM4加密,枚举值提供
  • └ country_code
  • String
  • 可选
  • CN
  • 国籍码,SM4加密,证件为非身份证类型必传
  • └ sex
  • String
  • 可选
  • 0
  • 性别,SM4加密,0:男,1:女
  • └ passenger_id
  • String
  • 必须
  • 12312
  • 乘客id,SM4加密,商旅提供
  • └ valid_date_start
  • String
  • 可选
  • 2000-10-19
  • 签发日期,SM4加密
  • └ birth_date
  • String
  • 可选
  • 1000-10-19
  • 出生日期,SM4加密, yyyy-MM-dd格式,证件为非身份证类型必传
  • └ valid_date_end
  • String
  • 可选
  • 2030-10-19
  • 证件有效期,SM4加密,yyyy-MM-dd格式,证件为非身份证类型必传
  • └ ticket_type
  • String
  • 必须
  • 1
  • 票类型,0:儿童票,1:成人票,2:学生票
  • └ change_fee
  • String
  • 必须
  • 0
  • 改签手续费,单位分
  • └ seat_type
  • String
  • 必须
  • 1
  • 坐席类型,枚举值
  • └ change_diff
  • String
  • 必须
  • 200
  • 改签差价,单位分
  • └ ticket_status
  • String
  • 必须
  • 21
  • 票状态,枚举值提供
  • └ refund_flag
  • String
  • 必须
  • 0
  • 是否允许退票,0:允许,1:不允许
  • └ seat_name
  • String
  • 必须
  • 硬座
  • 坐席名称,枚举值提供
  • └ change_flag
  • String
  • 必须
  • 0
  • 是否允许变更到站,0:允许,1:不允许
  • └ seat_no
  • String
  • 可选
  • 001
  • 坐席号
  • └ passenger_ticket_no
  • String
  • 可选
  • EW123121
  • 乘客取票号
  • └ fail_code
  • String
  • 可选
  • 2001
  • 改签失败code
  • └ fail_reason
  • String
  • 可选
  • 车次已无票
  • 改签失败原因
  • change_handing_fee_items
  • ChangeHandingFeeItem []
  • 可选
  • ChangeHandingFeeItem
  • 改签手续费信息
  • └ change_handing_fee_amount
  • String
  • 可选
  • 100
  • 改签手续费
  • └ change_handing_fee_type
  • String
  • 可选
  • 1
  • 改签手续费类型
  • └ train_date
  • String
  • 必须
  • 2022-10-19
  • 乘车日期 yyyy-MM-dd
  • └ from_station_name
  • String
  • 必须
  • 北京
  • 出发站名
  • └ ticket_num
  • String
  • 必须
  • 1
  • 票数
  • └ to_station_code
  • String
  • 必须
  • SHH
  • 到达站三字码
  • └ train_no
  • String
  • 必须
  • T123
  • 短车次号
  • └ from_station_code
  • String
  • 必须
  • BJP
  • 出发站三字码
  • └ start_time
  • String
  • 必须
  • 2022-10-19 12:00:00
  • 出发时间,yyyy-MM-dd hh:mm:ss
  • └ choose_rule
  • String
  • 可选
  • 1
  • 选座规则
  • └ choose_beds
  • String
  • 可选
  • 1T
  • 选铺串
  • └ choose_seats
  • String
  • 可选
  • 1A
  • 选座串
  • └ train_id
  • String
  • 可选
  • 车次id
  • 车次id
  • └ fail_code
  • String
  • 可选
  • 1001
  • 失败原因code
  • └ fail_reason
  • String
  • 可选
  • 车次已无票
  • 失败原因code

响应参数

名称 类型 示例值 描述
data OrderInfo 订单基础数据
  • └ order_id
  • String
  • 123456789
  • 商旅订单号
  • └ supplier_order_id
  • String
  • 987654321
  • 供应商订单号
result_code String 200 返回结果码
status String true 是否成功
result_msg String 成功 返回结果描述

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlitripBtripSupplychainTrainCallbackChangeRequest req = new AlitripBtripSupplychainTrainCallbackChangeRequest();
AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeCallbackParam obj1 = new AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeCallbackParam();
obj1.setResignTotalPrice("1200");
obj1.setSupplierOrderId("987654321");
obj1.setResignTotalCost("0");
List<AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTrainDetail> list3 = new ArrayList<AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTrainDetail>();
AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTrainDetail obj4 = new AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTrainDetail();
list3.add(obj4);
obj4.setFromStationName("北京");
obj4.setToStationCode("SHH");
obj4.setTrainNo("T123");
obj4.setToStationName("上海");
obj4.setArriveTime("2022-10-19 15:00:00");
obj4.setOrderTotalPrice("1000");
obj4.setTrainDate("2022-10-19");
List<AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTicketDetail> list7 = new ArrayList<AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTicketDetail>();
AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTicketDetail obj8 = new AlitripBtripSupplychainTrainCallbackChangeRequest.OriginalTicketDetail();
list7.add(obj8);
obj8.setSeatType("1");
obj8.setSeatName("硬座");
obj8.setTicketType("1");
obj8.setTicketPrice("1000");
obj8.setPassengerTicketNo("EW12121");
obj8.setSeatNo("001");
obj8.setCoachNo("01");
obj8.setPassengerId("1234212");
list5.setOriginalTicketDetails(list7);
obj4.setTicketNum("1");
obj4.setFromStationCode("BJP");
obj4.setStartTime("2022-10-19");
obj4.setTrainId("车次id");
obj1.setOriginalTrainDetails(list3);
obj1.setTicketNo("EW12312312");
obj1.setOrderId("123456789");
obj1.setChangeOrderId("1234542");
obj1.setOrderStatus("21");
obj1.setResignTotalDiff("200");
List<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTrainDetail> list10 = new ArrayList<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTrainDetail>();
AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTrainDetail obj11 = new AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTrainDetail();
list10.add(obj11);
obj11.setToStationName("上海");
obj11.setArriveTime("2022-10-19 15:00:00");
obj11.setOrderTotalPrice("1200");
List<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTicketDetail> list14 = new ArrayList<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTicketDetail>();
AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTicketDetail obj15 = new AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeTicketDetail();
list14.add(obj15);
obj15.setResignFlag("1");
obj15.setCoachNo("01");
obj15.setTicketPrice("1200");
obj15.setTicketEntrance("{\"0\":\"xx检票口\"}");
AlitripBtripSupplychainTrainCallbackChangeRequest.PassengerInfo obj17 = new AlitripBtripSupplychainTrainCallbackChangeRequest.PassengerInfo();
obj17.setPassengerName("张三");
obj17.setPassengerMobile("1667xxx7xxx");
obj17.setPassengerIdNo("432524100011191212");
obj17.setPassengerIdType("0");
obj17.setCountryCode("CN");
obj17.setSex("0");
obj17.setPassengerId("12312");
obj17.setValidDateStart("2000-10-19");
obj17.setBirthDate("1000-10-19");
obj17.setValidDateEnd("2030-10-19");
list16.setPassengerInfo(obj17);
obj15.setTicketType("1");
obj15.setChangeFee("0");
obj15.setSeatType("1");
obj15.setChangeDiff("200");
obj15.setTicketStatus("21");
obj15.setRefundFlag("0");
obj15.setSeatName("硬座");
obj15.setChangeFlag("0");
obj15.setSeatNo("001");
obj15.setPassengerTicketNo("EW123121");
obj15.setFailCode("2001");
obj15.setFailReason("车次已无票");
List<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeHandingFeeItem> list20 = new ArrayList<AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeHandingFeeItem>();
AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeHandingFeeItem obj21 = new AlitripBtripSupplychainTrainCallbackChangeRequest.ChangeHandingFeeItem();
list20.add(obj21);
obj21.setChangeHandingFeeAmount("100");
obj21.setChangeHandingFeeType("1");
list18.setChangeHandingFeeItems(list20);
list12.setChangeTicketDetails(list14);
obj11.setTrainDate("2022-10-19");
obj11.setFromStationName("北京");
obj11.setTicketNum("1");
obj11.setToStationCode("SHH");
obj11.setTrainNo("T123");
obj11.setFromStationCode("BJP");
obj11.setStartTime("2022-10-19 12:00:00");
obj11.setChooseRule("1");
obj11.setChooseBeds("1T");
obj11.setChooseSeats("1A");
obj11.setTrainId("车次id");
obj1.setChangeTrainDetails(list10);
obj1.setFailCode("1001");
obj1.setFailReason("车次已无票");
req.setChangeCallbackParam(obj1);
AlitripBtripSupplychainTrainCallbackChangeResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<alitrip_btrip_supplychain_train_callback_change_response>
    <data>
        <order_id>123456789</order_id>
        <supplier_order_id>987654321</supplier_order_id>
    </data>
    <result_code>200</result_code>
    <status>true</status>
    <result_msg>成功</result_msg>
</alitrip_btrip_supplychain_train_callback_change_response>

异常示例

  • XML示例
  • JSON示例
<error_response>
    <code>50</code>
    <msg>Remote service error</msg>
    <sub_code>isv.invalid-parameter</sub_code>
    <sub_msg>非法参数</sub_msg>
</error_response>

错误码解释

错误码 错误描述 解决方案

API工具

如何获得此API

FAQ

返回
顶部