Engage API を使用する

Engage API を使用して、 Engageとの間でデータを送受信します。

エンドポイント

Engage API は現在、次のエンドポイントをサポートしています。
操作 説明
ダッシュボードデータの読み取り ダッシュボード レポートに含まれるすべてのプロジェクト すべてのワークフローのアイデアからグローバル データ値を取得します。
アイデアを作成 新しいプロジェクトのアイデアを作成します。
ジョブステータスの取得 指定したバックグラウンド ジョブの状態情報を取得します。

ダッシュボードデータの読み取り

Read Dashboard Data 」操作は、ダッシュボード・レポートに含まれるすべてのプロジェクトとすべてのワークフローのアイデアのグローバル・プロジェクト・データを取得します。このエンドポイントは、データのクエリに OData 標準を使用します。

次の OData 関数はサポートされていません。
  • $filter
  • $apply
  • $orderby
  • $select
  • $expand
  • $count
  • $skip
  • $top

依頼

Read Dashboard Data リクエストは、次のように構成できます。 subscription-id をサブスクリプションの ID に置き換えます。
方法 リクエストURL
GET https://engage.minitab.com/api/v1/subscription-id/export/odata
要求ヘッダー
ヘッダ 説明
Authorization 必須。 Bearer 認証スキームを介して API トークンを提供します。
サンプルリクエスト
Request: GET 
https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/export/odata 
HTTP/1.1

Headers: Authorization: Bearer token

応答

応答には、HTTP 状態コード、一連の応答ヘッダー、および本文が含まれます。

ステータスコード
要求が成功すると、ステータス コード 200 (OK) が返されます。
レスポンスヘッダー
この操作のレスポンスには、次のヘッダーが含まれます。応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。すべての標準ヘッダーは、 HTTP/1.1 プロトコル仕様に準拠しています。
ヘッダ 説明
Content-Type 応答本文のメディアの種類を示します。
レスポンス本文
応答本文には、要求されたデータが JSON 形式で含まれ、OData 標準に従って構造化されています。以下は、レスポンスの例です。
{
    "value": [
        {
            "ProjectId": "12345",
            "ProjectName": "Project A",
            "Status": "Active",
            "StartDate": "2025-01-01",
            "EndDate": "2025-12-31"
        },
        {
            "ProjectId": "67890",
            "ProjectName": "Project B",
            "Status": "Completed",
            "StartDate": "2024-01-01",
            "EndDate": "2024-12-31"
        }
    ]
}
応答の例
Response Status:
HTTP/1.1 200 OK

Response headers:
Content-Type: application/json

Response Body:
{
    "value": [
        {
            "ProjectId": "12345",
            "ProjectName": "Project A",
            "Status": "Active",
            "StartDate": "2025-01-01",
            "EndDate": "2025-12-31"
        },
        {
            "ProjectId": "67890",
            "ProjectName": "Project B",
            "Status": "Completed",
            "StartDate": "2024-01-01",
            "EndDate": "2024-12-31"
        }
    ]
}

アイデアを生み出す

Create Idea 操作は、サブスクリプションでプロジェクト アイデアを作成するジョブを開始します。

依頼

次に示すように、 Create Idea 要求を作成できます。subscription-id をサブスクリプションの ID に置き換えます。
方法 リクエストURL
POST https://engage.minitab.com/api/v1/subscription-id/Item
リクエストヘッダー
ヘッダ 説明
Authorization 必須。Bearer 認証スキームを介して API トークンを提供します。トークンには、 アイデアの作成 権限が必要です。
Content-Type 必須。 application/jsonである必要があります。
リクエスト本文
要求本文は、1 つの必須プロパティ FileNameを持つ JSON オブジェクトで構成されます。
{
    "FileName": "name of idea"
}
オプションで、アイデアにデータフィールド値を設定する Data オブジェクトを含めることができます。データは、フィールドのコード名と値のオブジェクトにマップされた単一値のカテゴリ コード名で構成されます。
{
    "FileName": "name of idea",
    "Data": {
        "projectsummary": {
            "belt_level": "Green Belt",
            "critical_to": "Long text\r\nwith\r\nnewlines"
        },
        "annualized_financial": {
            "annualized_actual_hard_savings": 100
        }
    }
}

共有可能な有効なデータ フィールドとカテゴリ名のリストを表示するために、データ アーキテクトは Engage web app設定 タブから CSV ファイルをダウンロードできます。

アイデア フォームのコントロールに共有されるデータ フィールドのみを、 Create Idea 操作要求で指定できます。また、リッチ テキスト、数式、読み取り専用、またはデータ テーブル フィールドの指定はサポートされていません。アイデア フォームのコントロール、またはリッチ テキスト、式、読み取り専用、またはデータ テーブル フィールドと共有されていないフィールドにデータを提供しようとすると、エラーが発生します。

サンプルリクエスト
Request:
POST https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/Item HTTP/1.1

Headers:
Authorization: Bearer token
Content-Type: application/json
Content-Length: 287

Body:
{
    "FileName": "idea name",
    "Data": {
        "_category1": {
            "_text_field": "text value",
            "_date_field": "2025-03-20",
            "_number_field": 3.1415
        },
        "_category2": {
            "_text_field": "text value",
            "_date_field": "2025-03-20",
            "_number_field": 3.1415     
        }
    }   
}

応答

応答には、HTTP 状態コード、一連の応答ヘッダー、および本文が含まれます。

ステータスコード
操作が成功すると、ステータスコード 202 (Accepted) が返されます。
レスポンスヘッダー
この操作のレスポンスには、次のヘッダーが含まれます。応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。すべての標準ヘッダーは、 HTTP/1.1 プロトコル仕様に準拠しています。
ヘッダ 説明
Location ジョブのステータスを取得するために使用できる URL。
レスポンス本文
Create Idea 操作の応答には、プロジェクトのアイデアを作成するジョブの識別子が含まれています。JSON 形式を次に示します。
{
    "JobId": "479f6bea-360f-40ba-be0a-bd06c032c4fb"
}
応答の例
Response Status:
HTTP/1.1 202 ACCEPTED

Response headers:
Location: /api/v1/4906fcd496d94f738304dfcde754000a/job/479f6bea-360f-40ba-be0a-bd06c032c4fb
Content-Type: application/json

Response Body:
{
    "JobId": "479f6bea-360f-40ba-be0a-bd06c032c4fb"
}

ジョブの状態を取得する

Get Job Status 操作は、指定したジョブの状態を取得します。

依頼

Get Job Status リクエストは、次のように構成できます。 subscription-id をサブスクリプションの ID に、 job-id を有効なジョブ識別子に置き換えます。
方法 リクエストURL
GET https://engage.minitab.com/api/v1/subscription-id/job/job-id
要求ヘッダー
ヘッダ 説明
Authorization 必須。Bearer 認証スキームを介して API トークンを提供します。
サンプルリクエスト
Request:
GET https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/job/479f6bea-360f-40ba-be0a-bd06c032c4fb HTTP/1.1

Headers:
Authorization: Bearer token

応答

応答には、HTTP ステータス コードと本文が含まれます。

ステータスコード
要求が成功すると、ステータス コード 200 (OK) が返されます。
レスポンス本文
Get Job Status 操作の応答には、次の例に示すように、ジョブのさまざまな可能な状態を表す Status 整数プロパティが含まれています。
{
    "Status": 1
} 
ジョブステータス 説明
0 ジョブがまだ開始されていない
1 ジョブが始まりました。進行中で
2 ジョブが完了しました
3 ジョブが失敗しました
4 ジョブが見つかりませんでした
5 ジョブがキャンセルされました
応答の例
Response Status:
HTTP/1.1 200 OK

Response headers:
Content-Type: application/json

Response Body:
{
    "Status": 2
}