記事
eコミマップのカスタマイズ(その2:REST-APIを使う)
「eコミマップ」には、RESTに準拠したAPIが用意されていて(eコミマップ_APIリファレンス_2.0.pdf)、インターネット経由で「eコミマップ」に登録されているデータの取得や更新をすることができます。
RESTについて
RESTとは、HTTP通信でデータの取得や編集を行うことができる非常にシンプルなインターフェイス仕様で、データ種別やIDによって構造化されたURLによってWebサービスへのリクエストを行います。
基本的なリクエストとして、データ一覧の取得、個別データの取得、データの登録、データの更新、データの削除といった操作を行うことができます。
RESTの仕様によってデータの取得・登録・更新・削除の処理はリクエスト時のメソッドによって振り分けられます。
GET | データの取得、一覧取得 |
---|---|
POST | データの新規登録 |
PUT | データの更新 |
DELETE | データの削除 |
REST-APIで送受信するデータ形式については仕様上の制限はありませんが、基本的にJSON形式の文字列データを利用することで、Webアプリケーションやスマートフォンアプリから簡単にデータを利用できるようになっています。
「eコミマップ」のREST-API
「eコミマップ」のREST-APIでは以下のデータへのリクエストを行うことが可能になっています。
・グループ一覧の取得
サイト内のグループの一覧を取得します。
・地図一覧の取得
サイトまたはグループ内の地図の一覧を取得します。
・地図の情報の取得・登録・更新・削除
指定したIDの地図の詳細情報の取得、登録・更新・削除を行います。
・登録情報項目(レイヤ)の一覧取得、取得・登録・更新・削除
地図内の登録情報項目の一覧を取得します。
登録情報項目のデータ処理を行います。
・属性情報の一覧取得、取得・登録・更新・削除
登録情報項目内の属性情報の一覧を取得します。
属性情報のデータ処理を行います。
・描画設定用SLDの取得・登録・更新・削除 (XML形式)
描画設定に利用しているSLDデータのXMLを取得します。
・描画設定用アイコン一覧の取得、アップロード
編集権限を持つユーザで認証している場合は、描画設定の編集とアイコン画像のアップロードを行うことができます。
地物一覧の検索、地物の取得
登録情報項目内の地物の一覧を取得します。キーワード条件で絞り込むことができます。指定件数のみ取得ができます。
指定したIDの地物の情報を取得することができます。
・地物の登録・更新・削除
編集権限を持つユーザで認証している場合は、地物の編集を行うことができます。
・地物のファイルアップロード
地物に関連づけるファイルをアップロードすることができます。
RESTでのデータの取得サンプル
・サイト1のグループ10の地図一覧取得
リクエスト (GETメソッド)
URL : http://サーバドメイン/map/rest/map/1/10/
レスポンス (地図一覧JSON文字列)
{"total":10,results[ {"date":"2009-06-11 16:22:25","description":"テストマップの説明。","extent":[136.451293945312,34.3160133361816,137.904647827148,35.7693672180176],"mapId":131,"modified":"2014-09-01 21:02:11","status":1,"title":"テストマップ","type":0}, {"date":"2009-06-23 13:37:58","description":"避難マップ\n\n説明。","extent":[136.509689331055,34.313591003418,137.890502929688,35.694408416748],"mapId":135,"status":1,"title":"避難マップ","type":0} ]}
・サイト2の地図100のレイヤtestに地点を登録
リクエスト (POSTメソッド)
URL : http://サーバドメイン/map/rest/feature/2/100/test/
送信データ
{"wkt":"POINT(135.0 35.0)","properties":{"attr1":"属性1"}}
レスポンス (登録結果のJSON文字列)
{"timestamp":12345678, "result":{"fid":1}}
REST-APIを利用したカスタマイズ
・JavaScriptで作成したWebアプリケーション
専用のアプリケーション画面で「eコミマップ」の情報を利用することができます。
アプリケーションは「eコミマップ」と同じサーバ上に配置し、編集を行う場合は事前に「eコミマップ」にログインする必要があります。
タブレットからの利用を想定した「簡易画面」は、JavaScriptとREST-APIのみで実装されており、地点の登録だけでなく、登録情報の追加や描画設定もできるようになっています。
Android等のスマートフォンのアプリケーションからREST-APIを利用して「eコミマップ」にデータの登録を行います。アプリケーションのためオフラインでの情報登録といった用途での利用が可能になります。アプリからの認証はOAuth2を利用することができます。