このチュートリアルは、集約されたデータトレイン チケット予約インターフェイスの使用プロセスをデモンストレーションするために使用されます。
1. PHP 環境を構成します。PHP バージョンは 5.5 以降であることが望ましいです
。
2. データの非集計 - 鉄道チケット予約インターフェイスのアプリケーション キー: https://www.juhe.cn/docs/api/id/173
3. 次のコードは、プロセスを理解するためのものであり、直接コピーしたり、運用環境で使用したりしないでください。
'url' => 配列( ;
'cityCode' => 'http://op.juhe.cn/trainTickets/cityCode', <br>
'ticketsAvailable' => 'http://op.juhe.cn/trainTickets/ticketsAvailable', <br>
'送信' => 'http://op.juhe.cn/trainTickets/submit', <br>
'orderStatus' => 'http://op.juhe.cn/trainTickets/orderStatus', <br>
'支払い' => 'http://op.juhe.cn/trainTickets/pay', <br>
)、<br>
);
#1. サイトのショートコードを確認してください <br>
echo '旅程の計画: 2015 年 7 月 1 日、蘇州から出発し、目的地は青島 <br>
[オブジェクト オブジェクト]';
echo 'まず蘇州駅と青島駅のショートコードを確認してください<br>
';<br>
//蘇州駅のショートコードを問い合わせる <br>
$suzhouCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=蘇州');
$suzhouCodeArray = json_decode($suzhouCodeResponse, true);
$suzhouCode = $suzhouCodeArray['結果']['コード'] <br>
echo '蘇州駅の短縮コードは '.$suzhouCode' です。
';<br>
// 青島駅のショートコードをクエリします <br>
$qingdaoCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=青島');
$qingdaoCodeArray = json_decode($suzhouCodeResponse, true);
$qingdaoCode = $qingdaoCodeArray['結果']['コード'] <br>
echo '青島駅のショートコードは「.$qingdaoCode」です。
[オブジェクト オブジェクト]';
#2. 残りの投票を確認する <br>
echo 'それでは残りのチケット情報を確認してください<br>
';<br>
$ticketsAvailableResponse = post($config['url']['ticketsAvailable'], <br>
'&key='.$config['key'] <br>
'&train_date=2015-07-01' //日付形式に注意してください <br>
'&from_station=SZH' //前のステップで見つかった蘇州駅のショートコードは SZH です <br>
'&to_station=QDK' //前のステップで見つかった青島駅のショートコードは QDK です <br>
);
$ticketsAvailableArray = json_decode($ticketsAvailableResponse, true);
echo 'クエリされた残りのチケット情報: <br>
';<br>
print_r($ticketsAvailableArray['結果']['リスト']);
エコー<br>
[オブジェクト オブジェクト]';
#3. 注文を送信する <br>
echo '注文を送信します <br>
';<br>
echo '残りのチケット情報に基づいて、G226 列車の方が適していることがわかりました <br>
';<br>
echo 'G226 列車の残りのチケットの詳細を見てください: いくつかのフィールドに注意が必要です。
';<br>
echo 'start_station_name: 上海虹橋の始発駅 <br>
';<br>
echo 'from_station_name: これから出発する駅、蘇州北、蘇州ではないことに注意してください <br>
';<br>
echo 'from_station_code: ああ、これは蘇州駅ではなく蘇州北駅のショートコードであり、注文を送信するときに渡されるパラメータでもあることに注意してください <br>
';<br>
$passengersArray = array( <br>
配列( <br>
'passengerid' => '1123', //乗客が複数いる場合、各人の乗客番号は一意である必要があります <br>
'Passengersename' => 'Zhang San', //本名に置き換えてください <br>
'piaotype' => '1', //公式サイトのドキュメントにあるpiaotypeとpiaotypenameの対応関係をよく確認し、間違いのないように注意してください<br>'piaotypename' => '大人用チケット', <br>
'Passporttypeseid' => '1', //公式サイトのドキュメント内のpassporttypeseidとpassporttypeseidnameの対応関係をよく確認し、間違いのないように注意してください<br>
「passporttypeseidname」 => 「第 2 世代 ID カード」、<br>
'passportseno' => '420205199207231234', //実際の ID 番号に置き換えてください <br>
'price' => '763.5', //実際の価格を入力します <br>
'zwcode' => 'M', //選択した列車にそのような座席があるか確認してください <br>
'zwname' => 'ファーストクラス'、<br>
)、<br>
array( //2 人目の乗客、最大 5 人の乗客 <br>
'passengerid' => '2123'、<br>
'passengername' => '李思', <br>
'piaotype' => '1'、<br>
'piaotypename' => '大人用チケット', <br>
'passporttypeseid' => '1'、<br>
「passporttypeseidname」 => 「第 2 世代 ID カード」、<br>
'パスポート' => '23060519930621234', <br>
'価格' => '59.5'、<br>
'zwcode' => 'M'、<br>
'zwname' => 'ファーストクラス'、<br>
)<br>
);
$postArray = array( <br>
'キー' => $config['キー'], <br>
'checi' => 'G226', //前のクエリから、G226 の方が多くの票を持っていることがわかりました <br>
'from_station_code' => 'OHH', //出発駅の短縮コード。SZH (蘇州) ではないことに注意してください <br>
'from_station_name' => '蘇州北', //出発駅の名前は出発駅の短縮コードに対応する必要があります <br>
'to_station_code' => 'QDK', //駅に到着するためのショートコード <br>;
'to_station_name' => '青島', //到着駅の名前は到着駅のショートコードに対応する必要があります <br>
'train_date' => '2015-07-01', // 列車の日付、時間の形式に注意してください <br>
'乗客' => json_encode($passengersArray, JSON_UNESCAPED_UNICODE), <br>
);
$postStr = '';
foreach ($postArray as $key => $value) { <br>
$postStr .= '&'.$key.'='.$value <br>
}<br>
//エコー $postStr;終了 <br>
$submit = post($config['url']['submit'], $postStr);
//エコー $submit;終了 <br>
echo '[オブジェクト オブジェクト]';
/* 通常の出力例 <br>
{ <br>
"reason": "正常に戻りました"、<br>
「結果」: { <br>
"orderid": "1433493562439" //この注文番号に基づいて処理ステータスを後で確認できます <br>
}、<br>
「エラーコード」: 0 <br>
}<br>
*/<br>
#4. 注文状況を確認する <br>
echo '注文状況を確認してください <br>
';<br>
//注文番号をご自身の注文番号に置き換えてください <br>
$status = post($config['url']['orderStatus'], 'key='.$config['key'].'&orderid=1433493562439');
$ステータスをエコーする <br>#5. チケットをリクエストします (金額は集計アカウントから引き落とされます)。このインターフェースからデータをリクエストする前に、注文が支払い対象であることを確認してください。
echo '[object Object]チケット発券リクエスト(注文状況を確認し、座席占有が成功していることが前提) <br>
';<br>
$pay = post($config['url']['pay'], 'key='.$config['key'].'&orderid=1433493562439');
エコー $pay <br> <br>