バリューコマース ウェブサービス トラベルAPIサンプル ドキュメンテーション

Version 2.1.0

はじめに

バリューコマース ウェブサービス トラベルAPIサンプルは、PHP中級者がウェブサービスを利用して独自のWebアプリケーションを作成するための参考となるよう用意しました。

サンプルコードの使い方

  1. [code_samples]フォルダ内にあるすべてのフォルダおよびファイルを用意した サーバ内にコピーする
  2. [code_samples]>[VCSDBDriver]内にある[VCSDBDriverConfig.php]をメモ帳などのテキストエディターで開く 下記にあなたのトークンを貼り付ける

    / ウェブサービス トラベルAPIを利用するパートナーサイトのトークン(必須) /
    define('VCSDBDRIVER_TOKEN','ここにあなたのトークンを貼り付ける');

  3. 上書き保存しサーバ内にも保存する
  4. ブラウザを使って気に入ったサンプルファイルに接続する

    ホテルAPI
    サンプル名 ファイル名
    検索結果 display_sdb_results.php
    シンプル検索 search_filter_results.php
    高度な検索 advanced_filters_results.php
    Webテンプレート付ホテル検索サイト
    (上級サンプル)
    hotels.php
    hotel_results.php
    hotel_details.php
    ツアーAPI
    ツアー高度な検索 display_tour_results.php
    エアチケットAPI
    エアチケット高度な検索 display_air_ticket_results.php


    必要な環境:
    • PHP5 (PHP5.2.6で動作確認済み)
    • SimpleXMLElementが有効になっていること
    注意:
    サンプルコードは、その動作をバリューコマースが保証するものではありません。また、サンプルコードの技術的サポート等は行っていませんので利用者の責任において使用してください。なお、ソースコードの変更は自由ですが、再配布はしないでください。

1. 概要

1.1. 本サンプルのファイル構成

本サンプルは6つのサンプルアプリケーションによって構成されています。

1.2. 本サンプルのパラメータ

本サンプルは、検索等のパラメータのやり取りにGETを使用しています。

1.2.1. 全サンプル共通のパラメータ

1.2.2. search_filter_results.php advanced_filters_results.php 共通パラメータ

2. サンプルのクラス構成

サンプルのクラス構成は目次の「クラス構成」を参照してください。

3. 処理の流れ

本サンプルの大まかな処理の流れは下記の図のとおりです。なお、display_sdb_results.php ではPageHeaderは使用していません。

diagram01.jpg

hotels.php , hotel_results.php , hotel_details.php (上級サンプル)の場合:

diagram02.jpg

サンプルのアプリケーションごとの処理の流れは下記のとおりです。

3.1. display_sdb_results.php

display_sdb_results.php では、下記の手順で検索結果をブラウザ上に表示します。

3.2. search_filter_results.php

search_filter_results.php では、下記の手順で検索結果をブラウザ上に表示します。

3.3. advanced_filters_results.php

advanced_filters_results.php では、下記の手順で検索結果をブラウザ上に表示します。

advanced_filters_results.phpsearch_filter_results.php の違いは、PageHeaderとPageBody に 渡すHTMLファイルのみです。advanced_filters_results.php で利用している、AdvancedFiltersForm.html では JavaScriptを利用して、より高度でインタラクティブな画面を提供しています。

3.4. display_tour_results.php

display_tour_results.php では、下記の手順で検索結果をブラウザ上に表示します。

3.5. display_air_ticket_results.php

display_air_ticket_results.php では、下記の手順で検索結果をブラウザ上に表示します。

3.6. hotels.php, hotel_results.php, hotel_details.php

3.6.1. hotels.php (トップページ)

hotels.php では、下記の手順でトップページをブラウザ上に表示します。

PageFrame にHTMLファイルを渡して初期化します。 (この時初期設定PageFrameConfig.phpが読み込まれます)

PageFrame にてHTMLでHTML内にあるホテル検索フォーム用の置換コードがあるかどうか確認、あれば表示準備をします。

PageFrame でHTML内にあるおすすめホテル用の置換コードがあるかどうか確認、あれば表示準備をします。

PageFrame の内容をサイト上に表示します。

3.6.2. hotel_results.php (検索結果一覧ページ)

hotel_results.php では、下記の手順で検索結果一覧ページをブラウザ上に表示します。

PageFrame にHTMLファイルを渡して初期化します (この時初期設定PageFrameConfig.phpが読み込まれます)

PageFrame でHTML内にホテル検索フォームの表示置換コードの有無を判定し、有れば表示準備をする

PageFrame でHTML内にあるおすすめホテル用の置換コードがあるかどうか確認、あれば表示準備をします。

PageFrame でHTML内に検索結果一覧の表示置換コードの有無を判定し、有れば表示準備をする

PageFrame の内容をサイト上に表示します。

3.6.3. hotel_details.php (検索結果詳細ページ)

hotel_details.php では、下記の手順でホテル詳細ページをブラウザ上に表示します。

PageFrame にHTMLファイルを渡して初期化します (この時初期設定PageFrameConfig.phpが読み込まれます)

PageFrame でHTML内にホテル詳細情報の表示置換コードの有無を判定し、有れば表示準備をする

PageFrame でHTML内にあるおすすめホテル用の置換コードがあるかどうか確認、あれば表示準備をします。

PageFrame でHTML内に最寄りホテルの表示置換コードの有無を判定し、有れば表示準備をする

PageFrame の内容をサイト上に表示します。

4. 拡張/流用のためのヒント

以下にこのサンプルを拡張または流用して独自のWebアプリケーションを作成するのに有用なヒントをまとめました。

4.1. 表示スタイルのみカスタマイズする場合

本サンプルの機能はそのままに、表示スタイルだけを変更したい場合は、./Views ディレクトリ以下にあるHTMLファイルを編集してください。 HTMLファイル中に、"${" と "}"で囲まれた文字列がありますが、これらはサンプルのPHPプログラムが動的に置き換える箇所です。ここでは、 置き換え文字列と呼んでいます。

4.1.1. ページヘッダ部分

search_filter_results.phpadvanced_filters_results.php でWebページ先頭に表示される検索条件入力 部分をこのサンプルでは「ページヘッダ」と呼んでいます。このページの制御は、いずれも PageHeader.php で行っていますが、 それぞれ別のHTMLファイルを利用してレイアウトを行っています。 search_filter_results.php では ./Views/SearchFilterForm.html そして advanced_filters_results.php では AdvancedFilterForm.html がそれにあたります。

ページヘッダ部分で使用することのできる置き換え文字列には下記のものがあります。

4.1.2. ページ制御部分

商品リストの上下に表示しているページ移動用のリンクを表示している領域を、このサンプルでは「ページ制御部分」と呼んでいます。3サンプル全て共通の Pagination.php で 制御を行い、Views/Pagination.html でレイアウトを設定しています。

ページ制御部分で使用する事の出来る置き換え文字列には以下のものがあります。

4.1.3. 商品リスト部分

検索結果として返された情報のリストを表示する領域を、このサンプルでは「商品リスト部分」と呼んでいます。3サンプル全て共通の、FormattedItem.phpで制御を行い、 advanced_filters_results.phpでは、FormattedDetailedItem.html でレイアウトを設定し、その他のサンプルアプリケーションでは、FormattedItem.htmlで レイアウトを設定しています。

ページ制御部分で使用する事の出来る置き換え文字列には以下のものがあります。

4.2. 検索対象となる項目を追加したい場合

検索対象となる項目を新たに追加したい場合は、PageHeader.phpにパラメータや置換文字列を実装し、 ページヘッダ部分のHTMLファイルに新しく実装した置き換え文字列を追加します。

追加手順は以下のとおりです。

4.3. 検索結果に表示される項目を追加したい場合

検索結果の項目を新たに追加したい場合は、以下の手順で実現できます。

4.4. VCSDBDriver を利用して独自のアプリケーションを作成したい場合

./VCSDBDriver ディレクトリ以下におかれているファイルは、サービスデータベースにアクセスする為の「ドライバー」としての役割を持っていますが、本サンプル内での使用に限らず 汎用的に利用できるよう工夫されています。詳細については、本ドキュメントのVCSDBDriverBase, VCDBDriverHotelの項目を参照し、本サンプルに附属している3つのアプリケーションの ソースを参考にしてご利用ください。