Client API
- 適用範囲: すべてのBoardクラウドサブスクリプション
内容: Client APIユーザーの概要
Client APIユーザーは、Boardエコシステムを他のサードパーティソフトウェア環境に統合する方法を設定したり、カスタマイズすることができます。
初期構成が作成されると、外部環境からBoardのデータを読み取って操作したり、プラットフォーム上で特定の操作を実行できるようになります。
たとえば、HTTPSリクエストを使用して、エンティティ、キューブ、関係、またはエンティティメンバーのリストをJSON形式で取得することができます。 また、レイアウトの実行、カプセルの検索、データベースプロシージャの実行、またはフルテキスト検索の実施が可能になります。
CSVファイルを使用してClient APIユーザーをインポートすることはできません。 Subscription Hubに関連付けると、Boardプラットフォームから手動でインポートできます。
方法: Client APIの構成
- [CLIENT API]をクリックし、*印が付いたすべての必須フィールドに入力します。
クライアントIDとクライアントシークレットは、基本的に、外部クライアントがSubscription Hubからアクセストークンを取得するために使用するユーザー名とパスワードです。 リクエストは、OAuth2クライアント認証情報フロー仕様に準拠する必要があります。
トークンを取得したら、Boardのリソースにアクセスするために、APIリクエストのヘッダーに追加する必要があります。トークンは作成から30日間有効で、その後は自動的に期限切れになります。
Client APIユーザーが無効化または削除された場合、そのユーザーアカウントによって作成されたすべてのAPIトークンも同時にプロビジョニング解除されます。 - [ライセンス(License)]ドロップダウンメニューから、新規ユーザーアカウントを追加する場合と同様に、Client APIに割り当てるライセンスタイプを選択します。
使用可能なライセンスタイプは、クラウドサブスクリプションによって異なる場合があります。 Boardライセンスの詳細については、こちらのページを参照してください。
[無効(Disabled)]チェックボックスをオンにすると、外部クライアントは設定された認証情報を使用してAPIリクエストを行えなくなり、そのライセンスは他のユーザーアカウントに割り当てることができます。
適切な[カルチャー (Culture)]オプションを選択すると、特定の日付と時間の形式をAPIレスポンスに適用することができます。 デフォルトの日付と時間の形式を適用するには、空白のままにします。 - [プラットフォーム権限(Platform authorization)]テーブルで、[ロール(Role)]を選択し、ライセンスタイプを割り当て、必要に応じて[管理者(Admin)]チェックボックスをオンにします。このチェックボックスをオンにすると、Boardプラットフォームの構成に従って、外部クライアントからビジネスクリティカルなプロシージャを開始できるようになります。外部クライアントにアクセスさせたい一覧のBoardプラットフォームごとに、これらの属性を設定する必要があります。
[プラットフォーム権限(Platform authorization)]テーブルの詳細については、この段落を参照してください。 - API権限を設定するには、必要なチェックボックスをオンにします。 これは、外部クライアントにアクセスさせたい一覧のBoardプラットフォームごとに行う必要があります(BoardのパブリックAPIに関する詳細は以下の段落を参照)。
[保存(SAVE)]をクリックするとシステムユーザーが作成され、BoardのパブリックAPIの使用を開始できます。
利用可能なAPIの詳細については、以下の段落を参照してください。
Client APIの概要
インストールされているBoardのバージョンに応じて、以下のAPIの一部またはすべてを使用できます。 APIクエリはすべてのBoardプラットフォームで構成する必要があり、APIを操作する各データモデルの[APIクエリ(API queries)]セクションで行います。
必要なClient APIユーザーを作成したら、リクエストを行う前に承認トークンを生成する必要があります。
このリクエストから返されたトークンを使用して、APIリクエストの認証を管理する必要があります。
認証は、OAuth 2クライアント認証情報フロー仕様に準拠している必要があります。
承認トークンを取得するには、以下の追加パラメータを設定する必要があります。
- 付与タイプ(Grant Type): "Client Credentials"
- アクセストークンURL(Access Token URL):https://your-subscription-hub-url/connect/token
- 範囲(Scope):"public-api"
- クライアント認証(Client Authentication): "Send client credentials in body"
Client APIユーザーはBoardライセンスを消費しませんが、[プラットフォーム権限(Platform authorization)]テーブルに適用されるロールが常に適用されます。
BoardのパブリックAPI
BoardのパブリックAPIの概要は次のとおりです。
別途記載がある場合を除き、クエリパラメータは大文字と小文字が区別されます。
APIリクエストの認証については、PKCEフローによるOAuth 2.0認可コード仕様もサポートされています。
- APIクエリ(ApiQuery):指定したクエリの結果を返します。 selectにqueryStringパラメータを追加することができます。
デフォルトでは、次のクォータがAPiQuery呼び出しに適用されます。
-500リクエスト/日
-10リクエスト/秒- 送信メソッド: GET
- 構文:/public/{dbName}/query/{queryName}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string queryName 必須 APIクエリ名 path string json オプション query string queryNameパラメータ値は、指定したデータベース内の既存のAPIクエリ名と一致する必要があります。
- 例:
- 基本
?{entity_name}={member_code}
?year=2012
結果:2012年のすべての値を返します -
複数
?{entity_name}={member_code}&{entity_name}={member_code}
?year=2012&city=IT01
結果:2012年かつコードが「IT01」の市のすべて値を返します -
リスト
?{entity_name}={member_code},{member_code},{member_code}
?year=2012,2017,2019
結果:2012、2017、および2019年のすべての値を返します -
範囲
?{entity_name}={member_code}..{member_code}
?year=2015..2019
結果:2015年~2019年までのすべての値を返します -
エスケープ
?{entity_name}="{member_code}"
?city="IT01"
結果:コードが「IT01」の市のすべての値を返します
- 基本
- スキーマ:指定したデータベースのエンティティ、エンティティメンバー、またはキューブのリストを返します。
- 送信メソッド: GET
- 構文:/public/{dbName}/schema/Entities
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string format オプション レスポンスのフォーマット:ツリーまたはフラット形式 query string
- 構文:/public/{dbName}/schema/Entities/{name}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string name 必須 エンティティ名 path string skip オプション 指定した数の検索結果をスキップし、残りの結果を返します query integer take オプション 返す検索結果の数を指定します query integer searchString オプション テキストのクエリ。 大文字と小文字は区別しない query string - 構文:/public/{dbName}/schema/Cubes
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string
- プロシージャ:指定したプロシージャの実行を開始し、実行後、プロシージャのステータスを返します。
- 送信メソッド: POST
- 構文:/public/{dbName}/procedure/Execute/{id}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string id 必須 プロシージャ名 path string
- 送信メソッド: GET
- 構文:/public/{dbName}/procedure/Status/{id}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ dbName 必須 データベース名 path string id 必須 実行プロシージャのクエリレスポンスに含まれるセッションIDの値 path string
- カプセル:特定のカプセルのカプセルツリーを名前で返します(存在する場合はフォルダを含む)。ユーザー名をクエリパラメータとして渡すことで、エンドポイントは、そのユーザーの具体的な権限に基づいて結果を返します。
- 送信メソッド: GET
- 構文:/public/capsules/{capsuleName}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ capsuleName 必須 カプセル名 path string username オプション ユーザー名 query string
- 全文検索(FullTextSearch):プラットフォーム全体の全文検索の結果を返します(検索は、カプセルまたはプレゼンテーションで実行されますが、データモデル、プロシージャ、および検索クエリに一致または含まれる内容が返されます)。
ユーザー名をクエリパラメータとして渡すことで、エンドポイントは、そのユーザーの具体的な権限に基づいて結果を返します。- 送信メソッド: GET
- 構文: /public/search/{textToSearch}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ textToSearch 必須 テキスト検索クエリ path string username オプション ユーザー名 query string
- プレゼンテーション:利用可能なプレゼンテーションのリスト、特定のプレゼンテーションに関するメタデータ、特定のプレゼンテーションのスライドのリスト、特定のスライドに関するメタデータ、画面オブジェクトのリスト/特定のスライドのレイアウトタイトル、単一レイアウトの値を返します。ユーザー名をクエリパラメータとして渡すことで、エンドポイントは、そのユーザーの具体的な権限に基づいて結果を返します。
- 送信メソッド: GET
- 構文:/public/presentations/{name}
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ name オプション プレゼンテーション名 path string username オプション プレゼンテーションの所有者 query string
- 構文:/public/presentations/{name}/slides/{slideName}
- 送信メソッド: GET
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ name 必須 プレゼンテーション名 path string slideName オプション スライド名 path string username オプション プレゼンテーションの所有者 query string
- 構文:/public/presentations/{name}/slides/{slideName}/toolboxes
- 送信メソッド: GET
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ name 必須 プレゼンテーション名 path string slideName 必須 スライド名 path string username オプション プレゼンテーションの所有者 query string
- 構文:/public/presentations/{name}/slides/{slideName}/toolbox/{toolboxName}
- 送信メソッド: GET
- パラメータ
パラメータ 値 説明 パラメータタイプ データタイプ name 必須 プレゼンテーション名 path string slideName 必須 スライド名 path string toolboxName 必須 ツールボックス名 path string username オプション プレゼンテーションの所有者 query string
最新の技術文書は、アクティブな各Boardプラットフォームで入手可能です。 入手するには、目的のプラットフォームに移動し、メインメニューから[データモデル(Data model)]をクリックして、所定のデータモデルを選択した後、[APIクエリ(API queries)]をクリックします。 次に、[APIドキュメントに移動(GO TO API DOCUMENTATION)]をクリックします。