Heim  >  Artikel  >  php教程  >  Die Schnittstelle zur Buchung von Bahntickets vervollständigt den Buchungsprozess für Bahntickets

Die Schnittstelle zur Buchung von Bahntickets vervollständigt den Buchungsprozess für Bahntickets

WBOY
WBOYOriginal
2016-10-18 08:41:411528Durchsuche

Dieses Tutorial wird verwendet, um den Nutzungsprozess der aggregierten Daten-Zugticket-Buchungsschnittstelle zu demonstrieren.
1. Konfigurieren Sie die PHP-Umgebung. Die PHP-Version ist vorzugsweise größer als 5.5
2. Deaggregieren Sie die Daten – Anwendungsschlüssel für die Schnittstelle zur Buchung von Bahntickets: https://www.juhe.cn/docs/api/id/173
3. Der folgende Code dient dazu, dass Sie den Vorgang verstehen. Kopieren Sie ihn nicht direkt und verwenden Sie ihn nicht in der Produktionsumgebung „Der Schlüssel, den Sie beantragt haben“, <br> 'url' => array( <br> 'cityCode' => 'http://op.juhe.cn/trainTickets/cityCode', <br> 'ticketsAvailable' => 'http://op.juhe.cn/trainTickets/ticketsAvailable', <br> 'submit' => 'http://op.juhe.cn/trainTickets/submit', <br> 'orderStatus' => 'http://op.juhe.cn/trainTickets/orderStatus', <br> 'pay' => 'http://op.juhe.cn/trainTickets/pay', <br> ), <br> ); <br> #1. Überprüfen Sie den Site-Shortcode <br> echo 'Reiseplanung: 1. Juli 2015, Start in Suzhou und Ziel Qingdao <br> [Objekt Objekt]'; <br> echo 'Fragen Sie zuerst die Funktionscodes des Bahnhofs Suzhou und des Bahnhofs Qingdao ab <br> '; <br> //Fragen Sie den Funktionscode des Bahnhofs Suzhou <br> ab $suzhouCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=Suzhou'); $suzhouCodeArray = json_decode($suzhouCodeResponse, true); $suzhouCode = $suzhouCodeArray['result']['code']; echo 'Der Kurzcode der Suzhou-Station lautet: '.$suzhouCode.' '; <br> // Den Funktionscode des Bahnhofs Qingdao <br> abfragen $qingdaoCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=Qingdao'); $qingdaoCodeArray = json_decode($suzhouCodeResponse, true); $qingdaoCode = $qingdaoCodeArray['result']['code']; echo 'Der Kurzcode des Bahnhofs Qingdao lautet: '.$qingdaoCode.' [Objekt Objekt]'; <br> #2. Überprüfen Sie die verbleibenden Stimmen <br> echo 'Fragen Sie dann die verbleibenden Ticketinformationen ab <br> '; <br> $ticketsAvailableResponse = post($config['url']['ticketsAvailable'], <br> '&key='.$config['key']. '&train_date=2015-07-01' //Achten Sie auf das Datumsformat <br> '&from_station=SZH'. //Der im vorherigen Schritt gefundene Kurzcode des Bahnhofs Suzhou ist SZH <br> '&to_station=QDK' // Der im vorherigen Schritt gefundene Kurzcode des Qingdao-Bahnhofs ist QDK <br> ); <br> $ticketsAvailableArray = json_decode($ticketsAvailableResponse, true); echo 'Verbleibende Ticketinformationen abgefragt: <br> '; <br> print_r($ticketsAvailableArray['result']['list']); <br> echo ' <br> [Objekt Objekt]'; <br> #3. Bestellung absenden <br> echo 'Bestellung abschicken <br> '; <br> echo 'Anhand der verbleibenden Ticketinformationen wurde festgestellt, dass der Zug G226 besser geeignet ist <br> '; <br> echo 'Bitte schauen Sie sich die restlichen Ticketdetails des Zuges G226 an. Einige Felder müssen beachtet werden: <br> '; <br> echo 'start_station_name: Startstation, Shanghai Hongqiao <br> '; <br> echo 'from_station_name: Der Bahnhof, von dem wir abfahren werden, Suzhou Nord. Bitte beachten Sie, dass es sich nicht um Suzhou handelt <br> '; <br> echo 'from_station_code: OHH, bitte beachten Sie, dass dies der Kurzcode des Nordbahnhofs Suzhou und nicht des Bahnhofs Suzhou ist und auch der Parameter ist, der bei der Übermittlung der Bestellung übergeben wird <br> '; <br> $passengersArray = array( <br> array( <br> 'passengerid' => '1123', //Passagiernummer Bei mehreren Passagieren muss die Passagiernummer jeder Person eindeutig sein <br> 'passengersename' => 'Zhang San', //Bitte ersetzen Sie es durch Ihren richtigen Namen <br> 'piaotype' => '1', //Bitte überprüfen Sie sorgfältig die entsprechende Beziehung zwischen piaotype und piaotypename im offiziellen Website-Dokument und stellen Sie sicher, dass kein Fehler vorliegt <br>'piaotypename' => 'Erwachsenenticket', <br> 'Passporttypeseid' => '1', //Bitte überprüfen Sie sorgfältig die entsprechende Beziehung zwischen Passporttypeseid und Passporttypeseidname im offiziellen Website-Dokument und stellen Sie sicher, dass kein Fehler vorliegt <br> 'passporttypeseidname' => 'Ausweis der zweiten Generation', <br> 'passportseno' => '420205199207231234', //Bitte ersetzen Sie es durch Ihre echte ID-Nummer <br> 'price' => '763.5', //Geben Sie den tatsächlichen Preis ein <br> 'zwcode' => 'M', //Bitte bestätigen Sie, ob es in dem von Ihnen ausgewählten Zug einen solchen Sitzplatz gibt <br> 'zwname' => 'First Class', <br> ), <br> array( //Zweiter Passagier, bis zu fünf Passagiere <br> 'passengerid' => '2123', <br> 'passengersename' => '李思', <br> 'piaotype' => '1', <br> 'piaotypename' => 'Erwachsenenticket', <br> 'passporttypeseid' => '1', <br> 'passporttypeseidname' => 'Ausweis der zweiten Generation', <br> 'passportseno' => '23060519930621234', <br> 'Preis' => '59,5', <br> 'zwcode' => 'M', <br> 'zwname' => 'First Class', <br> ) <br> ); <br> $postArray = array( <br> 'key' => $config['key'], <br> 'checi' => 'G226', //Aus der vorherigen Abfrage wurde festgestellt, dass G226 mehr Stimmen hat <br> 'from_station_code' => 'OHH', //Der Kurzcode des Abfahrtsbahnhofs, bitte beachten Sie, dass es sich nicht um SZH (Suzhou) handelt <br> 'from_station_name' => 'Suzhou North', //Der Name des Abfahrtsbahnhofs muss mit dem Kurzcode des Abfahrtsbahnhofs <br> übereinstimmen 'to_station_code' => 'QDK', //Kurzcode für die Ankunft am Bahnhof <br> 'to_station_name' => 'Qingdao', //Der Name der Ankunftsstation muss mit dem Kurzcode der Ankunftsstation <br> übereinstimmen 'train_date' => '2015-07-01', //Zugdatum, achten Sie auf das Zeitformat <br> 'passengers' => json_encode($passengersArray, JSON_UNESCAPED_UNICODE), <br> ); <br> $postStr = '' <br> foreach ($postArray as $key => $value) { <br> $postStr .= '&'.$key.'='.$value; } <br> //echo $postStr;exit; <br> $submit = post($config['url']['submit'], $postStr); //echo $submit;exit; <br> echo '[object Object]'; /* Normales Ausgabebeispiel <br> { <br> „reason“: „Erfolgreiche Rückgabe“, <br> „Ergebnis“: { <br> „orderid“: „1433493562439“ //Sie können den Bearbeitungsstatus später anhand dieser Bestellnummer überprüfen <br> }, <br> „error_code“: 0 <br> } <br> */ <br> #4. Bestellstatus prüfen <br> echo 'Bestellstatus prüfen <br> '; <br> //Bitte ersetzen Sie die Bestellnummer durch Ihre eigene Bestellnummer <br> $status = post($config['url']['orderStatus'], 'key='.$config['key'].'&orderid=1433493562439'); echo $status; <br>#5. Fordern Sie ein Ticket an (das Geld wird von Ihrem Gesamtkonto abgebucht); stellen Sie bitte sicher, dass es sich bei Ihrer Bestellung um eine zu bezahlende Bestellung handelt, bevor Sie Daten über diese Schnittstelle anfordern <br> echo '[object Object]Anfrage zur Ausstellung eines Tickets (Voraussetzung ist, den Bestellstatus zu überprüfen und zu wissen, dass die Sitzplatzbelegung erfolgreich ist) <br> '; <br> $pay = post($config['url']['pay'], 'key='.$config['key'].'&orderid=1433493562439'); echo $pay; <br>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn