杭州长运车票接口文档.docx
《杭州长运车票接口文档.docx》由会员分享,可在线阅读,更多相关《杭州长运车票接口文档.docx(32页珍藏版)》请在冰豆网上搜索。
杭州长运车票接口文档
文档编号:
密级:
长运车票接口
说明书
V1.0
2011年4月
文档修改记录
编号
修订日期
修订说明
编写者
审核者
1
2010.10.1
撰写
汪英明
2
2011.4.15
修订
张俊
目录
1概述4
1.1适用4
1.1.1适用对象4
1.1.2适用范围4
1.2接口4
1.2.1接口协议4
1.2.2接口安全4
1.2.3接口地址5
2接口详细说明5
2.1班次查询接口Trd000015
2.2班次预订接口Trade000028
2.3取消班次预订接口Trade0000310
2.4班次购买接口Trade0000412
2.5出发城市信息查询接口Trade0000514
2.6始发站点查询接口Trade0000615
2.7途径(到达)站点信息查询Trade0000717
2.8班次价格信息查询Trade0000819
2.9订单信息查询Trade0000920
2.10时间段订单信息查询Trade0001022
2.11时间段订单数目及金额查询Trade0001123
1概述
1.1适用
1.1.1适用对象
接入长运车票系统的第三方系统
1.1.2适用范围
目前仅适用于浙江杭州长运车票订购
1.2接口
1.2.1接口协议
接口采用socket方式进行数据通信,第三方系统通过提交socket请求,完成车票查询预订和购买。
1.2.2接口安全
⏹系统采用身份认证,密码校验来实现安全的第一道屏障,第三方必须在长运商户信息表开设商户号并设置密码,在做具体交易的时候,系统会校验该商户号和密码。
⏹帐号开通后申请要求绑定的IP,可以是1~3个,在接口调用时会先验证IP地址。
⏹数字签名安全认证。
系统将启动数字签名安全检测系统,对第三方提交的数据及签名值进行校验,以保证只接受来自该第三方的订单,并且其内容真实可信。
系统设置私钥并计算发送数据的MD5值来进行校验。
签名值MD5(“字符串”).
(原始字符串根据具体交易来定,交易不同,加密的原始字符串不同)
例如车次查询的原始字符串=
TradeId+TradePwd+TradeCode+TradeOrdId+CityId+CarryNodeStaId+Date+StopId+PersonalKey
其中
TradeId为系统分配给用户的商户ID
TradePwd为商户的交易密码
TradeCode为交易代码例如:
“Trd00001”订单查询
TradeOrdId为商户订单号
CityId为城市ID
CarryNodeStaId始发始发站点ID
Date班次日期
StopId到达站点ID
PersonalKey为私钥(16位)
签名举例:
例如:
TradeId=1000000000,TradePwd=111111*********11111,TradeCode=Trd00001,TradeOrdId=12345678,CityId=0,CarryNodeStaId=9992,Date=2010-3-1700:
00:
00,StopId=4108,PersonalKey=adfcadf8huih854012
那么:
原始字符串
=TradeId=1000000000&TradePwd=11111111111111111111&TradeCode=Trd00001&TradeOrdId=12345678&CityId=0&CarryNodeStaId=9992&Date=2010-3-1700:
00:
00&StopId=4108&PersonalKey=adfcadf8huih854012bcdefgh
进行加密:
MD5(原始字符串):
CB4E867AE686E7470734CCFA05C951C1
然后追加到原始字符串头部
签名要发生字符串:
CB4E867AE686E7470734CCFA05C951C1TradeId=1000000000&TradePwd=11111111111111111111&TradeCode=Trd00001&TradeOrdId=12345678&CityId=0&CarryNodeStaId=9992&Date=2010-3-1700:
00:
00&StopId=4108&OperSellTkAgentId=1000&RetSchType=0
1.2.3接口地址
http:
//www.****.com:
9000
测试接口地址稍后提供
2接口详细说明
⏹各第三方系统的具体商户号、交易密码及私钥单独提供
⏹金额字段:
以元为单位,含小数点,两位小数;10元以上2000元以下的10的整数倍金额
⏹提交参数名必须大小写一致
⏹每天的23:
30至次日00:
30为系统对账时间,此时暂停服务
2.1班次查询接口Trd00001
⏹接口功能描述:
查询指定日期、出发站点、到达站点所有汽车班次信息
⏹请求格式与参数:
例如:
TradeId=1000000000&TradePwd=111111*********11111&TradeCode=Trd00001&TradeOrdId=12345678&CityId=0&CarryNodeStaId=9992&Date=2010-3-1700:
00:
00&StopId=4108&PersonalKey=adfcadf8huih854012
请求参数
长度
说明
必填
备注
TradeId
<=10
商户ID
Y
例如:
1000000000
TradePwd
<=20
商户交易密码
Y
例如:
11111111111111
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00001
TradeOrdId
<=30
商户交易订单
Y
例如:
12345678
CityId
=1
归属城市
Y
必须是:
0表示杭州
CarryNodeStaId
=4
始发站点
Y
例如:
9992
Date
=19
班次日期
Y
例如:
2010-03-1700:
00:
00
StopId
=4
到达站点
Y
例如:
4108
PersonalKey
<=40
私钥
Y
例如:
adfcadf8huih854012
说明:
TradeId,TradePwd,PersonalKey必须有商户注册后有系统分配
TradeCode必须填写“Trd00001”,CarryNodeStaIdStopId请详看附件:
班次站点信息表
⏹应答格式:
例如:
'RtnCode=0&RtnErrMsg=&TradeId=1000000000&TradeCode=Trd000
01&TradeOrdId=12345678&SellTkNum=32&SellTkInfo=9992,9992,杭州西站,2010-3-17,4711
2010-3-17,2010-3-177:
20:
00,7,167,45,0,22.5,0,22.5,0,45,0,0,0,3,0,0,3,0,0,千岛
湖,大高1,杭州西站-千岛湖,2010-3-177:
20:
00,普通,0|9992,9992,杭州西站,2010-3-17,4
969,2010-3-17,2010-3-177:
40:
00,14,167,60,0,30,0,30,0,60,0,0,0,3,0,3,3,0,0,淳安,
中高2,杭西-千岛湖(快),2010-3-177:
40:
00,快客,-1|………..
返回参数
长度
说明
必填
备注
RtnCode
<=5
查询返回结果状态
Y
例如:
0表示成功-1表示失败
RtnErrMsg
<=300
交易异常说明
Y
例如:
没有符合条件记录
TradeId
<=10
商户ID
Y
例如:
1000000000
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00001
TradeOrdId
<=30
商户交易订单
Y
例如:
11111111111111
SellTkNum
<=5
返回班次个数
Y
例如:
32
SellTkInfo
<=1024*6
返回班次信息列表
Y
例如:
……..
说明:
RtnCode表示查询结果0表示正常其他表示异常失败
RtnErrMsg表示查询结果错误描述,如果查询正常则为空
TradeId,TradeCode,TradeOrdId商户数据原样返回
SellTkNum表示查询班次个数
SellTkInfo表示查询获取的班次列表,具体数据组成:
"StartNodeStaId"始发节点
"CarryNodeStaId"出发站点
"CarryNodeStaName"出发站点名称
"DrvDate"出发日期
"SchId"班次
"CarryDrvDate"始发站出发日期
"DrvTime"出发时间
"PassId"检票窗口
"Mile"车程
"SFullPrice"座位全票价
"BFullPrice"卧铺全票价
"SHalfPrice"座位半票价
"BHalfPrice"卧铺半票价
"SArmyPrice"座位军人票价
"BArmyPrice"卧铺军人票
"SStudentPrice"座位学生票价
"BStudentPrice"卧铺学生票价
"SRebatePrice"座位优惠票价
"BRebatePrice"卧铺优惠票价
"SAmount"座位个数
"BAmount"卧铺个数
"SchTypeId"班次类型ID
"BerthSeats"座位数码
"SchStopFlag"停运标志
"ExtraSchFlag"是否是加班车
"EndStaName"到达站点
"BusTypeName"汽车类型名称
"RouteName"路线名称
"StartDrvTime"开始出发时间
"SchTypeName"班次类型名称
"TkPrintFlag"车票打印标志
9992,9992,杭州西站,2010-3-17,4711
2010-3-17,2010-3-177:
20:
00,7,167,45,0,22.5,0,22.5,0,45,0,0,0,3,0,0,3,0,0,千岛
湖,大高1,杭州西站-千岛湖,2010-3-177:
20:
00,普通,0|
2.2班次预订接口Trade00002
⏹接口功能描述:
对查询到的班次进行预订,目前只支持单班次预订
⏹请求格式与参数:
例如:
TradeId=1000000000&TradePwd=111111*********11111&TradeCode=Trd00002&TradeOrdId=12345678&TkInfoStr=9992,4128,2010-3-1700:
00:
00,9992,4108,0,1,0,0,0,0,0|&PersonalKey=adfcadf8huih854012
请求参数
长度
说明
必填
备注
TradeId
<=10
商户ID
Y
例如:
1000000000
TradePwd
<=20
商户交易密码
Y
例如:
11111111111111
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00002
TradeOrdId
<=30
商户交易订单
Y
例如:
12345678
TkInfoStr
<=100
班次预订信息串
Y
例如:
9992,4128,2010-3-1700:
00:
00,9992,4108,0,1,0,0,0,0,0|
PersonalKey
<=40
私钥
Y
例如:
adfcadf8huih854012
说明:
TkInfoStr表示班次预订信息串,用于具体班次预订
它有以下成员组成:
StartNodeStaId始发节点ID
SchId订购班次
Date班次日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypeId车次类型
FTkAmount全票数目
HTkAmount半票数目
ATkAmount军人票数目
STkAmount学生票数目
RTkAmount优惠票数目
⏹应答格式与参数:
例如:
RtnCode=0&RtnErrMsg=&TradeCode=Trd00002&TradeId=100000000
0&TradeOrdId=12345678&OrdBillId=406186&OrdBillMoney=38&StaySeats=9992,4128,03-17
-2010,9992,4108,0,1,01,|
返回参数
长度
说明
必填
备注
RtnCode
<=5
查询返回结果状态
Y
例如:
0表示成功-1表示失败
RtnErrMsg
<=300
交易异常说明
Y
例如:
没有符合条件记录
TradeId
<=10
商户ID
Y
例如:
1000000000
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00002
TradeOrdId
<=30
商户交易订单
Y
例如:
11111111111111
OrdBillId
<=10
长运交易订单号
Y
例如:
406186
OrdBillMoney
<=11
班次交易金额
Y
例如:
38
StaySeats
<=100
预订班次结果信息
Y
例如:
9992,4128,03-17-2010,9992,4108,0,1,01,|
说明:
StaySeats表示班次预订结果信息串,后续实际班次购买和班次取消要用到该串
它有以下成员组成:
StartNodeStaId始发节点站
SchId班次
Date日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypes座位类型
TkTypes车票类型
SeatNums座位数目
2.3取消班次预订接口Trade00003
⏹接口功能描述:
对已经预订班次进行取消操作,目前只支持取消单班次预订
⏹请求格式与参数:
例如:
TradeId=1000000000&TradePwd=11111111111111111111&TradeCode=Trd00003&TradeOrdId=12345678&StaySeats=9992,4988,03-17-2010,9992,4108,0,1,01,|&OrdBillId=406187&RelsDesc=111&PersonalKey=adfcadf8huih854012
请求参数
长度
说明
必填
备注
TradeId
<=10
商户ID
Y
例如:
1000000000
TradePwd
<=20
商户交易密码
Y
例如:
11111111111111
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00003
TradeOrdId
<=30
商户交易订单
Y
例如:
12345678
StaySeats
<=100
预订班次结果信息
Y
例如:
9992,4988,03-17-2010,9992,4108,0,1,01,|
OrdBillId
<=10
长运交易订单号
Y
例如:
406186
RelsDesc
<=100
取消原因
Y
例如:
用户取消原因
PersonalKey
<=40
私钥
Y
例如:
adfcadf8huih854012
说明:
StaySeats表示班次预订信息串,用于具体班次预订
它有以下成员组成:
StartNodeStaId始发节点站
SchId班次
Date日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypes座位类型
TkTypes车票类型
SeatNums座位数目
⏹应答格式与参数:
例如:
RtnCode=0&RtnErrMsg=&TradeCode=Trd00003&TradeId=100000000
0&TradeOrdId=12345678&OrdBillId=406187&OrdBillMoney=60&StaySeats=9992,4988,03-17-2010,9992,4108,0,1,01,|
返回参数
长度
说明
必填
备注
RtnCode
<=5
查询返回结果状态
Y
例如:
0表示成功-1表示失败
RtnErrMsg
<=300
交易异常说明
Y
例如:
没有符合条件记录
TradeId
<=10
商户ID
Y
例如:
1000000000
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00003
TradeOrdId
<=30
商户交易订单
Y
例如:
11111111111111
OrdBillId
<=10
长运交易订单号
Y
例如:
406186
OrdBillMoney
<=11
班次交易金额
Y
例如:
38
StaySeats
<=100
预订班次结果信息
Y
例如:
9992,4128,03-17-2010,9992,4108,0,1,01,|
说明:
StaySeats表示班次预订结果信息串,后续实际班次购买和班次取消要用到该串
它有以下成员组成:
StartNodeStaId始发节点站
SchId班次
Date日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypes座位类型
TkTypes车票类型
SeatNums座位数目
2.4班次购买接口Trade00004
⏹接口功能描述:
对已经预订班次进行购买操作,目前只支持购买单班次预订
⏹请求格式与参数:
例如:
TradeId=1000000000&TradePwd=11111111111111111111&TradeCode=Trd00004&TradeOrdId=12345678&StaySeats=9992,4988,03-17-2010,9992,4108,0,1,01&OrdBillId=406188&GetTkPwd=123456&PersonalKey=adfcadf8huih854012
请求参数
长度
说明
必填
备注
TradeId
<=10
商户ID
Y
例如:
1000000000
TradePwd
<=20
商户交易密码
Y
例如:
11111111111111
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00004
TradeOrdId
<=30
商户交易订单
Y
例如:
12345678
StaySeats
<=100
预订班次结果信息
Y
例如:
9992,4988,03-17-2010,9992,4108,0,1,01,|
OrdBillId
<=10
长运交易订单号
Y
例如:
406186
GetTkPwd
<=6
取票密码
Y
例如:
123456
PersonalKey
<=40
私钥
Y
例如:
adfcadf8huih854012
说明:
StaySeats表示班次预订信息串,用于具体班次预订
它有以下成员组成:
StartNodeStaId始发节点站
SchId班次
Date日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypes座位类型
TkTypes车票类型
SeatNums座位数目
⏹应答格式与参数:
例如:
RtnCode=0&RtnErrMsg=&TradeCode=Trd00004&TradeId=100000000
0&TradeOrdId=12345678&OrdBillId=406188&GetTkPwd=123456&OrdBillMoney=60&Balance=1
1098511&StaySeats=9992,4988,03-17-2010,9992,4108,0,1,01
返回参数
长度
说明
必填
备注
RtnCode
<=5
查询返回结果状态
Y
例如:
0表示成功-1表示失败
RtnErrMsg
<=300
交易异常说明
Y
例如:
没有符合条件记录
TradeId
<=10
商户ID
Y
例如:
1000000000
TradeCode
<=20
商户交易代码
Y
必须是:
Trd00001
TradeOrdId
<=30
商户交易订单
Y
例如:
11111111111111
OrdBillId
<=10
长运交易订单号
Y
例如:
406186
OrdBillMoney
<=11
班次交易金额
Y
例如:
38
Balance
<=11
账户剩余金额
例如:
11098511
StaySeats
<=100
预订班次结果信息
Y
例如:
9992,4128,03-17-2010,9992,4108,0,1,01,|
说明:
StaySeats表示班次预订结果信息串,后续实际班次购买和班次取消要用到该串
它有以下成员组成:
StartNodeStaId始发节点站
SchId班次
Date日期
CarryNodeStaId出发站点
StopId到达站点
SeatTypes座位类型
TkTypes车票类型
SeatNums座位数目
2.5出发城市信息查询接口Trade00005
⏹接口功能描述:
通过该接口获取城市ID城市名对列表
⏹请求格式与参数:
例如:
TradeId=1000000000&TradePwd=111111*********11111&TradeCode=Trd00005&TradeOrdId=12345678&PersonalKey=adfcadf8huih854012
请求参数
长度
说明
必填
备注
Tr