Canbus. API は、Canbus. アプリ内のデータ(レコード)にアクセスするためのプログラミング インタフェースを提供する Web API です。
Canbus. API を利用することで、Canbus. のアプリに蓄積されたレコードを外部プログラムから取り出し、活用することができます。また、Canbus. アプリに新しいレコードを作成することも可能です。Canbus. 上に作成した任意のアプリに API でアクセスし、レコード情報を自由に組み合わせて、データ活用の幅を広げることができます。
現在、Canbus. ではテーブルとレコードの操作に関係する API のみを公開しています。
API の種類
Canbus. は以下の API を提供しています。利用方法の詳細は、各リファレンスページを参照してください。
- レコード一覧 API - アプリのレコードを一覧形式で取得します。
- レコード作成 API - アプリにレコードを作成します。
- レコード取得 API - アプリのレコードを取得します。
- レコード編集 API - アプリのレコードを編集します。
- レコード削除 API - アプリのレコードを削除します。
- メタデータ API - アプリのフォーム項目に関する定義情報を取得します。
テーブルで API を有効化する
Canbus. API を利用するには、テーブルごとに API アクセスを有効化する必要があります。API でアクセスしたいテーブルのレコード一覧画面からテーブル設定画面を開き、[一般設定] - [API 権限] セクションまでスクロールします。
[+認証情報の発行] ボタンをクリックすると、API キーが発行され、以下の情報が表示されます。これらの情報を API 呼び出しの認証情報として使用します。
- テナント ID - 貴社のテナントを識別する ID です。
- アプリ ID - アクセス先のテーブルを識別する ID です。同じテーブル上で複数の API キーを発行した場合も、アプリ ID は同一になります。
- API キー - API の呼び出し元を識別するための ID です。複数の異なる外部プログラムから Canbus. API を呼び出す場合、複数の API キーを発行して使い分けることで、特定の API キーだけを一時的に無効化したり、API キーごとに異なる IP アドレス制限を適用することができます。
- API シークレット - API キーを認証する秘密情報です。
画面右下の [保存] ボタンをクリックすると、発行された API キーが有効になります。
テーブルの他の設定と異なり、発行した API キーを有効化するために [適用] ボタンのクリックは必要ありません。API キーは [保存] ボタンをクリックするとすぐに利用可能になります。
HTTP リクエスト仕様
Canbus. API を呼び出すには、次の仕様に従って HTTP リクエストを送信してください。
- HTTPS スキームの HTTP/1.1 プロトコル。暗号化されない HTTP スキームでの呼び出しはサポートされていません。
- Content-Type: "application/json" リクエストヘッダー。すべての API 呼び出しにこのヘッダーが必要です。
- UTF-8 エンコーディングされた JSON 形式のリクエストボディ。Canbus. API では、認証情報とレコード情報の両方をリクエストボディに含める必要があります。リクエストボディ形式の詳細は、各 API のリファレンスページを参照してください。
各 API のエンドポイント URL に、所定の HTTP メソッドでリクエストを送信することで、Canbus. API を呼び出すことができます。
Canbus. API では、HTTP GET メソッドを使用するレコード一覧 API とレコード取得 API を含めて、すべての API でリクエストボディによるデータの送信が必要です。GET メソッドでリクエストボディを送信できない制約があるツールキット(例えば Google Apps Script など)を使用する場合は、代わりに HTTP POST メソッドを使用し、リクエストヘッダーまたはクエリー文字列を使用して本来の HTTP メソッドを送信します。HTTP メソッドの上書きを参照してください。
認証
Canbus. API を呼び出すには認証が必要です。テーブル設定画面で取得した認証情報を、リクエストボディの JSON 文字列に含めて送信します。認証を参照してください。
HTTP ステータス コード
Canbus. API からのレスポンスとして返される HTTP ステータスコードと、エラーに対する基本的な対応方法は次のとおりです。
- 成功
- 200 OK - レコード一覧、レコード取得、レコード編集、レコード削除 API
- 201 Created - レコード作成 API
- エラー
- 400 Bad Request - リクエストボディを Canbus. API リクエストとして解釈できない場合。リクエストボディが正しい JSON 形式になっていることを確認してください。curl などのコマンドライン ツールから API を呼び出している場合、JSON 文字列に含まれるダブルクォーテーションをすべてエスケープしてください。
- 401 Unauthorized - 認証に失敗した場合。指定した認証情報が正しく、API キーが有効になっていることを確認してください。リクエストヘッダーで Content-Type: "application/json" が指定されていない場合にも、このエラーが発生します。
- 403 Forbidden - 許可されていないアクセス元 IP アドレスからリクエストした場合。テーブルの API 権限設定で、アクセス元 IP アドレスを許可してください。
- 404 Not Found - 指定された URL が存在しない場合。リファレンスページで各 API のエンドポイント URL を確認してください。
- 405 Method Not Allowed - 指定された HTTP メソッドがその API で無効な場合。リファレンスページで各 API のエンドポイント HTTP メソッドを確認してください。
- 413 Payload Too Large - リクエステボディのサイズが大きすぎ、処理できない場合。制限事項を確認してください。
- 429 Too Many Requests - レートリミットの上限に達した場合。API の呼び出しレートを下げ、リトライする必要があります。
- 500 Internal Server Error - その他のサーバーエラーが発生した場合。繰り返しエラーが返される場合は、サポートにお問い合わせください。
- 400 Bad Request - リクエストボディを Canbus. API リクエストとして解釈できない場合。リクエストボディが正しい JSON 形式になっていることを確認してください。curl などのコマンドライン ツールから API を呼び出している場合、JSON 文字列に含まれるダブルクォーテーションをすべてエスケープしてください。