SuperSaaS-FAN
〜 SuperSaaSの使い方 〜

Loading...

SuperSaaSのインフォメーションAPIでできること

インフォメーションAPI

インフォメーションAPIは構成情報を取得するAPIです。
現状で対象なのは、アカウントに対して登録スケジュール・フォームのIDと名前の取得、リソーススケジュールのリソースとサービススケジュールのサービスに対して、それらのIDと名前の取得、スケジュールに対して格納する情報のID、型、名前などの取得となっています。

独自にシステムを構築する際には、色々と役に立ちそうなAPIです。
望むべくは全てのリレーション上のテーブルに対して、構成(カラム)の情報が取得できることでしょうか。

あまり使用頻度の高くないところだけAPIとして公開としたのは過負荷回避かもしれませんね。

インフォメーションAPI(4種類)

インフォメーションAPIは比較的新しい公式APIで、現在でもあまり情報が開示されていません。
メソッドとして公式化していますが、引数フィールドやレスポンスフィールドなど不透明が多いAPIです。

およそDB知識があれば憶測から便利に使えますが、公式の説明がありませんので、その動作保証はないものとして扱う感じです。
もとより、APIは常連専用の裏メニュー的な位置付けでしたしね…

登録スケジュール構成取得API

www.supersaas.com/api/schedules

アカウント内で登録されているスケジュールのIDと名前を全て取得します。

例:
https://www.supersaas.com/api/schedules.?account=アカウント名&api_key=API Key

コール用フィールド
(物理名)
論理名
概要
レスポンスフォーマットとして「json」もしくは「xml」が指定できます。
(account)
アカウント名
SuperSaaSアカウント名です。
(api_key)
API Key
API利用認証用のAPI Keyです。
主なレスポンスフィールド
(物理名)
論理名
概要
(id)
スケジュールID
管理用のユニークなスケジュール番号です。
(name)
名前
対象スケジュールに設定された名称です。

単純にアカウント内に登録されているスケジュールのIDと名前情報を一覧で取得するAPIです。

登録フォーム構成取得API

www.supersaas.com/api/super_forms

アカウント内で登録されているフォームのIDと名前を全て取得します。

例:
https://www.supersaas.com/api/super_forms.?account=アカウント名&api_key=API Key

コール用フィールド
(物理名)
論理名
概要
レスポンスフォーマットとして「json」と「xml」が指定できます。
(account)
アカウント名
SuperSaaSアカウント名です。
(api_key)
API Key
API利用認証用のAPI Keyです。
主なレスポンスフィールド
(物理名)
論理名
概要
(id)
フォームID
管理用のユニークなフォーム番号です。
(name)
名前
対象フォームに設定された名称です。

単純にアカウント内に登録されているフォームのIDと名前情報を一覧で取得するAPIです。

リソース・サービス構成取得API

www.supersaas.com/api/resources

対象スケジュールのリソースもしくは、サービスのIDと名前を取得できます。
定員制スケジュールに対しては使えません。

例:
https://www.supersaas.com/api/resources.?schedule_id=スケジュールID&account=アカウント名&api_key=API Key

コール用フィールド
(物理名)
論理名
概要
レスポンスフォーマットとして「json」と「xml」が指定できます。
(schedule_id)
スケジュールID
対象スケジュールのIDです。
スケジュールの設定「概要」を表示した時のURL末尾にある数字がスケジュールIDです。
(account)
アカウント名
SuperSaaSアカウント名です。
(api_key)
API Key
API利用認証用のAPI Keyです。
主なレスポンスフィールド
(物理名)
論理名
概要
(id)
リソースID/
サービスID
管理用のユニークなリソース(あるいは、サービス)番号です。
(name)
名前
対象リソース(サービス)に設定された名称です。

サービススケジュールに対してもコールするAPI名は「resources」です。

スケジュール・フォーム構成情報取得API

www.supersaas.com/api/field_list

対象スケジュールのフィールド構成情報を取得できます。
このAPIのレスポンスはJSON型のみです。

例:
https://www.supersaas.com/api/field_list.json?schedule_id=スケジュールID&account=アカウント名&api_key=API Key

コール用フィールド
(物理名)論理名概要
(schedule_id)
スケジュールID
対象スケジュールのIDです。
スケジュールの設定「概要」を表示した時のURL末尾にある数字がスケジュールIDです。
(account)
アカウント名
SuperSaaSアカウント名です。
(api_key)
API Key
API利用認証用のAPI Keyです。
主なレスポンスフィールド
(物理名)
論理名
概要
(name)
物理名
対象カラムの物理名と思われます。
(type)
対象カラムの型情報です。
(label)
論理名
対象カラムの論理名と思われます。
(advanced)
不明
型はboolanで、trueの場合のみ要素として存在しています。
リレーション上の論理的必須項目とかが推測されます。
フィールド名「schedule_id」を「form_id」とすることで、フォームのフィールド構成情報も取得可能なようです。
公式情報に見当たらないので動作保証はありません。

グループ情報取得API

www.supersaas.com/api/groups

アカウント内で登録されているグループ情報を取得できます。

例:
https://www.supersaas.com/api/groups?account=アカウント名&api_key=API Key

コール用フィールド
(物理名)論理名概要
(account)
アカウント名
SuperSaaSアカウント名です。
(api_key)
API Key
API利用認証用のAPI Keyです。
主なレスポンスフィールド
(物理名)
論理名
概要
(id)
管理番号
システム上のユニークな管理番号です。
(name)
名称
ユーザーグループ名です。

ユーザーグループを取得できるAPIですが、IDと名称のみで、ユーザーとの紐付きは取得できないようです。
結局、現状のAPIではユーザーとグループの紐付き情報は引けないようですね。

試してませんが他APIのSQL生成ルーチンは同じと思いますので、「limit」や「offset」なども使えるかもしれません。