ここでは、本サイトで提供しているAPIについて説明します。
目次
はじめに
ライセンス
データの探し方
アカウント作成・ログイン
データの登録・申請
グループ
API
- APIについて
- データセットAPIの利用方法
- データセットAPIの仕様
- データセットIDの一覧を取得(package_list)
- データセットのメタ情報(プロパティ)を取得(package_show)
- リソースのメタ情報(プロパティ)を取得(resource_show)
- データストア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のいずれかを指定可能です。
データストアを検索してレコードを取得(datastore_search)
リクエストURL:
リクエスト形式: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 | |
メール | ||
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
次のページでは退会(アカウント削除)について説明します。