定期券種別を指定して定期代を取得する
経路探索等では、 ResultSet/Course/Price
要素にデフォルトで通勤定期代が出力されます。
通学定期代を取得するためには、以下の2通りの方法があります。
- 経路探索時に、探索条件生成を利用して定期券種別を指定する方法
- 経路探索後に、探索結果の運賃切り替えを利用して定期券種別を切り替える方法
関連URL
- 探索条件生成 /toolbox/course/condition
- 経路探索 /search/course/extreme
- 経路簡易探索 /search/course
- 平均待ち時間探索 /search/course/plain
- 探索結果の運賃切り替え /course/recalculate
手順
探索条件生成を利用して取得する
1. 経路探索に利用する条件を生成する
探索条件生成 /toolbox/course/condition
のteikiKindパラメータに、経路探索結果に出力したい通学定期券種別を指定します。
GET /v1/xml/toolbox/course/condition?key=アクセスキーを入力してください&teikiKind=university
<ResultSet apiVersion="1.27.0.0" engineVersion="202010_02a">
<Condition>T3221233232319:F3121122120000:A23121141:</Condition>
</ResultSet>
2. 経路探索を行う
1で生成した詳細探索条件を利用して経路探索 /search/course/extreme
を行います。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=高円寺:阿佐ヶ谷&conditionDetail=T3221233232319:F3121122120000:A23121141:
<ResultSet apiVersion="1.26.0.0" engineVersion="201601_02a">
<Course searchType="departure" dataType="onTimetable">
:
<Price kind="Teiki1Summary">
<Oneway>2260</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki1" index="1" selected="true">
<Type>Teiki1</Type>
<Oneway>2260</Oneway>
</Price>
<Price kind="Teiki3Summary">
<Oneway>6450</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki3" index="1" selected="true">
<Type>Teiki3</Type>
<Oneway>6450</Oneway>
</Price>
<Price kind="Teiki6Summary">
<Oneway>12220</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki6" index="1" selected="true">
<Type>Teiki6</Type>
<Oneway>12220</Oneway>
</Price>
:
探索結果の運賃切り替えを利用して取得する
1. 経路探索を行う
経路探索 /search/course/extreme
等で、定期代を取得したい経路の探索を行います。
次の手順で、 /ResultSet/Course/SerializeData
要素から取得できる経路シリアライズデータを利用します。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=高円寺:阿佐ヶ谷
<ResultSet apiVersion="1.27.0.0" engineVersion="201809_02a">
<Course searchType="departure" dataType="onTimetable">
<SerializeData>VkV4QaECp7fIAsMCpgEz76YDpgEz76UEkcIBQwAAAAKmATPvpQPJAQECAQMBBAEHAQgBCgIPQv9_EKX_9wWUwQKlWI_BAqVX3sECpVgYwQKlWSwGkcMBAQIBA8cBpYjFAgcDCAWkeQZFMTE3N1QHAwgCB5HFAaYBM||pA6UCsgSlArQFAAgACJHFBAEFAQYBB6RtCAEJkcEDAQ|RxQGSAAECkcMBAAIAAwADkcMBAAIAAwAEkQAFkQA*--T3221233232319:F332112212000:A23121141:--7825658e5825d0c930202df4475e561246770f24--0--0--0--185</SerializeData>
:
<Price kind="Teiki1Summary">
<Oneway>3880</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki1" index="1" selected="true">
<Type>Teiki1</Type>
<Oneway>3880</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
<Price kind="Teiki3Summary">
<Oneway>11060</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki3" index="1" selected="true">
<Type>Teiki3</Type>
<Oneway>11060</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
<Price kind="Teiki6Summary">
<Oneway>18620</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki6" index="1" selected="true">
<Type>Teiki6</Type>
<Oneway>18620</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
:
2. 定期券種別を指定して運賃切り替えを行う
探索結果の運賃切り替え /course/recalculate
のteikiKindパラメータに出力したい通学定期券種別、serializeDataパラメータに1で取得した経路シリアライズデータを指定して、運賃切り替えを行います。
GET /v1/xml/course/recalculate?key=アクセスキーを入力してください&teikiKind=university&serializeData=VkV4QaECp7fIAsMCpgEz76YDpgEz76UEkcIBQwAAAAKmATPvpQPJAQECAQMBBAEHAQgBCgIPQv9_EKX_9wWUwQKlWI_BAqVX3sECpVgYwQKlWSwGkcMBAQIBA8cBpYjFAgcDCAWkeQZFMTE3N1QHAwgCB5HFAaYBM||pA6UCsgSlArQFAAgACJHFBAEFAQYBB6RtCAEJkcEDAQ|RxQGSAAECkcMBAAIAAwADkcMBAAIAAwAEkQAFkQA*--T3221233232319:F332112212000:A23121141:--7825658e5825d0c930202df4475e561246770f24--0--0--0--185
<ResultSet apiVersion="1.27.0.0" engineVersion="201809_02a">
<Course dataType="onTimetable">
:
<Price kind="Teiki1Summary">
<Oneway>2260</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki1" index="1" selected="true">
<Type>Teiki1</Type>
<Oneway>2260</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
<Price kind="Teiki3Summary">
<Oneway>6450</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki3" index="1" selected="true">
<Type>Teiki3</Type>
<Oneway>6450</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
<Price kind="Teiki6Summary">
<Oneway>12220</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Teiki6" index="1" selected="true">
<Type>Teiki6</Type>
<Oneway>12220</Oneway>
<RevisionStatus>latest</RevisionStatus>
</Price>
</Course>
</ResultSet>