イベント API
重要 - 画像/情報は四半期ごとのリリースで更新されます!
四半期ごとのリリースにて、最新の機能・情報を反映し、画像を含めた情報は更新されます。
この記事では、イベント発行APIを使ってGainsightでイベントを発行する方法について解説します。
認証/認可
APIへのアクセスは、SharedSecretキーを使用して制御されます。Gainsightからイベント (その他のシステム基盤) の送信者を登録する必要があります。Gainsightは、パブリッシャの設定時に使用されるこの登録用の一意のキーを生成します。このキーは特定の組織に対して常に一意であり、セキュリティで保護する必要があります。
ヘッダー
|
キー |
値 |
|---|---|
|
eventVersion |
v01 |
|
sharedSecret: |
<シークレットトークン> |
|
eventName |
sample_event |
|
コンテンツタイプ |
JSON |
|
tenantId |
<テナントID> |
スロットリング制限
|
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を発行
イベント発行APIは、Gainsightでイベントを発行するのに役立つ外部APIです。
リクエストボディのサンプル
{
"hello":"world"
}
システムアセットイベントを発行
システムアセットイベントは、様々なシステムが時間ベースのスケジュールに依存せずに、相互に通信するための接続メカニズムとして機能するために導入されています。
システムアセットイベントを公開するためのサンプルリクエスト本文
{
"tenantId":"tid",
"assetType": "OBJECTS", // DO NOT USE COLLECTION_MASTER
"assetId": "Company", //ObjectName
"operationType": "DATA", //DATA, METADATA
"operation": "UPSERT", // INSERT, UPDATE, UPSERT,DELETE
"objectType": "CUSTOM",
"objectName":"Company",
"consumer": "BULK_API",
"dbCollectionName": "salesReport_fdsgw45w45353fetrkgn4k56456",
"dataStoreType": "REDSHIFT",
"status": "PARTIAL_SUCCESS",
"bucketName": "devs3_abcxyz",
"successFilePath": "MDA-Data-Ingest/input/success/success.csv",
"errorFilePath": "MDA-Data-Ingest/input/error/error.csv",
"successCount": 5,
"failureCount": 2,
"totalCount": 7,
"errorMessage": "",
"jobId": "a3aa9b9f-7b9a-48f0-9fe8-2fe0f1b5a10b",
"requestId": "",
"consumerProperties": {
"jobName": "load to sales",
"s3FilePath": "",
"operation": "UPSERT",
"collectionId": "",
"projectId": "",
"uc_id": ""
}
}
パラメーター
|
パラメータ |
日付タイプ |
値 |
説明 |
|---|---|---|---|
|
assetType* |
文字列 |
オブジェクト/ルール/DD |
イベントを構成するためのアセットを含む文字列値。 |
|
assetId* |
文字列 |
アセットのUniqueID |
assetTypeの一意の識別IDであるAssetIdを含む文字列値。 |
|
演算子* |
文字列 |
挿入、更新、アップサート、削除 |
イベント要求で実行する必要がある、操作の種類を示す文字列値。 |
|
tenantId |
文字列 |
tenantId |
イベントを構成する必要があるorigin/tenantId/instanceIdを含む文字列値。 |
成功レスポンスのサンプル
{
"result": true,
"data": {
"eventId": "259d8882-8b13-4ded-b2b0-39c43359739d"
},
"message": "Successfully received event, please keep the event Id for further reference",
"messages": [
"Successfully received event, please keep the event Id for further reference"
]
}
失敗レスポンスのサンプル
{
"result": false,
"errorCode": "1001",
"errorDesc": "Oops, something went wrong! Please contact Tech Support to report. ",
"requestId": "4e1f3665-eb88-4017-8dff-2c8d400c9111",
"message": "Event is not registered",
"messages": [
"Event is not registered"
]
}
エラーコード
|
エラーコード |
エラーメッセージ |
理由 |
HTTPステータス コード |
|---|---|---|---|
|
1001 |
ウップス!何かが間違っていた!テクニカルサポートに連絡して報告してください。 |
イベントが登録されていません |
400 |