聚合数据iOS SDK 12306火车票查询订票演示示例

1,将聚合数据SDK(JuheApis.framework)添加到你的程序中来,SDK依赖的包包括:


聚合数据iOS SDK 12306火车票查询订票演示示例


2,在聚合SDK Framework的JHSDKAPIPath.h文件中找到快递查询接口宏,以及字典参数

/* 12306火车票查询订票 */
/**
@brief 2306火车票查询订票--1、车次查询
@param lname string 必填 车次名称,如:G4
@param ldtype string 非必填 返回数据的格式,xml或json,默认json
*/
#define kJHAPIS_LIFE_TRAIN_S @"juhe.apis.train.s" //1、车次查询

/**
@brief 12306火车票查询订票--2、站到站查询
@param start string 必填 出发站
@param end string 必填 终点站
@param traintype string 非必填 列车类型,G-高速动车 K-快速 T-空调特快 D-动车组 Z-直达特快 Q-其他
@param dtype string 非必填 返回数据的格式,xml或json,默认json
*/
#define kJHAPIS_LIFE_TRAIN_S2S @"juhe.apis.train.s2s" //2、站到站查询

/**
@brief 12306火车票查询订票--3、12306实时余票查询
@param dtype string 非必填 返回数据的格式,xml或json,默认json
@param from string 必填 出发站,如:上海虹桥
@param to string 必填 到达站,如:温州南
@param date string 非必填 出发日期,默认今日
@param tt string 非必填 车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他)
*/
#define kJHAPIS_LIFE_TRAIN_YP @"juhe.apis.train.yp" //3、12306实时余票查询

/**
@brief 12306火车票查询订票--4、12306订票①:查询车次
@param from string 必填 出发站名称:如上海虹桥
@param to string 必填 到达站名称:如温州南
@param date date 非必填 默认当天,格式:2014-07-11
@param tt string 非必填 车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他)
*/
#define kJHAPIS_LIFE_TRAIN_TICKET_CC @"juhe.apis.train.ticket.cc" //4、12306订票①:查询车次

/**
@brief 12306火车票查询订票--5、12306订票②:提交订单
@param name string 必填 乘客姓名
@param seat string 必填 座位类型:商务座:9,一等座:M,二等座:O,特等座:P,高级软卧:6,软卧:4,硬卧:3,软座:2,硬座:1,无座:0
@param mobile string 必填 乘客手机号码
@param idcard string 必填 乘客身份证号码
@param username string 必填 12306官网账号
@param password string 必填 12306官网密码
@param train_no string 必填 步骤①对应车次返回值
@param station_train_code string 必填 步骤①对应车次返回值
@param from_station_telecode string 必填 步骤①对应车次返回值
@param to_station_telecode string 必填 步骤①对应车次返回值
@param from_station_name string 必填 步骤①对应车次返回值
@param to_station_name string 必填 步骤①对应车次返回值
@param secretStr string 必填 步骤①对应车次返回值
*/
#define kJHAPIS_LIFE_TRAIN_TICKET_ORDER @"juhe.apis.train.ticket.order" //5、12306订票②:提交订单



3,快递查询接口在程序中调用方法(将ViewController.m改为.mm)

#import "ViewController.h"

#import <JuheApis/JuheAPI.h>
#import <JuheApis/JHOpenidSupplier.h>
#import <JuheApis/JHSDKAPIPath.h>

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[JHOpenidSupplier shareSupplier] registerJuheAPIByOpenId:@"申请到的OpenId“];

UIButton* beginBtn=[UIButton buttonWithType:UIButtonTypeSystem];
beginBtn.frame=CGRectMake(20, 111, 280, 40);
[beginBtn setTitle:@"开始" forState:UIControlStateNormal];
[beginBtn setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
[beginBtn addTarget:self action:@selector(doTestAction) forControlEvents:UIControlEventTouchUpInside];
[beginBtn setBackgroundImage:[UIImage imageNamed:@"button5"] forState:UIControlStateNormal];
[self.view addSubview:beginBtn];
}

- (void)doTestAction
{
/* 1、车次查询 */
[self test : kJHAPIS_LIFE_TRAIN_S parameters:@{@"name":@"G4" , @"dtype":@"json" }];


/* 2、站到站查询 */

[self test :kJHAPIS_LIFE_TRAIN_S2S parameters:@{@"start":@"上海虹桥" , @"end":@"苏州园区" }];


/* 3、12306实时余票查询 */
[self test :kJHAPIS_LIFE_TRAIN_YP parameters:@{@"from":@"上海虹桥" , @"to":@"温州南" }];


/* 4、12306订票①:查询车次 */
[self test :kJHAPIS_LIFE_TRAIN_TICKET_CC parameters:@{@"from":@"上海虹桥" , @"to":@"温州南" }];


/* 5、12306订票②:提交订单 */
[self test :kJHAPIS_LIFE_TRAIN_TICKET_ORDER parameters:@{@"name":@"乘客姓名" , @"seat":@"O" , @"mobile":@"乘客手机号码" , @"idcard":@"乘客身份证号码" , @"username":@"12306官网账号" ,@"password":@"12306官网密码" , @"train_no":@"步骤①对应车次返回值" , @"station_train_code":@"步骤①对应车次返回值" , @"from_station_telecod":@"步骤①对应车次返回值" } ] ;


}

- (void)test:(NSString *)path parameters:(NSDictionary *)parameters{

JuheAPI *juheapi = [JuheAPI shareJuheApi];
[juheapi executeWorkWithAPI:path
parameters:parameters
success:^(id responseObject){
if ([[parameters objectForKey:@"dtype"] isEqualToString:@"xml"]) {
NSLog(@"***xml*** \n %@", responseObject);
}else{
int error_code = [[responseObject objectForKey:@"error_code"] intValue];
if (!error_code) {
NSLog(@" %@", responseObject);
}else{
NSLog(@" %@", responseObject);
}
}

} failure:^(NSError *error) {
NSLog(@"error: %@",error.description);
}];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


4,12306火车票查询订票接口返回数据说明以及错误码说明

1、车次查询
API :juhe.apis.train.s (宏 : kJHAPIS_LIFE_TRAIN_S)

返回字段:

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

返回结果集

train_info

dictionary

返回结果集

name

string

列次名称

start

string

起点站

end

string

终点站

starttime

string

发车时间

endtime

string

到达时间

mileage

string

里程

station_list

array

站点列表

train_id

int

站点序号

station_name

string

站点名称

arrived_time

string

到达时间

leave_time

string

发车时间

stay

string

停留

mileage

string

里程

ssoftSeat

string

二等座

hardSead

string

一等座

softSeat

string

硬座

hardSleep

string

软座

softSleep

string

硬卧

error_code

int

错误码


2、站到站查询

API :juhe.apis.train.s2s (宏 : kJHAPIS_LIFE_TRAIN_S2S)

返回字段 :

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

data

array

返回结果集

trainOpp

string

列次名称

train_typename

string

列车类型

start_staion

string

出发站

end_station

string

终点站

leave_time

string

发车时间

arrived_time

string

到达时间

mileage

string

里程

totalcount

int

总条数

error_code

int

错误码



3、12306实时余票查询
API :juhe.apis.train.yp (宏 : kJHAPIS_LIFE_TRAIN_YP )

返回字段 :

名称

类型

说明

error_code

int

返回码

reason

string

返回说明

result

array

返回结果集

train_no

string

车次

start_station_name

string

车次始发站

end_station_name

string

车次终点站

from_station_name

string

出发站

to_station_name

string

到达站

start_time

string

出发时间

arrive_time

string

到达时间

train_class_name

string

车次类型

day_difference

string

历时天数

lishi

string

总历时时间

gr_num

string

高级软卧:-- 说明无该席位

qt_num

string

其他

rw_num

string

软卧

rz_num

string

软座

tz_num

string

特等座

wz_num

string

无座

yw_num

string

硬卧

yz_num

string

硬座

ze_num

string

二等座

zy_num

string

一等座

swz_num

string

商务座

4、12306订票①:查询车次
API :juhe.apis.train.ticket.cc (宏 : kJHAPIS_LIFE_TRAIN_TICKET_CC )

返回字段:

名称

类型

说明

reason

string

返回说明

result

array

返回结果集

queryLeftNewDTO

dictionary

 
train_no

string

车次

 
station_train_code

 

 
start_station_telecode

 

 
start_station_name

string

车次始发站

 
nd_station_telecode

 

 
end_station_name

string

车次终点站

 
from_station_telecode

 

 
from_station_name

string

出发站

 
to_station_telecode

 

 
to_station_name

string

到达站

 
start_time

string

出发时间

 
arrive_time

string

到达时间

 
day_difference

历时天数

 
train_class_name

string

车次类型

 
lishi

string

总历时时间

 
canWebBuy

 

 
lishiValue

 

 
yp_info

 

 
control_train_day

 

 
start_train_date

 

 
seat_feature

 

 
yp_ex

 

 
train_seat_feature

 

 
seat_types

 

 
location_code

 

 
from_station_no

 

 
to_station_no

 

 
control_day

 

 
sale_time

 

 
is_support_card

 

 
gr_num

string

高级软卧:-- 说明无该席位

 
qt_num

string

其他

 
rw_num

string

软卧

 
rz_num

string

软座

 
tz_num

string

特等座

 
wz_num

string

无座

 
yw_num

string

硬卧

 
yz_num

string

硬座

 
ze_num

string

二等座

 
zy_num

string

一等座

 
swz_num

string

商务座

secretStr
 

 

buttonTextInfo
 

预订

error_code

 
 

int

错误码


5、12306订票②:提交订单
API :juhe.apis.train.ticket.order (宏 : kJHAPIS_LIFE_TRAIN_TICKET_ORDER )

返回字段 :


名称

类型

说明

reason

int

返回说明

result

dictionary

返回结果

error_code

int

错误码

6. 12306 火车票查询订票错误码


错误码

202201

车次不能

202202

查询不到车次的相信息

202203

出发站或点站不能

202204

查询不到

202205

错误的出发站名

202206

错误的到达站名

202207

查询不到余票相关数据哦

202208

错误认传递的参正确

202209

12306络错误,

202210

12306号密码错误

202211

邮箱不存在

202212

查询出

202213

提交订单

202214

出票失

202215

202216

车次无法

202217

不合法的座位类型


5, 更多聚合数据SDK接口,访问这里: http://www.juhe.cn/juhesdk/idocs

你可能感兴趣的:(12306)