Loading

API

ここでは、本サイトで提供しているAPIについて説明します。

目次

はじめに
ライセンス
データの探し方
アカウント作成・ログイン
データの登録・申請
掲示板
グループ
API




APIについて

本システムで提供しているAPIには下記の2種類があります。

1. データセットAPI

データセットやリソースのメタデータ(プロパティ情報)を取得することができます。
データセットAPIの利用には申請等は必要なく、誰でもすぐにご利用頂けます。

2. データストアAPI

リソースファイルをDB化したデータストアからデータをレコード単位で取得することができ、詳細な条件を指定した柔軟な検索が可能です。
データストアAPIを利用するには、APIを利用するアプリの申請を行い、承認時に発行されるAPIキーとアプリIDが必要になります。






データセットAPIの利用方法

データセットAPIは、以下のエンドポイントに対して実行したいメソッドを指定してリクエストを送信することで、実行結果(レスポンス)をjson形式で取得することができます。

データセットAPIエンドポイント: https://opendatatoyohashi.jp/api/3/action/

データセットAPIの仕様

データセットAPIで使用可能なメソッドには下記の3つがあります。

メソッド 動作
package_list データセットのIDの一覧を取得する
package_show データセットIDを指定したデータセットのメタ情報(データセット情報、関連タグ、リソース情報、グループ情報)を取得する
resource_show リソースIDを指定したリソースのメタ情報を取得する

データセットIDの一覧を取得(package_list)

データセットのIDの一覧を取得する。
リクエストURL:https://opendatatoyohashi.jp/api/3/action/package_list
リクエスト形式:GET
リクエストパラメータ:

要素名 必須 項目
limit Int - 一度に取得する件数を指定する。
実行例:package_list?limit=10
offset Int - 取得データの開始位置を指定する。
実行例:package_list?offset=10

レスポンスデータ:

要素名 項目
success bool ステータス
result Array データセットIDのリストが格納
help String ヘルプ

データセットのメタ情報(プロパティ)を取得(package_show)

データセットIDを指定したデータセットのメタ情報(データセット情報、関連タグ、リソース情報、グループ情報)を取得する。
リクエストURL:https://opendatatoyohashi.jp/api/3/action/package_show
リクエスト形式:GET
リクエストパラメータ:

要素名 必須 項目
id String データセットIDを指定する
実行例:package_show?id=29544f9f-16cc-428a-93a0-093378751f74

package_showのリクエストURLとパラメータは取得したいデータセット詳細の下記図にあるその他のアクセス形式のリンクから取得することができます。

レスポンスデータ:

要素名 項目
success bool ステータス
result Array データセット情報が格納
 creator_user_id String 作成者ID
 group Array グループ情報
  (0~) Array 格納順序列
   description String グループ概要
   id String グループID
   image_display_url String グループ画像
   name String グループ名
   title String グループタイトル
 id String データセットID
 license_title String ライセンス
 log_message String 更新履歴
 maintainer String サイト名
 maintainer_email String メールアドレス
 metadata_created String 作成日時
 metadata_modified String 更新日時
 name String データセット名
 notes String データセット概要
 private String 掲載状態
 resources Array リソース状態
  created String 作成日時
  description String リソース概要
  format String ファイル形式
  id String リソースID
  last_modified String 最終更新
  mimetype String MIMEタイプ
  name String リソース名
  resource_group_id String リソースグループID
  revision_id String 履歴ID
  revision_timestamp String 更新履歴日時
  size String ファイルサイズ
  state String ステータス
  url String ファイルURL
 revision_timestamp String 更新履歴日時
 state String ステータス
 tags Array タグ情報
  id String タグID
  name String タグ名
  vocabulary_id String ボキャブラリーID
 title String データセットタイトル
 type String データタイプ
 url String データセットURL
help String ヘルプ

リソースのメタ情報(プロパティ)を取得(resource_show)

リソースIDを指定したリソースのメタ情報を取得する。
リクエストURL:https://opendatatoyohashi.jp/api/3/action/resource_show
リクエスト形式:GET
リクエストパラメータ:

要素名 必須 項目
id String リソースIDを指定する
実行例:resource_show?id=c0fdb1c1-bab5-4cf4-8006-da13b8b16a2b

resource_showのパラメータとなるidは取得したいリソース詳細の下記図にある識別子の値をご使用ください。

レスポンスデータ:

要素名 項目
success bool ステータス
result Array リソース情報が格納
 created String 作成日時
 description String リソース概要
 format String フォーマット
 id String リソースID
 last_modified String 最終更新
 mimetype String MIMEタイプ
 name String リソース名
 resource_group_id String リソースグループID
 revision_timestamp String 更新履歴日時
 size String ファイルサイズ
 url String ファイルURL
help String ヘルプ






データストアAPIの利用方法

データストアAPIは下記の流れでAPIを利用するアプリの申請を行い、承認されるとAPIエンドポイントとAPIキー、アプリIDが発行され、APIをご利用頂けます。

まずは下記の操作説明に従ってAPIを利用するアプリの情報を登録して、申請を行ってください。

アプリケーションの登録・申請

アプリケーションを登録するには、ページ最上部のメニューバー内から、「アプリ」 > 「一覧」をクリックします。

アプリケーションの一覧では、今までに作成したアプリケーションを見ることができます。アプリを登録したい場合は、「新規作成」をクリックします。

アプリ名と概要を入力、APIで使用するリソースを選択して、ステータスを承認待ちにして「保存」をクリックします。

アプリの登録が完了すると、登録したアプリのページが表示されます。承認されていないため、APIキーはまだ発行されていません。

登録したアプリが承認されると、以下のようなメールが届きます。記載されたURLをクリックすることで登録したアプリのページに移動します。

アプリのページを確認すると、ステータスが公開になっており、APIキーも発行されていることが確認できます。また、利用できるリソースも表示されます。

これで、データストアAPIを利用できる状態となりました。




データストアAPIの仕様

データストアAPIでは、指定した条件に合致するリソース(データストア)のレコードを取得することができます。
レスポンスの出力形式にはxml、json、jsonpのいずれかを指定可能です。

リクエストURL:

形式 URL
XML https://opendatatoyohashi.jp/api/action/datastore/search.xml
JSON https://opendatatoyohashi.jp/api/action/datastore/search.json
JSONP https://opendatatoyohashi.jp/api/action/datastore/search.jsonp

リクエスト形式:GET

リクエストパラメータ:

要素名 必須 項目
resource_id String 取得したいリソースのIDを指定する
実行例:search.json?resource_id=c0fdb1c1-bab5-4cf4-8006-da13b8b16a2b
app_id String アプリID (必須)
実行例:search.json?app_id=........-....-....-....-............
api_key String APIキー (必須)
実行例:search.json?api_key=................................
fields String - 取得したいカラムをカンマ区切りで指定する。指定しない場合はすべてのカラムを取得する。
実行例:search.json?fields=col1,col2
filters Array - filters[カラム名]で指定した文字列に一致するデータを取得する
実行例:search.json?filters[col1]=name
query String - テキストのカラムの中から指定された文字列に一致するデータを取得する
実行例:search.json?query=name
where Array - SQLの条件式(=,>,>=,<,<=,!=)を指定する。複数の条件を指定する場合は配列形式で指定し、それらはAND条件で結ばれる
実行例:search.json?where[]=col1=1
point Array - 位置情報で円による範囲検索をする場合に中心点を指定する。中心点となる緯度経度を世界測地系のDEG形式(10進表記)で{緯度,経度}の形式で指定する
実行例:search.json?point=34.769,137.391
range Array - 位置情報で円による範囲検索をする場合にpointで指定した位置から検索対象範囲とする半径[m]を指定する
実行例:search.json?range=1000
distance_column String - 返却される距離のカラム名を指定する。デフォルトは“distance”で返却される。Pointパラメータを利用した場合のみ使用可能
実行例:search.json?distance_column=distance
extent Array - 位置情報で矩形による範囲検索をする場合に矩形の始点と対角点となる終点を世界測地系のDEG形式(10進表記)で{始点の緯度,始点の経度,終点の緯度,終点の経度}の形式で指定する
実行例:search.json?extent=34.769,137.391,34.779,137.391
join String - 複数のリソースIDをresource_id[結合キー]の形式で指定し、join[結合キー]の形式で共通のカラムを指定してレコードの結合を行う
実行例:search.json?resource_id[resource1]=.....&resource_id[resource2]=.....&join[resource1]=col1&join[resource2]=col2
limit Int - 一度に取得する件数を指定する。デフォルトは50件で、最大200件のデータ取得が可能
実行例:search.json?limit=200
offset Int - 取得データの開始位置を指定する。デフォルト値は0
実行例:search.json?offset=5
sort String - 並び替え対象のカラム名と表示順(asc,desc)をsort[カラム名]=[表示順]の形式で指定する
実行例:search.json?sort[col1]=desc
callback String - レスポンスをJSONPで受け取る場合のみ、データを受け取るコールバックメソッドの名前を指定する
実行例:search.jsonp?callback=name

レスポンスデータ:

要素名 項目
success bool ステータス
result Array データストア検索結果が格納
 fields Array フィールド情報
  (0~) Array 格納順序列
   id String カラム名
   type String
 records Array 指定した条件に一致するレコードが配列形式で格納
 limit Int 取得件数
 total String 総件数
 resource_id Array リソースID
help String ヘルプ

データストアのカラム名のルール

データストアのカラム名は半角英数字とハイフン(-)とアンダーバー(_)で構成されている必要があります。
日本語が使用できないため、基本的には下記の対応表に基づいてカラム名がつけられております。

※ただし、例外もございますので、実際のカラム名は各リソースをご確認ください。

項目名 英単語・数字による項目名 備考
番号、識別番号 code
施設名などのメインとなる名前 name 別途、店舗名などの定義が必要な場合は shopname のようにする
ふりがな kana
説明 description
郵便番号 post_code
住所, 所在地など address
電話番号 tel
メール mail
FAX fax
URL url
交通アクセス access
販売場所、放揚場所など place
利用料金、価格、値段 price
備考 note
緯度 lat
経度 lon
画像, 写真 (1~5) image(1~5)
写真見出し (1~5) image_caption(1~5)
区分 section
地区 district
校区、小学校区など school_district
席数、AED設置台数など num 別途、席数や部屋数、駐車台数などの定義が必要な場合は seat_num, room_num, parking_num のようにする。
定員 capacity
公共・民間、公私別 sector
休日・休業日、定休日(その他) holiday(_other)
営業時間・業務時間、利用可能時間、利用可能日・時間帯(1~4, その他) business_hours(1~4, _other)
駐車場 parking
設備・サービス service
カテゴリ category 大カテゴリの場合はlarge_category、小カテゴリの場合はsmall_categoryとする
PR pr
問い合わせ先 contact
放揚月 month
放揚日 day
設立年月日 foundation_date
公営 public_management
民営 private_management
運営主体 admin
チェックイン checkin
チェックアウト checkout
平均予算 average_budget
時期 season
花の名前 flower
四季 four_seasons
土曜日 saturday
二十四時間 24hour
地域子育て regional_childcare
早期保育 early_childcare
休日保育 holiday_childcare
一時預かり temporary_childcare
延長保育 extended_childcare
三歳未満児 infants



APIの説明は以上です。データストアAPIを利用したい場合は以下のリンクから実際にアプリを申請してみましょう。
https://opendatatoyohashi.jp/node/add/application