创建订单(锁定坐席)接口。根据航线id,出发日期、出发到达港口等信息下单,返回订单号,本接口的主要目的是锁定坐席,一个订单号可以对应多张票。下单接口需要根据飞猪订单号(alitripOrderId)幂等。即相同的alitripOrderId第二次调用后,返回相同的订单详情结果。相同的alitripOrderId请求报文不会改变。同时商家要对订单总价格、出发时间、出发和到达港口等关键数据进行逻辑校验。失败时,请严格按照错误码进行返回。
名称 | 类型 | 是否必须 | 示例值 | 更多限制 | 描述 |
---|---|---|---|---|---|
to_city_name | String | 必须 | 青城山 | 到达城市 | |
ticket_count | Number | 必须 | 2 | 车票数量 | |
goods_id | String | 必须 | 964455ALD | 商品id列表 | |
contact_name | String | 必须 | 罗大佑 | 联系人姓名 | |
alipay_trade_no | String | 必须 | 1223939393993939399339 | 支付宝交易流水号 | |
from_station_name | String | 可选 | 人民广场 | 出发港口名称 | |
to_station_code | String | 可选 | 0245 | 到达港口编码 | |
to_station_name | String | 可选 | 青城山凉亭 | 到达港口名称 | |
from_time | String | 必须 | 23:00:00 | 出发时间 | |
to_city_code | String | 可选 | 001 | 到达城市编码 | |
from_station_code | String | 可选 | 0224 | 出发港口编码 | |
order_amount | Number | 必须 | 10000 | 订单价格(单位分) | |
passenger_list | Passenger [] | 可选 |
|
乘客列表 | |
|
|||||
schedule_id | String | 可选 | 2233333 | 航班id | |
contact_mobile | String | 必须 | 189113344343 | 联系人电话 | |
contact_certificate_no | String | 必须 | 212100198902171763 | 联系人证件号 | |
contact_certificate_type | String | 必须 | 1 | 联系人证件类型 | |
from_date | String | 必须 | 2018-11-01 | 出发日期 | |
from_city_code | String | 可选 | 001 | 出发城市编码 | |
from_city_name | String | 可选 | 成都 | 出发城市名称 | |
seat_grade_code | String | 可选 | SIT001 | 舱位等级代码 | |
seat_grade_name | String | 可选 | 一等座 | 舱位等级名称 | |
ticket_amount | Number | 必须 | 1000 | 票总金额(单位分) | |
extAttr | String | 可选 | {"param","param"} | 扩展属性 | |
alitrip_order_id | String | 必须 | 2385464071101 | 飞猪平台订单id |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
agent_order_id | String | 2222 | 商家订单id |
success | Boolean | true | 业务是否成功 |
alitrip_order_id | String | 22222 | 飞猪平台订单id |
ret_code | String | 0 | 业务结果编码 |
ret_desc | String | 成功 | 业务结果描述 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | QimenCloudClient client = new DefaultQimenCloudClient(url, appkey, secret); AlitripShipOrderCreateRequest req = new AlitripShipOrderCreateRequest(); req.setToCityName( "青城山" ); req.setTicketCount(2L); req.setGoodsId( "964455ALD" ); req.setContactName( "罗大佑" ); req.setAlipayTradeNo( "1223939393993939399339" ); req.setFromStationName( "人民广场" ); req.setToStationCode( "0245" ); req.setToStationName( "青城山凉亭" ); req.setFromTime( "23:00:00" ); req.setToCityCode( "001" ); req.setFromStationCode( "0224" ); req.setOrderAmount(10000L); List<AlitripShipOrderCreateRequest.Passenger> list2 = new ArrayList<AlitripShipOrderCreateRequest.Passenger>(); AlitripShipOrderCreateRequest.Passenger obj3 = new AlitripShipOrderCreateRequest.Passenger(); list2.add(obj3); obj3.setPassengerName( "罗大佑" ); obj3.setTicketPrice(2500L); obj3.setPassengerCertificateNo( "212100198902171763" ); obj3.setPassengerCertificateType( "01" ); obj3.setPassengerType( "0" ); obj3.setTicketCommission(100L); obj3.setPassengerId( "33499" ); obj3.setPassengerSpell( "Zhang/San" ); obj3.setBirthDay( "1990-01-01" ); obj3.setVisaDate( "签证有效期" ); obj3.setPriceTypeId( "3333ffd3333" ); req.setPassengerList(list2); req.setScheduleId( "2233333" ); req.setContactMobile( "189113344343" ); req.setContactCertificateNo( "212100198902171763" ); req.setContactCertificateType( "1" ); req.setFromDate( "2018-11-01" ); req.setFromCityCode( "001" ); req.setFromCityName( "成都" ); req.setSeatGradeCode( "SIT001" ); req.setSeatGradeName( "一等座" ); req.setTicketAmount(1000L); req.setExtAttr( "{\"param\",\"param\"}" ); req.setAlitripOrderId( "2385464071101" ); AlitripShipOrderCreateResponse rsp = client.execute(req); System.out.println(rsp.getBody()); |
1 2 3 4 5 | < agent_order_id >2222</ agent_order_id > < success >true</ success > < alitrip_order_id >22222</ alitrip_order_id > < ret_code >0</ ret_code > < ret_desc >成功</ ret_desc > |
1 2 3 4 5 6 | < error_response > < code >50</ code > < msg >Remote service error</ msg > < sub_code >isv.invalid-parameter</ sub_code > < sub_msg >非法参数</ sub_msg > </ error_response > |
错误码 | 错误描述 | 解决方案 |
---|