Canbus. サービスについて
Canbus. サービスとは,データを管理,共有するためのアプリをノーコードで作成可能なサービスである.料金体系は非常にシンプルで,ユーザ単位のライセンス体型ではなく,利用サイズ(e.g. レコード数)を想定して,それに適したプランを選択し,月額で費用が発生する体型となっている.Canbus. はトライアル環境を提供しているが,トライアル環境ではAPI仕様に関する確認は行えず,API仕様の確認は商用環境でのみ(検証用に別途契約を行うことは想定していない)となり,記事が少なかったため,私が試した内容について記事にしてみました.
Canbus. のAPI仕様について
Canbus. のAPIを用いると,レコード一覧の取得,レコードの作成,レコードの取得,レコードの編集,レコードの削除が行える.APIを利用するためには,まず,テーブルのAPIを有効化する必要がある.テーブル単位で有効化を行う必要があり,それごとにAPIの認証情報が発行される.このときに払い出される「テナントID」,「アプリID」,「API キー」,「APIシークレット」の4つの情報は,この後のAPI連携で必要になる.
Canbus. APIで試したこと
- curlを用いてCanbus. のAPIからレコードを取得
以下コマンドをプロンプトに打ち込むと,レコードの一覧を取得できる.このとき,""ではなく,\"\"("を認識させるために"の前に\をつけること)となる点に注意すること.
curl -s -o response.txt %url% -H "Content-Type: application/json" -X GET -d "{\"tenant_id\": \"<テナントID>\", \"app_id\": \"<アプリID>\",\"api_key\": \"<APIキー>\",\"api_secret\": \"<APIシークレット>\",\"record_list\": {}}"
具体例を交えると,「テナントID」が"AAAA",「アプリID」が"BBBB",「APIキー」が"CCCC",「APIシークレット」が"DDDD"だったとすると,以下のようになる.
curl -s -o response.txt %url% -H "Content-Type: application/json" -X GET -d "{\"tenant_id\": \"AAAA\", \"app_id\": \"BBBB\",\"api_key\": \"CCCC\",\"api_secret\": \"DDDD\",\"record_list\": {}}"
すると,以下のような出力結果が得られる.relustsの中身はレコードの作り方で変化する.
{"authen":"OK","results":[{"result":"0","count":XXXX,"length":20,"records":[{"_id":"XXXXXXXXXX","Text_management_number":"XXXXXXXXXX","Text_sna":"XXXXXXXXXX","AppLink_measure_section":"XXXXXXXXXX"},Text_management_number":"XXXXXXXXXX","Text_sna":"XXXXXXXXXX","AppLink_measure_section":"XXXXXXXXXX"},Text_management_number":"XXXXXXXXXX","Text_sna":"XXXXXXXXXX","AppLink_measure_section":"XXXXXXXXXX"}]}]}
このとき,Canbus. のAPI仕様を違反している,または入力パラメータに間違いがある,またはそもそもnetwork reachabilityでない場合(Canbus. 側で接続元IPに制限を欠けている場合を含む),HTTPステータスコードのエラーコードが返却される.