自動配車
/auto_dispatch_car [POST] [GET]
基本情報
概要
移動手段を車として、グループ化の条件によって分割された最適順に巡回するルートを検索します。
※当APIをご利用の場合は、オプション契約が別途必要となります
リクエスト回数について
本APIはルート検索に時間を要する場合があるため、1回のルート検索につき2回のリクエストが必要になります。
1回目はPOST形式で検索リクエストを受け付け、2回目はGET形式で検索結果を返却します。
URL
https://{HOST}/{CID}/v1/auto_dispatch_car
※APIマーケットでは提供しておりません
出力形式
- JSON
対応言語
- ja, en, ko, zh-CN, zh-TW, th
パラメータ [POST]
Content-Typeヘッダーにapplication/x-www-form-urlencodedを指定し、 リクエストボディにパラメータを指定して送信してください。
signature及びrequest_codeはリクエストボディではなく、クエリパラメータに指定してください。
| パラメータ名 | 必須 | 概要 | 型名 | デフォルト値 | 上下限/選択値 | 備考 |
|---|---|---|---|---|---|---|
| num | (✔) | 経路の分割数 | 数値 | 上限:経由地数 | duration、capacityとの併用は不可(いずれかを必ず指定) 詳細はこちらをご覧ください |
|
| duration | (✔) | 各経路の所要時間(単位:分) | 数値 | 最小値:1 最大値:9999 |
num、capacityとの併用は不可(いずれかを必ず指定) 詳細はこちらをご覧ください |
|
| capacity | (✔) | 各経路の積載上限量 | 数値 | 最小値:1 最大値:9999 |
num、durationとの併用は不可(いずれかを必ず指定) 詳細はこちらをご覧ください |
|
| start | ✔ | 出発地点/到着地点 | ・地点のJSON表現 ・文字列(ノードID) ・カンマ区切りの数値(緯度,経度) |
緯度経度の指定例:35.689457,139.691935(東京都庁) | ||
| via | ✔ | 経由地 | 地点のJSON表現(配列) | 詳細はこちらをご覧ください | ||
| start_time | 出発時刻 | 文字列(日付時刻)YYYY-MM-DDThh:mm:ss |
時刻の指定例 2019-10-01T08:00:00 詳細はこちらをご覧ください |
|||
| goal_time | 到着時刻 | 文字列(日付時刻)YYYY-MM-DDThh:mm:ss |
時刻の指定例 2019-10-01T08:00:00 詳細はこちらをご覧ください |
|||
| condition | 経路検索条件 | 文字列 | recommend | recommend:推奨 toll_time:有料道路優先、時間優先 toll_distance:有料道路優先、距離優先 toll_gas:有料道路優先、ガソリン節約優先 free_time:無料道路優先、時間優先 free_distance:無料道路優先、距離優先 free_gas:無料道路優先、ガソリン節約優先 free_only:無料道路利用 |
||
| regulation | 規制に関する車体情報 | JSON表現 | JSON表現の詳細はこちらをご覧ください ※大型車の規制情報利用は、オプション機能のため、別途契約が必要となります |
|||
| order | 出力順 | 文字列 | time | total_distance: 総移動距離 time: 所要時間 |
||
| use_road | 利用したい道路ID | 文字列 | ピリオド区切りで複数指定可能です 詳細はこちらをご覧ください |
|||
| unuse_road | 利用したくない道路ID | 文字列 | ピリオド区切りで複数指定可能です 詳細はこちらをご覧ください |
|||
| use_traffic | 渋滞情報の考慮 | 文字列 | probe:プローブから生成された道路交通情報 | パラメータ「start_time」または「goal_time」を指定時のみ有効です 検索対象が過去日時の場合は考慮されません ※プローブのご利用は、オプション機能のため、別途契約が必要となります |
||
| options | 追加出力情報 | 文字列 | turn_by_turn:ターンバイターン情報 | 交差点等、進行情報を案内するための地点情報を取得します | ||
| smart_ic | スマートIC考慮 | 文字列 | unuse | unuse : スマートICを考慮しない use : スマートICを考慮する |
||
| ferry | フェリー優先検索 | 文字列 | use | unuse : フェリーを使わない use : フェリーを使う more_use : フェリーを優先して使う |
||
| wide | 道幅の考慮 | 文字列 | unuse | unuse:道幅を考慮しない use:道幅を考慮する more_use : 積極的に道幅を考慮する |
||
| etc | ETC料金計算 | 文字列 | unuse | use:時刻を考慮したETC料金計算を行う unuse : 時刻を考慮したETC料金計算を行わない |
use指定時にfareに出力される料金はETC料金のみとなります | |
| avoid_etc_only | ETC専用料金所の回避 | 真偽値 | false | true : ETC専用料金所を回避する false : ETC専用料金所を回避しない |
対応しているICの詳細はこちらをご覧ください |
|
| datum | 緯度経度の測地系 | 文字列 | wgs84 | wgs84:世界測地系 tokyo:旧日本測地系 |
||
| coord_unit | 出力データに含まれる緯度経度の単位 | 文字列 | degree | degree:度表記の10進法 millisec:ミリ秒表記 |
||
| lang | 言語 | 文字列 | ja: 日本語 en: 英語 ko: 韓国語 zh-CN: 中国語(簡体字) zh-TW: 中国語(繁体字) th: タイ語 |
出力する言語を指定します ※多言語オプション申込時のみ利用可能 |
||
| shape | 形状出力 | 真偽値 | false | - true - false |
trueを指定時にはshapes(ルート形状)が出力されます |
グループ化の条件について
グループ化の条件は、目的に合わせてnum、duration、capacityのいずれかを指定することが可能です。
・num : 経路を分割する数を指定
利用例) 配送先(via)が100件に対して、配達担当4人(num=4)で運ぶ場合に誰がどこを回るのが効率的か
・duration : 各経路の所要時間を指定
利用例) 配送先(via)が100件に対して、各配達員の勤務時間を5時間(duration=300)とした時、何人で分割すれば良いか
・capacity : 各経路の積載量上限を指定
利用例) 各訪問先(via)に配送する量(cargo)が決まっている時、各配達員のトラックの積載量の上限を20とした場合に何台必要か
※capacityを利用する場合は、合わせて各経由地にcargo(配送貨物量)を指定してください。
また、capacityとcargoで指定する値は同じ単位を指定してください(例: kg, 個)。
※duration, capacityを指定した場合、指定した条件を満たさない場合があります。
ルート検索時の日付(時刻)指定について
出発時刻(start_time)と到着時刻(goal_time)を指定する場合は、どちらか片方を指定してください(同時指定はできません)。
・start_time(日付時刻指定):出発地からの出発時刻の指定
・goal_time(日付時刻指定):目的地への到着時刻の指定
両方未指定の場合は、POST通信の検索実行日時が出発時刻となります。
経路検索条件の無料道路利用の注意点について
無料道路利用は無料道路優先より高い優先度で検索する経路検索条件です。
パラメータの組み合わせによって、一部経路結果に有料道路が含まれる場合がありますのでご了承ください。
利用したい道路ID(use_road)について
利用したい道路の道路IDを指定することで、その道路を利用するルートを優先して検索します。
出発地・目的地の位置関係や道路データ収録状況の影響により、指定した道路が考慮されない場合があります。
利用したくない道路ID(unuse_road)と同一の道路IDを指定した場合はエラーとなります。
利用したくない道路ID(unuse_road)について
利用したくない道路の道路IDを指定することで、その道路を利用しないルートを優先して検索します。
指定した道路が考慮されない場合があります(例えば指定した道路が出発地と重なった場合)。
利用したい道路ID(use_road)と同一の道路IDを指定した場合はエラーとなります。
対応しているICについて(avoid_etc_only)
首都高(ICは入口のみETC専用化)
霞ヶ関(内外)、代官町(内)、空港西(上)、新宿(上)、初台(下)、幡ヶ谷(上)、一ツ橋(下)、護国寺(上)、中環大井南(外)、富ヶ谷(外)、初台南(内)、滝野川(内)、高松(外)、王子北(外)、四つ木(内外)、清新町(内)、さいたま見沼(上)、浦和南(上)、浜町(上下)、加平(南)(上下)、加平(北)(上下)、晴海(下)、加賀(上)、安行(上)、新木場(東西)、大井(東)、磯子(東)、木場(上)、横浜駅東口(下)、新山下(上下)、馬場
東日本高速道路(ICは入口のみETC専用化)
戸田西(内)、戸田東(外)
中日本高速道路
稲城(入口)、八王子西(出入口)
地点の JSON 表現
| プロパティ名 | 必須 | 概要 | 型名 | デフォルト値 | 備考 |
|---|---|---|---|---|---|
| lat | (✔) | 緯度 | 数値 | ||
| lon | (✔) | 経度 | 数値 | ||
| node | (✔) | 駅/連絡バス停ID | 文字列 | 経由地の場合は駅/連絡バス停IDは指定できません 緯度経度で指定してください |
|
| cargo | 配送貨物量 | 数値 | 0 | パラメータ「capacity」指定時に有効 指定されたcargoの値を元に積載量上限(capacity)を超えない様に経路を分割 |
|
| name | 地点名称 | 文字列 | |||
| road-type | 地点の道路種別 | 文字列 | free | free:無料道路 toll:有料道路 any:有料無料全ての道路が対象 |
|
| angle | 方位 | 数値 | 0~360度 出発地を指定する場合のみ使用可能です |
||
| park-side | 横付け | 数値 | always_along:常に同一車線側に横付け along:狭い道路以外は同一車線側に横付け |
||
| stay-time | 経由地の滞在時間(単位:分) | 数値 | 最小値:0 最大値:300 経由地を指定する場合のみ使用可能です |
出発地点と到着地点、経由地点のJSON表現における必須項目の指定方法について
lat/lon、node の内どちらか一つの指定が必須となります(複数指定はエラー)。
latを指定した場合は、lonも必ず指定してください。
lonを指定した場合は、latも必ず指定してください。
経由地の指定方法について
経由地の数だけ地点のJSON表現を配列にして記述します。経由地が1点の場合でも配列表現が必要です。
経由地が1点の場合の記述例は以下の通りです。
via=[{"lat":35.706822,"lon":139.813956}]
最適順ルート、経由地間最適順ルートを求める場合、経由地は2地点以上登録する必要があります。
経由地指定の上限数は、250地点です。
上限数を超える経由地を指定するとエラーとなります。
regulation の JSON 表現
| プロパティ名 | 必須 | 概要 | 型名 | デフォルト値 | 備考 |
|---|---|---|---|---|---|
| regulation-type | 車両区分 | 文字列 | 以下のいずれかより1つ指定します standard_passenger :普通乗用自動車 medium_passenger :中型乗用自動車 specific_medium_passenger :特定中型乗用自動車 large_passenger :大型乗用自動車 standard_truck :普通貨物自動車 medium_truck :中型貨物自動車 specific_medium_truck :特定中型貨物自動車 large_truck :大型貨物自動車 large_special_vehicle :大型特殊自動車 small_special_vehicle :小型特殊自動車 light_vehicle :軽自動車 semimedium_passenger :準中型乗用自動車 semimedium_truck :準中型貨物自動車 |
||
| toll-type | 料金車種区分 | 文字列 | 以下のいずれかより1つ指定します small :軽自動車等 standard :普通車 medium :中型車 large :大型車 extra_large :特大車 |
||
| dangerous-goods | 危険物積載車両通行規制考慮 | 文字列 | use:考慮する | ||
| car-body | 車体情報 | JSON表現 |
car-body の JSON 表現
| プロパティ名 | 必須 | 概要 | 型名 | デフォルト値 | 備考 |
|---|---|---|---|---|---|
| height | 車の高さ(単位:cm) | 数値 | |||
| width | 車の幅(単位:cm) | 数値 | |||
| length | 車の長さ(単位:cm) | 数値 | |||
| weight | 車の重量(単位:kg) | 数値 | |||
| max-loading-capacity | 車の最大積載量(単位:kg) | 数値 |
regulation、car-bodyのJSON表現について
入力された項目のみ考慮しますので、すべての項目を指定する必要はありません
規制に関する車体情報の用途について
regulation-type:通行止め、指定方向外通行禁止などの道路規制の対象となる車両区分を指定します
toll-type:スマートICで通行可否を考慮する場合の料金車種区分を指定します
dangerous-goods:危険物積載車両通行規制道路を通行できるかどうかを判定するために使用します
car-body:車両の大きさや重量により対象道路を通行できるかどうかを判定するために使用します
regulationのJSON表現例
・規制種別:大型貨物自動車, 料金車種:大型自動車, 車長:1200cm, 車高:320cm, 車幅:250cm,重量:24860kg, 最大積載量:15300kg
{
"regulation-type": "large_truck",
"toll-type": "large",
"car-body": {
"length": 1200,
"height": 320,
"width": 250,
"weight": 24860,
"max-loading-capacity": 15300
}
}
レスポンス [POST]
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| ルート検索ID | processing_id | 文字列 | リクエストを受け付けたルート検索ごとに発行されるID |
レスポンス例
{"processing_id": "8405511d33ebba6e122436b74cb6a215460609b6725b41a9d0ee0bf0b3f85ee9"}
パラメータ [GET]
| パラメータ名 | 必須 | 概要 | 型名 | デフォルト値 | 上下限/選択値 | 備考 |
|---|---|---|---|---|---|---|
| processing_id | ✔ | ルート検索ID | 文字列 | POSTリクエストで取得したIDを指定してください |
パラメータ構成例
/auto_dispatch_car?processing_id=8405511d33ebba6e122436b74cb6a215460609b6725b41a9d0ee0bf0b3f85ee9
レスポンス [GET]
ルート検索が正常に完了している場合、レスポンスは/route_carと同様です。
ルート検索が完了していない場合、POSTリクエストと同様のレスポンス「processing_id」を返却します。
5分程度時間をおいてから再度リクエストを実行してください。
検索結果はリクエスト実行後、24時間で削除されます。
エラー情報
エラーハンドリングについて
エラーメッセージは追加/変更/削除されることがあります。
エラーハンドリングされる場合はHTTPステータスコードをもとにご対応ください。
共通エラーについてはこちらをご参照ください。
| HTTPステータス | エラーメッセージ | 発生理由 |
|---|---|---|
| 405 | This http method is invalid : | 許可されていないHTTPメソッドでアクセスされた場合に発生します。 |
| POSTリクエスト時 | --- | --- |
| 400 | request body is required | POSTリクエストでリクエストボディが指定されていない場合に発生します。 |
| 400 | parameter error: num: required field | 必須パラメータ num, duration, capacity のいずれも指定されていない場合に発生します。 |
| 400 | parameter error: num: ["'duration' must not be present with 'num'"], duration: ["'num' must not be present with 'duration'"] (等、excludes指定による組合せ) | num, duration, capacity のうち複数を同時に指定した場合に発生します。 |
| 400 | parameter error: num: min value is 1 | numが1未満の場合に発生します。 |
| 400 | parameter error: num: max value is 150 | numが150を超えている場合に発生します。 |
| 400 | parameter error: duration: min value is 1 | durationが1未満の場合に発生します。 |
| 400 | parameter error: duration: max value is 9999 | durationが9999を超えている場合に発生します。 |
| 400 | parameter error: capacity: min value is 1 | capacityが1未満の場合に発生します。 |
| 400 | parameter error: capacity: max value is 999999 | capacityが999999を超えている場合に発生します。 |
| 400 | parameter error: start: required field | 必須パラメータである start が指定されていない場合に発生します。 |
| 400 | parameter error: start: no definitions validate | start に指定した値のフォーマットが不正、または正しくない文字列が含まれている場合に発生します。 |
| 400 | parameter error: via: required field | 必須パラメータである via が指定されていない場合に発生します。 |
| 400 | parameter error: via: not json format : | via に不正なJSON文字列を指定した場合に発生します。 |
| 400 | parameter error: start_time: ["'goal_time' must not be present with 'start_time'"], goal_time: ["'start_time' must not be present with 'goal_time'"] | start_time と goal_time を同時に指定した場合に発生します。 |
| 400 | parameter error: start_time: an invalid datetime: | start_time に不正な日時形式の値を指定した場合に発生します。 |
| 400 | parameter error: goal_time: an invalid datetime: | goal_time に不正な日時形式の値を指定した場合に発生します。 |
| 400 | parameter error: condition: unallowed value | condition に許可されていない値を指定した場合に発生します。 |
| 400 | parameter error: regulation: not json format : | regulation に不正なJSON文字列を指定した場合に発生します。 |
| 400 | parameter error: order: unallowed value | order に許可されていない値を指定した場合に発生します。 |
| 400 | parameter error: use_traffic: an invalid item: | use_traffic に許可されていない値を指定した場合に発生します。 |
| 400 | parameter error: uid: min length is 1 | uidが空文字の場合に発生します。 |
| 400 | parameter error: uid: max length is 50 | uidが50文字を超えている場合に発生します。 |
| 400 | parameter error: use_road: an invalid category: | use_road に不正な道路IDを指定した場合に発生します。 |
| 400 | parameter error: unuse_road: an invalid category: | unuse_road に不正な道路IDを指定した場合に発生します。 |
| 400 | parameter error: options: an invalid item: | options に許可されていない値を指定した場合に発生します。 |
| 400 | parameter error: shape: unallowed value | shape に true, false 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: shape_format: unallowed value | shape_format に geojson, json 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: shape_format: field 'shape' is required | shape_format を指定しているが、shape が指定されていない場合に発生します。 |
| 400 | parameter error: smart_ic: unallowed value | smart_ic に use, unuse 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: ferry: unallowed value | ferry に more_use, use, unuse 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: wide: unallowed value | wide に more_use, use, unuse 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: etc: unallowed value | etc に use, unuse 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: avoid_etc_only: unallowed value | avoid_etc_only に true, false 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: datum: unallowed value | datum に wgs84, tokyo 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: coord_unit: unallowed value | coord_unit に degree, millisec 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: lang: unallowed value | lang に ja, en, ko, zh-CN, zh-TW, th 以外の不正な値を指定した場合に発生します。 |
| 400 | parameter error: coord_adjustment: unallowed value | coord_adjustment に true, false 以外の不正な値を指定した場合に発生します。 |
| 400 | start is invalid | start をJSON配列形式(複数地点)で指定した場合に発生します(自動配車では多地点のstartは不可)。 |
| 400 | parameter error: {field}: ['{error}'] ※field は lat, lon, node, ic, road-type, angle, park-side, spot 等 |
start のJSON内部フィールドの値が不正な場合に発生します。 |
| 400 | via must be in json format | via のJSON文字列が正しい形式ではない場合に発生します。 |
| 400 | via must be in array format | via via がJSON配列形式ではない場合に発生します。 |
| 400 | coordinate or ic is required | via の要素内に lat/lon も ic も含まれていない場合に発生します。 |
| 400 | list size is too large | via の経由地数が250を超過した場合に発生します。 |
| 400 | invalid num | num の値が via の要素数を超えている場合に発生します。 |
| 400 | from_time must be earlier than to_time | via の arrival-times 内で from が to より後の日時の場合に発生します。 |
| 400 | list size (via) is too small | arrival-times を使用しているが、via の要素数が2未満の場合に発生します。 |
| 400 | arrival-times must use with optimal(via_type) | arrival-times を使用しているが、via_type が specified の場合に発生します。 |
| 400 | parameter error: {field}: ['{error}'] ※field は lat, lon, stay-time, road-type, park-side, arrival-times, ic, ic-passing-type, cargo 等 |
via の各要素内のフィールドの値が不正な場合に発生します。 |
| 400 | parameter error: regulation-type: unallowed value | regulation 内の regulation-type に許可されていない車種を指定した場合に発生します。 |
| 400 | parameter error: toll-type: unallowed value | regulation 内の toll-type に許可されていない料金車種を指定した場合に発生します。 |
| 400 | parameter error: {field}: ['{error}'] ※field は height, width, length, weight, max-loading-capacity |
regulation 内の car-body の各フィールドの値が不正な失敗した場合に発生します。 |
| 400 | parameter error: dangerous-goods: unallowed value | regulation 内の dangerous-goods に use 以外の不正な値を指定した場合に発生します。 |
| 400 | invalid road id | use_road と unuse_road の両方に同じ道路IDを指定した場合に発生します。 |
| 400 | bad usage on this contract : Multilingual | lang パラメータを指定したが、契約で多言語オプションが有効化されていない場合に発生します。 |
| 400 | bad usage on this contract : useZone30 | use_byway=true を指定したが、契約で Zone30 オプションが有効化されていない場合に発生します。 |
| 400 | bad usage on this contract : regulation | regulation を指定したが、契約で大型車オプションが有効化されていない場合に発生します。 |
| GET リクエスト時 | --- | --- |
| 400 | parameter error: processing_id: required field | 必須パラメータである processing_id が指定されていない場合に発生します。 |
| 400 | invalid processing_id | 指定された processing_id に対応するデータがS3に存在しない場合に発生します。 |