Event streams
次のエンドポイントを使用して、顧客ワークスペースのイベントトピックを管理します。
レート制限
Event streamsリソースには、次のレート制限があります:
| タイプ | リソース | クォータ |
|---|---|---|
| すべて | すべてのEvent streamsエンドポイント | 1分あたり60リクエスト |
クイックリファレンス
| タイプ | リソース | 説明 |
|---|---|---|
| GET | /api/managed_users/:managed_user_id/event_streams/topics | 顧客ワークスペースのトピック一覧を取得します。 |
| POST | /api/managed_users/:managed_user_id/event_streams/topics | 顧客ワークスペースにトピックを作成します。 |
| GET | /api/managed_users/:managed_user_id/event_streams/topics/:topic_id | 顧客ワークスペースのトピックをIDで取得します。 |
| PUT | /api/managed_users/:managed_user_id/event_streams/topics/:topic_id | 顧客ワークスペースのトピックを更新します。 |
| PUT | /api/managed_users/:managed_user_id/event_streams/topics/:topic_id/purge | 顧客ワークスペースのトピックをパージします。 |
| DELETE | /api/managed_users/:managed_user_id/event_streams/topics/:topic_id | 顧客ワークスペースのトピックを削除します。 |
トピックの一覧表示
顧客ワークスペースのイベントトピック一覧を取得します。必要に応じてフィルタリングや並べ替えを行い、レスポンスにトピックのスキーマを含めることができます。
GET https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topicsURLパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
クエリパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string 任意 | 大文字と小文字を区別するタイトルでイベントトピックをフィルタリングします。部分一致をサポートしているため、タイトルの一部を検索できます。 |
| sort | string 任意 | 結果の並べ替え方法を定義します。オプションには、最新のアクティビティを先頭に表示するactivity、name、idがあります。デフォルトでidに設定されます。 |
| include_schema | boolean optional | trueに設定すると、各イベントトピックのスキーマがレスポンスペイロードに含まれます。デフォルトではfalseに設定されます。 |
サンプルリクエスト
このリクエストは、名前にキーワードOrderを含むイベントトピックを取得します。結果はイベントトピックIDで並べ替えられ、各イベントトピックのスキーマがレスポンスペイロードに含まれます。
curl -X GET 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics?name=Order&sort=id&include_schema=true' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"count": 2,
"data": [
{
"id": 334525,
"name": "Order placed",
"folder_id": 986754,
"created_at": "2024-09-25T09:47:54.089-07:00",
"updated_at": "2024-09-25T09:47:54.089-07:00",
"retention": 604800,
"schema": [
{
"control_type": "text",
"label": "Order ID",
"name": "OrderId",
"optional": false,
"type": "string"
},
{
"control_type": "text",
"label": "Customer ID",
"name": "CustomerId",
"optional": false,
"type": "string"
},
{
"control_type": "text",
"label": "Amount",
"name": "Amount",
"optional": false,
"type": "string"
},
{
"control_type": "date",
"label": "Order date",
"name": "OrderDate",
"optional": false,
"parse_output": "date_conversion",
"render_input": "date_conversion",
"type": "date_time"
}
],
"description": "Triggered when a new order is placed."
},
{
"id": 334526,
"name": "Order shipped",
"folder_id": 986754,
"created_at": "2024-09-25T09:51:12.130-07:00",
"updated_at": "2024-09-25T09:51:12.130-07:00",
"retention": 604800,
"schema": [
{
"control_type": "text",
"label": "Order ID",
"name": "OrderId",
"optional": false,
"type": "string"
},
{
"control_type": "text",
"label": "Shipping carrier",
"name": "ShippingCarrier",
"optional": false,
"type": "string"
},
{
"control_type": "text",
"label": "Tracking number",
"name": "TrackingNumber",
"optional": false,
"type": "string"
},
{
"control_type": "date",
"label": "Shipped date",
"name": "ShippedDate",
"optional": false,
"parse_output": "date_conversion",
"render_input": "date_conversion",
"type": "date_time"
}
],
"description": "Triggered when an order is shipped."
}
]
}トピックの作成
顧客ワークスペースに新しいイベントトピックを作成します。
POST https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topicsURLパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string 必須 | 新しいトピックの名前。トピック名はフォルダ内で一意である必要があります。 |
| folder_id | number optional | トピックを格納するフォルダまたはプロジェクトのID。 Workatoはデフォルトで、顧客ワークスペースのEvent streamsプロジェクトにトピックを配置します。このプロジェクトがまだ存在しない場合は作成します。 |
| schema | array 必須 | 新しいトピックのスキーマ定義。有効なWorkatoスキーマ形式に準拠している必要があります。 |
| schema[control_type] | string 必須 | トピックスキーマ内のフィールドのコントロールタイプ。 |
| schema[label] | string 必須 | トピックスキーマ内のフィールドに表示されるラベル。 |
| schema[name] | string 必須 | トピックスキーマ内のフィールドの名前識別子。 |
| schema[optional] | boolean 必須 | フィールドが任意かどうかを指定します。 |
| schema[type] | string 必須 | スキーマ内のフィールドのデータ型。 |
| retention | number optional | トピックの保持時間(秒)。指定しない場合、デフォルトは168時間(604,800秒)です。 |
| 説明 | string 任意 | 新しいトピックの説明。 |
サンプルリクエスト
このリクエストは、Order deliveredという名前の新しいイベントトピックを作成します。トピックには、注文ID、配達日、注文を配達する担当者またはサービスに関する任意の情報などの詳細が含まれます。
curl -X POST 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": ":name",
"folder_id": :folder_id_value,
"schema": [
{
"control_type": ":control_type",
"label": ":label",
"name": ":schema_name",
"optional": :true_or_false,
"type": ":type"
}
],
"retention": :retention_value,
"description": ":description"
}'レスポンス
{
"data": {
"id": 334527,
"name": "Order delivered",
"folder_id": 986754,
"created_at": "2024-09-25T09:56:32.986-07:00",
"updated_at": "2024-09-25T09:56:32.986-07:00",
"retention": 604800,
"schema": [
{
"control_type": "text",
"label": "Order ID",
"name": "OrderId",
"optional": false,
"type": "string"
},
{
"control_type": "date",
"label": "Delivery date",
"name": "DeliveryDate",
"optional": false,
"type": "date_time"
},
{
"control_type": "text",
"label": "Delivered by",
"name": "DeliveredBy",
"optional": true,
"type": "string"
}
],
"description": "Triggered when an order is delivered."
}
}フォルダが見つかりません
存在しないfolder_idを指定すると、リクエストが失敗し、次のレスポンスが返されます。
{
"message": "Folder not found"
}IDでトピックを取得
顧客ワークスペースのイベントトピックをIDで取得します。
GET https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_idURLパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
| topic_id | number 必須 | 取得するイベントトピックのID。トピック一覧の取得エンドポイントを使用して、トピックIDを取得できます。 |
サンプルリクエスト
このリクエストは、一意の:topic_idでOrder deliveredイベントトピックを取得します。
curl -X GET 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_id' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data": {
"id": 334527,
"name": "Order delivered",
"folder_id": 986754,
"created_at": "2024-09-25T09:56:32.986-07:00",
"updated_at": "2024-09-25T09:56:32.986-07:00",
"retention": 604800,
"schema": [
{
"control_type": "text",
"label": "Order ID",
"name": "OrderId",
"optional": false,
"type": "string"
},
{
"control_type": "date",
"label": "Delivery date",
"name": "DeliveryDate",
"optional": false,
"type": "date_time"
},
{
"control_type": "text",
"label": "Delivered by",
"name": "DeliveredBy",
"optional": true,
"type": "string"
}
],
"description": "Triggered when an order is delivered."
}
}トピックの更新
顧客ワークスペースのイベントトピックを更新します。
PUT https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_idURLパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
| topic_id | number 必須 | 更新するイベントトピックのID。トピック一覧の取得エンドポイントを使用して、トピックIDを取得できます。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string 任意 | 更新されたトピックの名前。 |
| folder_id | number optional | トピックの移動先となるフォルダまたはプロジェクトのID。 Workatoはデフォルトで、顧客ワークスペースのEvent streamsプロジェクトにトピックを配置します。このプロジェクトがまだ存在しない場合は作成します。 |
| schema | array optional | 更新されたトピックのスキーマ定義。有効なWorkatoスキーマ形式に準拠している必要があります。 |
| schema[control_type] | string 任意 | トピックスキーマ内のフィールドのコントロールタイプ。 |
| schema[label] | string 任意 | トピックスキーマ内のフィールドに表示されるラベル。 |
| schema[name] | string 任意 | トピックスキーマ内のフィールドの名前識別子。 |
| schema[optional] | boolean optional | フィールドが任意かどうかを指定します。 |
| schema[type] | string 任意 | スキーマ内のフィールドのデータ型。 |
| retention | number optional | トピックの保持時間(秒)。指定しない場合、デフォルトは168時間(604,800秒)です。 |
| 説明 | string 任意 | 更新されたトピックの説明。 |
サンプルリクエスト
このリクエストは、Recipientという名前の新しいフィールドを追加して、Order deliveredイベントトピックのトピックスキーマを更新します。
curl -X PUT 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_id' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": ":name",
"schema": [
{
"control_type": ":control_type",
"label": ":label",
"name": ":schema_name",
"optional": :true_or_false,
"type": ":type"
}
],
"retention": :retention_value,
"description": ":description"
}'レスポンス
{
"data": {
"id": 334527,
"name": "Order delivered",
"folder_id": 986754,
"created_at": "2024-09-25T09:56:32.986-07:00",
"updated_at": "2024-09-25T09:56:32.986-07:00",
"retention": 604800,
"schema": [
{
"control_type": "text",
"label": "Order ID",
"name": "OrderId",
"optional": false,
"type": "string"
},
{
"control_type": "date",
"label": "Delivery date",
"name": "DeliveryDate",
"optional": false,
"type": "date_time"
},
{
"control_type": "text",
"label": "Delivered by",
"name": "DeliveredBy",
"optional": true,
"type": "string"
},
{
"control_type": "text",
"label": "Recipient",
"name": "Recipient",
"optional": false,
"type": "string"
}
],
"description": "Triggered when an order is delivered."
}
}フォルダが見つかりません
存在しないfolder_idを指定すると、リクエストが失敗し、次のレスポンスが返されます。
{
"message": "Folder not found"
}トピックのパージ
顧客ワークスペースのイベントトピックの履歴からすべてのメッセージを消去し、トピックの統計情報をリセットします。
PUT https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_id/purgeURLパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
| topic_id | number 必須 | パージするイベントトピックのID。トピック一覧の取得エンドポイントを使用して、トピックIDを取得できます。 |
サンプルリクエスト
このリクエストは、Order deliveredイベントトピックの履歴からすべてのメッセージを消去し、トピック統計をリセットします。
curl -X PUT 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_id/purge' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data": {
"status": "success"
}
}トピックの削除
顧客ワークスペースのイベントトピックを削除します。
DELETE https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_idURLパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客のアカウントIDまたはExternal ID。外部IDにはプレフィックスEが必要で、URLエンコードされている必要があります。例: EA2300。 |
| topic_id | number 必須 | 削除するイベントトピックのID。トピック一覧の取得エンドポイントを使用して、トピックIDを取得できます。 |
サンプルリクエスト
このリクエストは、Order deliveredイベントトピックを削除します。
curl -X DELETE 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/event_streams/topics/:topic_id' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data": {
"status": "success"
}
}最終更新日: