関係API
重要 - 画像/情報は四半期ごとのリリースで更新されます!
四半期ごとのリリースにて、最新の機能・情報を反映し、画像を含めた情報は更新されます。
この記事では、関係オブジェクトのレコードを表示、作成、更新、削除する際に利用できるREST APIの詳細について説明します。
はじめに
関係は、関係タイプおよび関係を作成することで、複雑な顧客構造を正確にモデル化し、管理するための柔軟性を提供します。関係は、カスタマーサクセスを会社の管理だけにとどめず、顧客との各接点 (関係) をCSが管理することを支援します。
認証
API アクセスは、固有のアクセスキーを使用して制御されます。REST API要求を送信するGainsightテナントのアクセスキーを取得するにはGainsight 管理者に連絡してください。アクセス キーを生成または共有する方法に関する詳細情報については、Gainsight管理者はAPI アクセス キーを生成の記事を参照できます。
アクセスキーを取得した後は、GainsightへのすべてのAPIリクエストのリクエストヘッダー「accesskey」の一部として、アクセスキーを渡す必要があります。
注意: AccessKeyに有効期限はありません。
ヘッダー
キー |
値 |
---|---|
アクセスキー |
アクセス キーに関する詳細情報については、Gainsight管理者はAPI アクセス キーを生成の記事を参照できます。 |
コンテンツタイプ |
JSON |
スロットリング制限
API |
レートリミット |
---|---|
同期APIコール |
1 分あたり 100 回の API 呼び出し/1 日あたり 50,000 回の API 呼び出し |
非同期APIコール (GainsightバルクAPI制限) |
1時間あたり10コール/1日あたり100コール |
注意: 上記のAPI制限はすべて*固定ウィンドウレート制限です。
* 固定ウィンドウのレート制限により、特定時間におけるAPIリクエスト数を制限します。たとえば、サーバーには、1分あたり100件のリクエストしか受け付けない固定ウィンドウアルゴリズムを実装するレート制限コンポーネントを含めることができます。時間枠は固定されており、特定の時間に始まります。たとえば、サーバーは午前10:00から午前10:01までの間に100件のリクエストのみを処理します。
関係を表示
このAPIを使用すると、Gainsightインスタンス内のすべての関係を表示できます。
注意: フェッチできるレコードが 5000 を超えると思われる場合は、オフセットを 5001 として別の API 呼び出しを渡し、残りのレコード (ここでも最大 5000 レコード) がフェッチされるようにします。
エンドポイントURL
https://<customer domain>/v1/data/objects/query/relationship
注意: URLで、顧客のドメインをあなたのドメインに置き換えます。
リクエスト本文のサンプル
{ "limit": 100, "offset": 0, "select": [ "Name", "Arr", "Mrr" ], "where": null, "orderBy": { "Name": "asc" } }
パラメーター
パラメーター* |
データタイプ |
値(ある場合) |
説明 |
---|---|---|---|
名前 |
文字列 |
- |
関係名を含む文字列値。 |
Arr |
通貨 |
- |
年間経常収益を含む通貨値。 |
Mrr |
通貨 |
- |
月間収益を含む通貨値 |
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "5e3f7040-2a6d-42f2-bdf1-fe9e02faa665", "data": { "records": [ { "Name": "Account10", "Arr": 200.0, "Mrr": null }, { "Name": "Account100", "Arr": 200.0, "Mrr": null }, { "Name": "Account1000", "Arr": 200.0, "Mrr": null }, { "Name": "Account10000", "Arr": 200.0, "Mrr": null }, { "Name": "Account1001", "Arr": 200.0, "Mrr": null } ] }, "message": null }
失敗レスポンスのサンプル
{ "result": false, "errorCode": "P_5005", "errorDesc": "Column t1.Name1 is either deleted or not exists Query :SELECT \"t1\".\"Name1\" AS \"Name1\",\"t1\".\"Arr\" AS \"Arr\",\"t1\".\"Mrr\" AS \"Mrr\" FROM \"company\" AS \"t1\" ORDER BY \"Name\" ASC LIMIT 100 OFFSET 0", "requestId": "1e8a7b66-511f-4bdf-9f4c-5ef43518fd63", "data": null, "message": null }
関係を作成
このAPIは、会社IDとタイプIDを使用して、Gainsightで関係を作成するために使用できます。
注意: 関係名、タイプID、会社IDは、関係を作成するための必須フィールドです。
リクエスト本文のサンプル
{ "records": [ { "Name": "Iphones", "Arr": "40000000000", "Mrr": "50000000", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "TypeId":"1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02", "Stage":"1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR" }, { "Name": "Ipads", "Arr": "5600000000", "Mrr": "450000000", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "TypeId":"1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02", "Status":"1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R" }, { "Name": "IWatch", "Arr": "5600000000", "Mrr": "4300000", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "TypeId":"1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02", "Status":"1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R" } ] }
パラメーター
パラメーター* |
データタイプ |
値(ある場合) |
説明 |
---|---|---|---|
名前* |
文字列 |
- |
関係名を含む文字列値。 |
Arr |
通貨 |
任意の通貨値 |
年間経常収益を含む通貨値。 |
Mrr |
通貨 |
任意の通貨値 |
月間収益を含む通貨値 |
CompanyId* |
GSID |
会社オブジェクトに存在するはずです。 |
この関係に関連する会社の一意のIDを含むGSID。 |
TypeId* |
GSID |
relationship_typeオブジェクトに存在するはずです。 |
この関係に関連する関係タイプの一意のIDを含むGSID。 |
ステージ |
Dropdownlist |
新規顧客 キックオフ 立ち上げ完了 アダプション チャーン予定 チャーン |
セールスパイプラインにおける関係の現在のステージを含むDropdownlist値。 |
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "6fc8356b-1176-4de2-adea-bf1ebef4db1a", "data": { "count": 2, "errors": [], "records": [ { "Arr": 5600000000.00000, "Comments": null, "Company_Name__gc": null, "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T09:37:02Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSUXOIW4VTSV300OS5H97", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T09:37:02Z", "Mrr": 450000000.00000, "Name": "Ipads", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": null, "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R", "Trend": null, "Type_Name__gc": null, "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" }, { "Arr": 40000000000.00000, "Comments": null, "Company_Name__gc": null, "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T09:37:02Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSUQEVP2PR6XSLWPBIVRK", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T09:37:02Z", "Mrr": 50000000.00000, "Name": "Iphones", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR", "Status": null, "Trend": null, "Type_Name__gc": null, "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" } ] }, "message": null }
失敗レスポンスのサンプル
{ "result": false, "errorCode": "GSOBJ_1012", "errorDesc": "Invalid/Inactive value provided for picklist. (Stage = 123444).", "requestId": "41946de2-0faa-4944-96ec-8e75e46d179a", "data": { "count": 0, "errors": [ [ { "success": false, "oldValue": "123444", "parsedValue": "123444", "errors": [ { "errorMessage": "Invalid/Inactive value provided for picklist.", "errorCode": "GSOBJ_1012", "fieldName": "Stage", "invalidValue": [ "123444" ] } ] } ] ], "records": null }, "message": null }
ルックアップを使用して関係を作成
顧客が会社IDまたはタイプIDを持っていない場合、ルックアップを使用して関係を作成することができます。
リクエスト本文のサンプル
{ "records": [ { "Name": "Iphones", "Arr": "40000000000", "Mrr": "50000000", "Company_Name__gc": "Apple", "Type_Name__gc": "Demo Relationship", "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR" }, { "Name": "Ipads", "Arr": "5600000000", "Mrr": "450000000", "Company_Name__gc": "Apple", "Type_Name__gc": "Demo Relationship", "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R" }, { "Name": "IWatch", "Arr": "5600000000", "Mrr": "4300000", "Company_Name__gc": "Apple", "Type_Name__gc": "Demo Relationship", "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R" } ], "lookups": { "CompanyId": { "isLookup": true, "fields": { "Company_Name__gc": "Name" }, "objectName": "company", "onNoMatch": "ERROR", "multiMatchOption": "FIRSTMATCH", "lookupField": "Gsid" }, "TypeId": { "isLookup": true, "fields": { "Type_Name__gc": "Name" }, "objectName": "relationship_type", "onNoMatch": "ERROR", "multiMatchOption": "FIRSTMATCH", "lookupField": "Gsid" } } }
パラメーター
パラメーター* |
データタイプ |
値(ある場合) |
説明 |
---|---|---|---|
名前* |
文字列 |
- |
関係名を含む文字列値。 |
Arr |
通貨 |
任意の通貨値 |
年間経常収益を含む通貨値。 |
Mrr |
通貨 |
任意の通貨値 |
月間収益を含む通貨値。 |
Company_Name_gc* |
文字列 |
- |
会社名へのルックアップを含む文字列値。 |
Type_Name_gc* |
文字列 |
- |
関係タイプへのルックアップを含む文字列値。 |
ステージ |
Dropdownlist |
新規顧客 キックオフ 立ち上げ完了 アダプション チャーン予定 チャーン |
セールスパイプラインにおける関係の現在のステージを含むDropdownlist値。 |
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "6fc8356b-1176-4de2-adea-bf1ebef4db1a", "data": { "count": 2, "errors": [], "records": [ { "Arr": 5600000000.00000, "Comments": null, "Company_Name__gc": null, "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T09:37:02Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSUXOIW4VTSV300OS5H97", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T09:37:02Z", "Mrr": 450000000.00000, "Name": "Ipads", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": null, "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R", "Trend": null, "Type_Name__gc": null, "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" }, { "Arr": 40000000000.00000, "Comments": null, "Company_Name__gc": null, "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T09:37:02Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSUQEVP2PR6XSLWPBIVRK", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T09:37:02Z", "Mrr": 50000000.00000, "Name": "Iphones", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR", "Status": null, "Trend": null, "Type_Name__gc": null, "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" } ] }, "message": null }
失敗レスポンスのサンプル
ケース1: 関係を作成する際に、会社IDとタイプIDが見つからない場合、以下のエラーメッセージが表示されます。
{ "result": false, "errorCode": "GSOBJ_1008", "errorDesc": null, "requestId": "76e92d82-b2ff-48f5-b701-2954dc6d55f3", "data": null, "message": "No CompanyId resolved for lookup information. Criteria: Company_Name__gc = Apple1 " }
ケース2: リクエストに必須フィールド (関係名、タイプID、会社ID) がない場合、以下のエラーメッセージが表示されます:
{ "result": false, "errorCode": "GSOBJ_1025", "errorDesc": "Data for required columns is absent, please re-check your data.", "requestId": "22a451b7-a90a-4a6d-943d-b4311408f0d4", "data": null, "message": "Required columns are absent. [Name]" }
関係レコードを更新
このAPIは、識別子を使用して関係フィールドを更新するために使用できます。
エンドポイントURL
https://<customer domain>/v1/data/objects/relationship?keys=<Identifier>
注意: URLで、顧客のドメインと識別子を、あなたのドメインと識別子フィールド名に置き換えます。
リクエスト本文のサンプル
{ "records": [ { "Name": "Iphones", "Arr": "78900888098", "Mrr": "45789909090", "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR" } ] }
パラメーター
パラメーター* |
データタイプ |
値(ある場合) |
説明 |
---|---|---|---|
名前* |
文字列 |
- |
関係名を含む文字列値。 |
Arr |
通貨 |
任意の通貨値 |
年間経常収益を含む通貨値。 |
Mrr |
通貨 |
任意の通貨値 |
月間収益を含む通貨値。 |
ステージ |
Dropdownlist |
新規顧客 キックオフ 立ち上げ完了 アダプション チャーン予定 チャーン |
セールスパイプラインにおける関係の現在のステージを含むDropdownlist値。 |
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "32d8232b-c900-4e1f-8b9b-23980334a921", "data": { "count": 1, "errors": [], "records": [ { "Arr": 78900888098.00000, "Comments": null, "Company_Name__gc": "Apple", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T10:58:05Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSU9VIJASIQ3DDAN11LQU", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T10:58:51Z", "Mrr": 45789909090.00000, "Name": "Iphones", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR", "Status": null, "Trend": null, "Type_Name__gc": "Demo Relationship", "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02", "X-GS-MSGID": null } ] }, "message": null }
失敗レスポンスのサンプル
関係フィールドを更新する際に、識別子として指定されたキーと一致するエンティティがない場合、次のようなエラーメッセージが表示されます。
{ "result": false, "errorCode": "GSOBJ_1011", "errorDesc": "No entity matches the given criteria, please re-check your request.", "requestId": "6952e632-de4a-4c6b-88c8-819b7b52591b", "data": null, "message": "Failed to find record for given criteria." }
関係レコードをアップサート
このAPIは、(識別子を使用して) 関係を検索し、それを更新するために使用できます。関係が見つからない場合は、関係を作成します。
エンドポイントURL
https://<customer domain>/v1/data/objects/relationship/upsert?keys=Name
注意: URLで、顧客のドメインと名前を、あなたのドメインと必要なフィールド名に置き換えます。
リクエスト本文のサンプル
{ "records": [ { "Name": "Iphones", "Arr": "500", "Mrr": "4000", "Company_Name__gc": "Apple", "Type_Name__gc": "Demo Relationship", "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR" }, { "Name": "Macbooks", "Arr": "600000", "Mrr": "750000", "Company_Name__gc": "Apple", "Type_Name__gc": "Demo Relationship", "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R" } ], "lookups": { "CompanyId": { "isLookup": true, "fields": { "Company_Name__gc": "Name" }, "objectName": "company", "onNoMatch": "ERROR", "multiMatchOption": "FIRSTMATCH", "lookupField": "Gsid" }, "TypeId": { "isLookup": true, "fields": { "Type_Name__gc": "Name" }, "objectName": "relationship_type", "onNoMatch": "ERROR", "multiMatchOption": "FIRSTMATCH", "lookupField": "Gsid" } } }
パラメーター
パラメーター* |
データタイプ |
値(ある場合) |
説明 |
---|---|---|---|
名前* |
文字列 |
- |
関係名を含む文字列値。 |
Arr |
通貨 |
- |
年間経常収益を含む通貨値。 |
Mrr |
通貨 |
- |
月間収益を含む通貨値。 |
Company_Name_gc* |
文字列 |
- |
会社名へのルックアップを含む文字列値。 |
Type_Name_gc* |
文字列 |
- |
関係タイプへのルックアップを含む文字列値。 |
ステージ |
Dropdownlist |
新規顧客 キックオフ 立ち上げ完了 アダプション チャーン予定 チャーン |
セールスパイプラインにおける関係の現在のステージを含むDropdownlist値。 |
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "ea3984ad-9988-435a-bdd8-cb3fc3b26cf5", "data": { "count": 2, "errors": [], "records": [ { "Arr": 500.00000, "Comments": null, "Company_Name__gc": "Apple", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T11:08:33Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSU9VIJASIQ3DDAN11LQU", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T11:08:33Z", "Mrr": 4000.00000, "Name": "Iphones", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": "1I0054U9FAKXZ0H26HKBJJA7U0VR6BMDZJRR", "Status": null, "Trend": null, "Type_Name__gc": "Demo Relationship", "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" }, { "Arr": 600000.00000, "Comments": null, "Company_Name__gc": "Apple", "CompanyId": "1P02FBB5AFNYP50D8Z8DS12QHN7FOPFBR9QU", "CreatedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "CreatedDate": "2022-06-23T11:08:33Z", "Csat": null, "Csm": null, "CurrentScore": null, "Gsid": "1P05C491NYX7EN2GSU71HPFUJFRVYHTXYQ73", "LifetimeInMonths": null, "ModifiedBy": "1P01C0SC8BPJ2OVKDCJS330DEMQ9MZ8FC87H", "ModifiedDate": "2022-06-23T11:08:33Z", "Mrr": 750000.00000, "Name": "Macbooks", "Nps": null, "OnetimeRevenue": null, "OriginalContractDate": null, "OverallScoreComments": null, "PreviousScore": null, "ScorecardId": null, "SfdcRelationshipId": null, "Stage": null, "Status": "1I0054U9FAKXZ0H26HRLAQ0HW7G720Q2UU8R", "Trend": null, "Type_Name__gc": "Demo Relationship", "TypeId": "1P06ACH2YVJSBHBRPMX48OG68BE1RSH6BB02" } ] }, "message": null }
失敗レスポンスのサンプル
リクエストに必須フィールドがない場合、以下のエラーメッセージが表示されます。
{ "result": false, "errorCode": "GSOBJ_1025", "errorDesc": "Data for required columns is absent, please re-check your data.", "requestId": "ea8e45aa-74e0-4945-b680-4485ecdc3fe7", "data": null, "message": "Required columns are absent. [Name]" }
関係を削除
このAPIは、GSIDを使用して関係を削除するために使用できます。
エンドポイントURL
https://<customer domain>/v1/data/objects/relationship/{GSID}
注意: URLで、顧客のドメインとGSIDを、あなたのドメインと関係のGSIDに置き換えます。
成功レスポンスのサンプル
{ "result": true, "errorCode": null, "errorDesc": null, "requestId": "8863e73c-a465-4fc6-a385-f7b3200720dc", "data": "Record with GSID: 1I0054U9FAKXZ0H26H4H0U5VRD65H9JW66FJ successfully deleted.", "message": null }
失敗レスポンスのサンプル
{ "result": false, "errorCode": "GSOBJ_1XXX", "errorDesc": "No data found for given criteria", "requestId": "58222b97-eaf0-402e-854d-1914987c4b49", "data": null, "message": null }
エラーコード
関係APIのエラーコードに関する詳細情報については、会社、関係、カスタムオブジェクトAPIのエラーコードの記事を参照。