メインコンテンツまでスキップ
Gainsight Japanese Localization

GainsightバルクREST API

重要 - 画像/情報は四半期ごとのリリースで更新されます!

四半期ごとのリリースにて、最新の機能・情報を反映し、画像を含めた情報は更新されます。

 

この記事では、Gainsightカスタムオブジェクトから大量のデータを取得し、ジョブステータスを確認するために使用できるREST APIについて解説します。

重要:GainsightバルクAPIの制限は、1時間当たり10の呼び出し/1日当たり100の呼び出しです

前提条件

このドキュメントでAPIを使うには、必要なサブドメイン又はカスタムドメインが作成されていることを確認してください。

例えば: https://customobjectapi.gainsightcloud.com 又は https://customobjectapi.yourcompany.com

注意:Gainsightに接続するために、エンドポイントURLにあなたのドメインを追加することができます。

ドメインの作成方法の詳細については、Gainsightドメインのセットアップ記事を参照してください。

API認証

API アクセスは、固有のアクセスキーを使用して制御されます。REST API要求を送信するGainsightテナントのアクセスキーを取得するにはGainsight 管理者に連絡してください。アクセス キーを生成または共有する方法に関する詳細情報については、Gainsight管理者はAPI アクセス キーを生成の記事を参照できます。

アクセスキーを取得した後は、GainsightへのすべてのAPIリクエストのリクエストヘッダー「accesskey」の一部として、アクセスキーを渡す必要があります。AccessKeyに有効期限はありません。

Gainsightカスタムオブジェクトデータのダウンロード

Gainsightカスタムオブジェクトからデータをダウンロードするには、次の3つのステップに従います。

  1. 一括ジョブリクエストの送信
  2. 一括APIジョブのステータス
  3. チャンクデータを取得

一括ジョブリクエストの送信

このAPIを使って、一括ジョブリクエストを送信し、Gainsightカスタムオブジェクトからデータをダウンロードすることができます。

方法の詳細

APIの詳細

説明

リクエスト方法

ポスト

リクエストエンドポイント

https://<customer domain>/v3/exports/data/bulk/{objectName}

注意:<customer domain>と{objectName}を会社のドメインとオブジェクト名に置き換えて、ジョブリクエストを送信します。

ヘッダー

  • コンテンツタイプ: アプリケーション/json
  • 受け入れる:アプリケーション/json、テキスト/プレーン、*/*
  • 受け入れるー言語:en-GB,en-US;q=0.9,en;q=0.8
  • 認証: <アクセスキー>

リクエストのサンプル

{
  "select": [
    "Name",
    "Csm",
    "Csm__gr.name",
    "Billing_State__gc",
    "Industry",
    "Segment__gc",
    "Unique_ID__gc"
  ],
  "where": {
    "conditions": [
      {
        "name": "Name",
        "alias": "A",
        "value": [
          "Gainsight"
        ],
        "operator": "CONTAINS"
      },
      {
        "name": "Csm__gr.name",
        "alias": "B",
        "value": [
          "J"
        ],
        "operator": "CONTAINS"
      }
    ],
    "expression": "A OR B"
  },
  "orderBy": {
    "Name": "asc",
    "Csm__gr.name": "desc"
  },
  "limit": 100000,
  "offset": 0
}

リクエスト本文:

  • 読み取りAPIのリクエスト本文には、次の要素を指定することができます。
  • 返されるフィールド
  • どこ:特定の条件に一致するレコードのみを返す条件
  • オペレーター:各フィールドの値の例:EQ:等しい、含む、より大きいなど。各データ型でサポートされている演算子のリストについては、サポートされている演算子セクションを参照してください。
  • 式: 返されるフィールド間の演算子。例:A又はB、AとBなど。
  • オーダー元:レコードが返される順序を昇順 (asc) 又は降順 (desc) で指定する句。
  • 制限:返されるレコードの最大数
    • デフォルトで制限を超えない場合は、制限は100万に設定されます。例:“限界”:1000000
  • オフセット:残りのレコード (昇順又は降順) を取得するレコード番号を入力することができます。例:条件に一致するレコード数が60の場合、オフセットに10を入力すると、10から60までのレコードが取得されます。
    • オフセットが渡されない場合、デフォルトでオフセットは0に設定されます。
サポートされている演算子

データタイプの各フィールドでサポートされている演算子は次の通りです:

データタイプ

サポートされている演算子:

文字列

等しい、等しくない、以上、超、以下、未満、で始まる、含む、含まない、nullである、nullではない、で終わる

ブール

等しい、等しくない

日付

等しい、等しくない、より大きいか等しい、より大きい、より小さいか等しい、より小さい、間、nullである、nullではない

日時

等しい、等しくない、より大きいか等しい、より大きい、より小さいか等しい、より小さい、間、nullである、nullではない

数字

等しい、等しくない、以上、超、以下、未満、イン、インでない 、nullである、nullではない、

GSID

等しい、等しくない、以上、超、以下、未満、で始まる、含む、含まない、nullである、nullではない、で終わる

Eメール

等しい、等しくない、以上、超、以下、未満、で始まる、含む、含まない、nullである、nullではない、で終わる

ドロップダウンリスト

等しい、等しくない、含む、除外する、で始まる、含む、含まない、nullである、nullではない

複数選択ドロップダウンリスト

含む、除外する、null である、null でない

通貨

等しい、等しくない、以上、より大きい、以下、未満、nullである、nullではない、

パーセンテージ

等しい、等しくない、以上、より大きい、以下、未満、nullである、nullではない、

次の表は読み取りAPIでサポートされている各演算子の列挙型演算子を示しています:

オペレーター

列挙演算子

EQ

等しい

NE

等しくない

LT

未満

GT

より大きい

LTE

以下

GTE

より大きい、または等しい

BTW.

~の間

IS_NULL

nullである

IS_NOT_NULL

NULLでない

含む

含む

DOES_NOT_CONTAINS

含まない

STARTS_WITH

から始まる

ENDS_WITH

で終わる

INCLUDES / IN

含まれる

EXCLUDES / NOT_IN

除外する

成功レスポンスのサンプル

{
    "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "e0fb8d9d-76e6-4bdf-bd17-476429a4b214",
    "data": {
        "jobId": "f19962b9-fb47-4f8d-84e3-218ab6146cab",
        "statusURL": "v3/exports/data/job/status/f19962b9-fb47-4f8d-84e3-218ab6146cab",
      }
    "message": null
}

失敗レスポンスのサンプル

  • 選択フィールドが渡されない場合。
{
    "result": false,
    "errorCode": "GSOBJ_ESS_9104",
    "errorDesc": "Atleast one select field should be included in the payload.",
    "requestId": "c16b2fc9-09e7-4bec-b2bb-b611ff2972c3",
    "data": null,
    "message": null
}
  • 無効な選択フィールド又は無効な制限など。
{
    "result": false,
    "errorCode": "GSOBJ_ESS_9150",
    "errorDesc": "Malformed Query Exception.",
    "requestId": "a3e168fa-4fcc-4475-9938-83a1c553b0b8",
    "data": null,
    "message": null
}

一括APIジョブのステータス

このAPIを使って、一括APIのジョブステータスを確認することができます。ジョブの応答には、ジョブのステータス (進行中、完了、又は失敗) が含まれます。

方法の詳細

APIの詳細

説明

リクエスト方法

ゲット

リクエストエンドポイント

https://<customer domain>/{statusURL}

注意:<customer domain>と{statusURL}を会社のドメインと実際のステータスURLに置き換えて、ジョブのステータスを確認します。statusURLは、ジョブに対するジョブ送信応答で返されます。

ヘッダー

  • コンテンツタイプ: アプリケーション/json
  • 受け入れる:アプリケーション/json、テキスト/プレーン、*/*
  • 受け入れるー言語:en-GB,en-US;q=0.9,en;q=0.8
  • 認証: <アクセスキー>

進行中応答のサンプル

ジョブがまだ進行中の場合、応答にはIN_PROGRESSとしてjobStatusが含まれています。

{
    "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "62988764-9e59-4a68-bfdc-069b9bbe783c",
    "data": {
        "jobId": "15f435bf-fb69-4901-a265-ba6e206f38f8",
        "jobStatus": "IN_PROGRESS"
    },
    "message": null
}

成功レスポンスのサンプル

ジョブが完了すると、応答データにはjobStatusが完了として含まれます。

応答にはchunkDetailsが含まれます。エクスポートされたデータのサイズに基づいて、チャンクの数が生成されます。各チャンクにはその特定のチャンクデータを取得するために必要な、対応するchunkURLがあります。対応するチャンクURLと共に、そのチャンクの制限とオフセットが返されます。

エクスポートされたレコードの合計は、応答データのtotalRecordsに表示されます。

{
  "result": true,
  "errorCode": null,
  "errorDesc": null,
  "requestId": "9486dd24-ec9d-4ef9-b6af-862a978b2155",
  "data": {
    "jobId": "c49e1eef-2c54-41c2-94a0-6b4b0cd92a8a",
    "jobStatus": "COMPLETED",
    "totalRecords": 28954,
    "chunkDetails": [
      {
        "chunkURL": "v3/exports/data/job/c49e1eef-2c54-41c2-94a0-6b4b0cd92a8a/chunk/1/results",
        "offset": 0,
        "limit": 20000
      },
      {
        "chunkURL": "v3/exports/data/job/c49e1eef-2c54-41c2-94a0-6b4b0cd92a8a/chunk/2/results",
        "offset": 20000,
        "limit": 8954
      }
    ]
  },
  "message": null
}

失敗レスポンスのサンプル

{
    "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "95e0a38b-181e-475a-bbff-1e6ae269a568",
    "data": {
        "jobId": "15f435bf-fb69-4901-a265-ba6e206f38f8",
        "jobStatus": "FAILED",
        "errorDesc": "Malformed Query Exception.",
        "errorCode": "GSOBJ_ESS_9150",
        "internalRequestId": "85f84db8-0672-4005-a160-7796c9bb9188"
    },
    "message": null
}

チャンクデータを取得

このAPIを使うと、大量のデータをチャンク (複数のファイル) でダウンロードすることができます。ジョブステータスの応答で見つかったチャンクURLを使って、データをダウンロードすることができます。

方法の詳細

APIの詳細

説明

リクエスト方法

ゲット

リクエストエンドポイント

https://<customer domain>/{chunkURL}

注意:<customer domain>と{chunkURL}を会社のドメインと実際のチャンクURLに置き換えて、チャンクデータを取得します。完了したジョブのジョブステータスには、chunkURLが返されます。

ヘッダー

  • コンテンツタイプ: アプリケーション/json
  • 受け入れる:アプリケーション/json、テキスト/プレーン、*/*
  • 受け入れるー言語:en-GB,en-US;q=0.9,en;q=0.8
  • 認証: <アクセスキー>

応答のサンプル

"Name","Csm","Csm__gr.name","Billing_State__gc","Industry","Segment__gc","Unique_ID__gc"
"Acme","1P01E316G9DAPFOLE6RE341037M38PORO8VE","Latisha Jones","Kansas","Government","Mid-Market","JB000056"
"Foo","1P01E316G9DAPFOLE6RE341037M38PORO8VE","Latisha Jones","Virginia","Technology","Mid-Market","JB000021"
"Gainsight","1P01E316G9DAPFOLE6RE341037M38PORO8VE","Mathew","Texas","Non-profit","Mid-Market","JB000111"
  • この記事は役に立ちましたか?