Client API

  • 適用範囲: すべてのBoardクラウドサブスクリプション

内容: Client APIユーザーの概要

Client APIユーザーは、Boardエコシステムを他のサードパーティソフトウェア環境に統合する方法を設定したり、カスタマイズすることができます。

初期構成が作成されると、外部環境からBoardのデータを読み取って操作したり、プラットフォーム上で特定の操作を実行できるようになります。

たとえば、HTTPSリクエストを使用して、エンティティ、キューブ、関係、またはエンティティメンバーのリストをJSON形式で取得することができます。 また、レイアウトの実行、カプセルの検索、データベースプロシージャの実行、またはフルテキスト検索の実施が可能になります。

CSVファイルを使用してClient APIユーザーをインポートすることはできません。 Subscription Hubに関連付けると、Boardプラットフォームから手動でインポートできます。

方法: Client APIの構成

  1. [CLIENT API]をクリックし、*印が付いたすべての必須フィールドに入力します。
    クライアントIDとクライアントシークレットは、基本的に、外部クライアントがSubscription Hubからアクセストークンを取得するために使用するユーザー名とパスワードです。 リクエストは、OAuth2クライアント認証情報フロー仕様に準拠する必要があります。
    トークンを取得したら、Boardのリソースにアクセスするために、APIリクエストのヘッダーに追加する必要があります。

    トークンは作成から30日間有効で、その後は自動的に期限切れになります。
    Client APIユーザーが無効化または削除された場合、そのユーザーアカウントによって作成されたすべてのAPIトークンも同時にプロビジョニング解除されます。

  2. [ライセンス(License)]ドロップダウンメニューから、新規ユーザーアカウントを追加する場合と同様に、Client APIに割り当てるライセンスタイプを選択します。

    使用可能なライセンスタイプは、クラウドサブスクリプションによって異なる場合があります。 Boardライセンスの詳細については、こちらのページを参照してください。

    [無効(Disabled)]チェックボックスをオンにすると、外部クライアントは設定された認証情報を使用してAPIリクエストを行えなくなり、そのライセンスは他のユーザーアカウントに割り当てることができます。

    適切な[カルチャー (Culture)]オプションを選択すると、特定の日付と時間の形式をAPIレスポンスに適用することができます。 デフォルトの日付と時間の形式を適用するには、空白のままにします。
  3. [プラットフォーム権限(Platform authorization)]テーブルで、[ロール(Role)]を選択し、ライセンスタイプを割り当て、必要に応じて[管理者(Admin)]チェックボックスをオンにします。このチェックボックスをオンにすると、Boardプラットフォームの構成に従って、外部クライアントからビジネスクリティカルなプロシージャを開始できるようになります。外部クライアントにアクセスさせたい一覧のBoardプラットフォームごとに、これらの属性を設定する必要があります。
    [プラットフォーム権限(Platform authorization)]テーブルの詳細については、この段落を参照してください。
  4. API権限を設定するには、必要なチェックボックスをオンにします。 これは、外部クライアントにアクセスさせたい一覧のBoardプラットフォームごとに行う必要があります(BoardのパブリックAPIに関する詳細は以下の段落を参照)。

    [保存(SAVE)]をクリックするとシステムユーザーが作成され、BoardのパブリックAPIの使用を開始できます。

利用可能なAPIの詳細については、以下の段落を参照してください。

 

Client APIの概要

インストールされているBoardのバージョンに応じて、以下のAPIの一部またはすべてを使用できます。 APIクエリはすべてのBoardプラットフォームで構成する必要があり、APIを操作する各データモデルの[APIクエリ(API queries)]セクションで行います。

BOARDパブリックAPIのクエリ構成

必要な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)]をクリックします。

BoardのAPIドキュメント