

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Connect Customer Profiles の計算属性 API
<a name="customerprofiles-calculated-attributes-apis"></a>

次の Customer Profiles の計算された属性 API を使用できます

------
#### [ CreateCalculatedAttributeDefinition ]

**CreateCalculatedAttributeDefinition**

新しい計算された属性を作成します。これには、ドメイン内の既存のオブジェクトタイプが必要です。1 つのソースオブジェクトから取得する属性と、それらにまとめて適用する数学演算を定義できます。また、時間範囲やオブジェクト数も定義できます。

作成後、Customer Profiles に取り込まれた新しいオブジェクトデータが計算された属性に含まれます。このデータは `GetCalculatedAttributeForProfile` API を使用してプロファイル用に取得できます。履歴データも使用するには、`UseHistoricalData` を true に指定します。API レスポンスの `Readiness` フィールドと `Status` フィールドには、計算属性に履歴データを含めるステータスに関する情報が表示されます。

計算された属性を定義すると、ドメイン内のすべてのプロファイルで使用できるようになります。それぞれの計算された属性は、1 つの ObjectType と、その ObjectType から最大 2 つのフィールドのみを参照できます。

**リクエスト**

```
POST /domains/{{DomainName}}/calculated-attributes/{{CalculatedAttributeName}}
```

```
{
    "CalculatedAttributeName": "string",
    "DisplayName": "string",
    "Description": "string",
    "AttributeDetails": {
       "Attributes": [
           {
               "Name": "string"
           }
           ...
       ],
       "Expression": "string",
    },
    "Statistic": "AVERAGE" | "COUNT" | "SUM" | "FIRST_OCCURRENCE" | "LAST_OCCURRENCE" | "MINIMUM" | "MAXIMUM" | "MAX_OCCURRENCE",
    "Conditions": {
        "Range": {
             "Value": "number",
             "Units": "string"
        },
        "ObjectCount": "number",
        "Threshold": {
            "Value": "string",
            "Operator": "EQUAL_TO" | "GREATER_THAN" | "LESS_THAN" | "NOT_EQUAL_TO"
        }
     },
     "Tags": {}
}
```

**レスポンス**

```
{
    "CalculatedAttributeName": "string",
    "DisplayName": "string",
    "Description": "string",
    "AttributeDetails": {
       "Attributes": [
           {
               "Name": "string"
           }
           ...
       ],
       "Expression": "string",
    },
    "Statistic": "AVERAGE" | "COUNT" | "SUM" | "FIRST_OCCURRENCE" | "LAST_OCCURRENCE" | "MINIMUM" | "MAXIMUM" | "MAX_OCCURRENCE"
    "Conditions": {
        "Range": {
             "Value": "number",
             "Units": "string"
        },
        "ObjectCount": "number",
        "Threshold": {
            "Value": "string",
            "Operator": "EQUAL_TO" | "GREATER_THAN" | "LESS_THAN" | "NOT_EQUAL_TO"
        }
    },
    "CreatedAt": number,
    "LastUpdatedAt": number,
    "Tags": {}
}
```

**リクエストボディ**
+ **CalculatedAttributeName**

  計算された属性の一意の (ドメインごとの) 名前。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **DisplayName**

  計算された属性の表示名。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + 必須: いいえ
+ **説明**

  計算された属性の説明。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 1,000
  + 必須: いいえ
+ **UseHistoricalData**

  計算属性の作成前に取り込まれた履歴データを計算に含めるかどうか。
  + 型: ブール値
  + 必須: いいえ
+ **AttributeDetails**

  定義に使用されている属性と、属性間の算術演算の詳細。以下のコンポーネントを参照してください。
  + **属性**

    数式で指定された属性項目のリスト。
    + **AttributeItem**

      数式で指定された 1 つの属性項目の詳細。
      + 名前
        + プロファイルオブジェクトタイプで定義される属性の名前。
        + タイプ: 文字列
  + **Expression**

    属性リストに指定されている属性項目に対して実行される数式。式の各要素は \\"{ObjectTypeName.AttributeName}\\" の構造に従っている必要があります。
    + 例: `{ObjA.AttributeA} - {ObjA.AttributeB}`
    + タイプ: 文字列
    + 次の算術演算のみがサポートされています: `+ - * /`
    + 計算された属性定義を作成した後は、式を変更することはできません。
+ **条件**

  計算された属性集計基準としきい値を定義します。
  + タイプ: 条件オブジェクト
    + Range
    + ObjectCount
    + Threshold
+ **[Range]** (範囲)

  データが集計に含まれる相対的な期間。
  + 型: 範囲オブジェクト
    + 値: 指定した単位の時間の長さ。`ValueRange` は値を上書きします。
      + タイプ: 整数
      + 必須: いいえ
    + ValueRange: 計算属性にデータを含む相対的な期間を顧客が指定するための構造。終了点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。ValueRange は Value を上書きします。
      + 型: ValueRange
      + 必須: いいえ
        + Start
          + オブジェクトを含める開始時刻。開始点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。
          + タイプ: 整数
          + 必須: はい 
        + 修了
          + オブジェクトを含める終了時刻。開始点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。
          + タイプ: 整数
          + 必須: はい 
    + TimestampSource: 日付を解析する JSON オブジェクトのフィールドを指定する式。式は \\"{ObjectTypeName.<Location of timestamp field in JSON pointer format>}\\" の構造に従う必要があります。例えば、オブジェクトタイプが MyType で、ソース JSON が `{"generatedAt": {"timestamp": "1737587945945"}}` の場合、TimestampSource は `"{MyType.generatedAt.timestamp}"` である必要があります。
      + 長さの制限：最小長 1、最大長は 255 です。
      + 必須: いいえ
    + TimestampFormat: JSON オブジェクトのタイムスタンプフィールドを指定する形式。この値は、EPOCHMILLI (秒/ミリ秒レベルの精度を持つ Unix エポックタイムスタンプの場合)、または ISO\_8601 (秒/ミリ秒レベルの精度を持つ ISO\_8601 形式に従い、オプションのオフセットは Z または HH:MM または HHMM の形式) のいずれかである必要があります。例えば、オブジェクトタイプが MyType で、ソース JSON が `{"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}},` の場合、TimestampFormat は `"ISO_8601"` である必要があります。
    + 単位: 時間の単位
      + 有効な値: 日
      + 必須: はい
  + 必須: はい
  + 初期スコープ: 最大 366 日
+ **ObjectCount**

  計算された属性に使用されるプロファイルオブジェクトの数。
  + タイプ: 数値
  + 範囲: 1 から 100
  + 必須: いいえ
+ **Threshold**

  true/false の計算された属性を生成する比較ロジック。
  + タイプ: しきい値オブジェクト
    + 値
      + しきい値の値
      + タイプ: 文字列
      + 必須: いいえ
    + オペレーター
      + しきい値の演算子
      + 型: ENUM
      + 有効な値: 
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + 必須: いいえ
+ **Statistic**

  計算された属性に対して実行する集計操作。
  + 型: ENUM
  + 有効な値: 
    + FIRST\_OCCURRENCE
    + LAST\_OCCURRENCE
    + COUNT
    + SUM
    + MINIMUM
    + MAXIMUM
    + AVERAGE
    + MAX\_OCCURRENCE

------
#### [ UpdateCalculatedAttributeDefinition ]

**UpdateCalculatedAttributeDefinition**

計算された属性定義を更新します。更新は、表示名、説明、時間範囲、オブジェクト数、およびしきい値に制限されます。この API は部分更新をサポートしているため、更新が必要なパラメータのみを含める必要があります。

**注記**  
Conditions を更新する場合:  
計算属性の日付範囲を拡大しても、現在の日付範囲を超える履歴データは含まれないことに注意してください。
TimestampSource と TimestampFormat は、計算属性定義の作成後に更新することはできません。

**リクエスト**

```
PUT /domains/{{DomainName}}/calculated-attributes/{{CalculatedAttributeName}}
```

```
{
    "DisplayName": "string",
    "Description": "string",
    "Conditions": {
        "Range": {
             "Value": "number",
             "Units": "string"
        },
        "ObjectCount": "number",
        "Threshold": {
            "Value": "string",
            "Operator": "EQUAL_TO" | "GREATER_THAN" | "LESS_THAN" | "NOT_EQUAL_TO"
        }
   }
}
```

**レスポンス**

```
{
    "CalculatedAttributeName": "string",
    "DisplayName": "string",
    "Description": "string",
    "AttributeDetails": {
       "Attributes": [
           {
               "Name": "string"
           }
           ...
       ],
       "Expression": "string",
    },
    "Statistic": "AVERAGE" | "COUNT" | "SUM" | "FIRST_OCCURRENCE" | "LAST_OCCURRENCE" | "MINIMUM" | "MAXIMUM" | "MAX_OCCURRENCE"
    "Conditions": {
        "Range": {
             "Value": "number",
             "Units": "string"
        },
        "ObjectCount": "number",
        "Threshold": {
            "Value": "string",
            "Operator": "EQUAL_TO" | "GREATER_THAN" | "LESS_THAN" | "NOT_EQUAL_TO"
        }
    },
    "CreatedAt": number,
    "LastUpdatedAt": number,
    "Tags": {}
}
```

**リクエストボディ**
+ **DisplayName**

  計算された属性の表示名。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + 必須: いいえ
+ **説明**

  計算された属性の説明。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 1,000
  + 必須: いいえ
+ **条件**

  計算された属性集計基準としきい値を定義します。
  + タイプ: 条件オブジェクト
    + Range
    + ObjectCount
    + Threshold
+ **[Range]** (範囲)

  データが集計に含まれる相対的な期間。
  + タイプ: 範囲オブジェクト
    + 値: 指定した単位の時間の長さ
      + タイプ: 整数
      + 必須: いいえ
    + ValueRange: 計算属性にデータを含む相対的な期間を顧客が指定するための構造。終了点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。ValueRange は Value を上書きします。
      + 型: ValueRange
      + 必須: いいえ
        + Start
          + オブジェクトを含める開始時刻。開始点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。
          + タイプ: 整数
          + 必須: はい 
        + 修了
          + オブジェクトを含める終了時刻。開始点が過去のものであることを示すには正の数値を使用し、将来のものであることを示すには負の数値を使用します。
          + タイプ: 整数
          + 必須: はい 
    + 単位: 時間の単位
      + 有効な値: 日
      + 必須: はい
  + 必須: はい
  + 初期スコープ: 最大 366 日
+ **ObjectCount**

  計算された属性に使用されるプロファイルオブジェクトの数。
  + タイプ: 数値
  + 範囲: 1 から 100
  + 必須: いいえ
+ **Threshold**

  true/false の計算された属性を生成する比較ロジック。
  + タイプ: しきい値オブジェクト
    + 値
      + しきい値の値
      + タイプ: 文字列
      + 必須: いいえ
    + オペレーター
      + しきい値の演算子
      + 型: ENUM
      + 有効な値: 
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + 必須: いいえ

------
#### [ GetCalculatedAttributeDefinition ]

**GetCalculatedAttributeDefinition**

計算された属性定義を取得します。

**[リクエスト]**

```
GET /domains/{{DomainName}}/calculated-attributes/{{CalculatedAttributeName}}
```

**リクエストボディ**

```
The request does not have a request body.
```

**[応答]**

```
{
"CalculatedAttributeName": "string",
    "DisplayName": "string",
    "Description": "string",
    "AttributeDetails": {
"Attributes": [
           {
"Name": "string"
           }
           ...
       ],
       "Expression": "string",
    },
    "Statistic": "AVERAGE" | "COUNT" | "SUM" | "FIRST_OCCURRENCE" | "LAST_OCCURRENCE" | "MINIMUM" | "MAXIMUM" | "MAX_OCCURRENCE"
"Conditions": {
"Range": {
      "Unit": "string",
      "Value": number
      "ValueRange"
        {
            "Start": number 
            "End": number 
        },
      "TimestampFormat": "string", 
      "TimestampSource": "string"
    },
        "ObjectCount": "number",
        "Threshold": {
"Value": "string",
            "Operator": "EQUAL_TO" | "GREATER_THAN" | "LESS_THAN" | "NOT_EQUAL_TO"
        }
    },
    "UseHistoricalData" boolean,
  "Status": "PREPARING" | "IN_PROGRESS" | "COMPLETED" | "FAILED",
  "Readiness": {
        "ProgressPercentage": number, 
        "Message": "string", 
        },
    "CreatedAt": number,
    "LastUpdatedAt": number,
    "Tags": {}
}
```

**URI リクエストパラメータ**
+ **DomainName**

  ドメインの一意の名前。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **CalculatedAttributeName**

  計算された属性の一意の (ドメインごとの) 名前。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい

------
#### [ DeleteCalculatedAttributeDefinition ]

**DeleteCalculatedAttributeDefinition**

既存の計算された属性定義を削除します。デフォルトの計算された属性を削除することは可能ですが、いったん削除するとそのアクションを元に戻すことはできず、元に戻す場合は `CreateCalculatedAttributeDefinition` API を使用して自分で再作成する必要があることに注意してください。

**[リクエスト]**

```
DELETE /domains/{{DomainName}}/calculated-attributes/{{CalculatedAttributeName}}
```

**リクエストボディ**

```
The request does not have a request body.
```

**[応答]**

```
The response does not have a response body.
```

**URI リクエストパラメータ**
+ **DomainName**

  ドメインの一意の名前。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **CalculatedAttributeName**

  計算された属性の一意の (ドメインごとの) 名前。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい

------
#### [ ListCalculatedAttributeDefinitions ]

**ListCalculatedAttributeDefinitions**

ドメインのすべての計算された属性定義を取得します。

**[リクエスト]**

```
GET /domains/{{DomainName}}/calculated-attributes?max-results=MaxResults&next-token=NextToken
```

**リクエストボディ**

```
The request does not have a request body.
```

**[応答]**

```
{ 
    "Items": [
        {
            "UseHistoricalData": boolean,
            "ReadinessStatus": PREPARING | IN_PROGRESS | COMPLETED | FAILED,
            "CalculatedAttributeName": "string", 
            "CreatedAt": number, 
            "Description": "string", 
            "DisplayName": "string", 
            "LastUpdatedAt": number, 
            "Tags": { 
                "string" : "string" 
            }
        } 
    ], 
    "NextToken": "string"
}
```

**URI リクエストパラメータ**
+ **DomainName**

  ドメインの一意の名前。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **MaxResults**

  ページごとに返されるオブジェクトの最大数。
  + 有効範囲: 最小値 1 最大値 100
+ **NextToken**

  前回の ListCalculatedAttributeDefinition API 呼び出しからのページ分割トークン。
  + 長さの制限：最小長 1、最大長 1,024

------
#### [ GetCalculatedAttributeForProfile ]

**GetCalculatedAttributeForProfile**

計算を開始し、1 つのプロファイルの 1 つの計算された属性の結果を取得します。

**[リクエスト]**

```
GET /domains/{{DomainName}}/profile/{{ProfileId}}/calculated-attributes/{{CalculatedAttributeName}}
```

**リクエストボディ**

```
The request does not have a request body.
```

**[応答]**

```
{
"Name": "string",
    "DisplayName": "string",
    "Value": "string",
    "IsDataPartial": "string",
    "LastObjectTimestamp" : number
}
```

**URI リクエストパラメータ**
+ **DomainName**

  ドメインの一意の名前。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **CalculatedAttributeName**

  計算された属性の一意の (ドメインごとの) 名前。
  + タイプ: 文字列
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい

------
#### [ ListCalculatedAttributesForProfile ]

**ListCalculatedAttributesForProfile**

計算を開始し、1 つのプロファイルのすべての計算された属性の結果を取得します。

**[リクエスト]**

```
GET /domains/{{DomainName}}/profile/{{ProfileId}}/calculated-attributes?max-results=MaxResults&next-token=NextToken
```

**リクエストボディ**

```
The request does not have a request body.
```

**[応答]**

```
{
"Items": [
        {
"CalculatedAttributeName": "string",
            "DisplayName": "string",
            "Value": "string",
            "IsDataPartial" : "string",
            "LastObjectTimestamp" : number
        },
        ...
    ],
    "NextToken": "string"
}
```

**URI リクエストパラメータ**
+ **DomainName**

  ドメインの一意の名前。
  + 長さの制限：最小長 1、最大長 64
  + パターン: `^[a-zA-Z0-9_-]+$`
  + 必須: はい
+ **ProfileId**
  + パターン: `[a-f0-9]{32}`
  + 必須: はい
+ **MaxResults**

  ページごとに返されるオブジェクトの最大数。
  + 有効範囲: 最小値 1 最大値 100
+ **NextToken**

  前回の ListCalculatedAttributeDefinition API 呼び出しからのページ分割トークン。
  + 長さの制限：最小長 1、最大長 1,024

------