

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Profil Pelanggan Amazon Connect menghitung atribut APIs
<a name="customerprofiles-calculated-attributes-apis"></a>

Anda dapat menggunakan atribut terhitung Profil Pelanggan berikut APIs

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

**CreateCalculatedAttributeDefinition**

Buat atribut terhitung baru. Ini membutuhkan jenis objek yang ada di domain. Anda dapat menentukan atribut yang ingin Anda tarik dari objek sumber tunggal dan operasi matematika untuk diterapkan pada mereka secara agregat serta rentang waktu dan jumlah objek.

Setelah pembuatan, data objek baru yang dimasukkan ke dalam Profil Pelanggan akan disertakan dalam atribut terhitung, yang dapat diambil untuk profil menggunakan API. `GetCalculatedAttributeForProfile` Untuk menggunakan data historis juga, tentukan `UseHistoricalData` sebagai benar. `Status`Bidang `Readiness` dan pada respons API akan memberikan informasi mengenai status menyertakan data historis dalam atribut yang dihitung. 

Mendefinisikan atribut yang dihitung membuatnya tersedia untuk semua profil dalam domain. Setiap atribut yang dihitung hanya dapat mereferensikan satu ObjectType dan paling banyak dua bidang dari itu ObjectType.

**Permintaan**

```
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": {}
}
```

**Respons**

```
{
    "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": {}
}
```

**Permintaan badan**
+ **CalculatedAttributeName**

  Nama unik (per domain) dari atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **DisplayName**

  Nama tampilan atribut yang dihitung.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Wajib: Tidak
+ **Deskripsi**

  Deskripsi atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum 1000.
  + Wajib: Tidak
+ **UseHistoricalData**

  Apakah data historis yang dicerna sebelum Atribut Terhitung dibuat harus disertakan dalam perhitungan.
  + Jenis: Boolean
  + Wajib: Tidak
+ **AttributeDetails**

  Rincian atribut yang digunakan dalam definisi dan operasi matematika yang terlibat antara atribut. Lihat komponen-komponen berikut:
  + **Atribut**

    Daftar item atribut yang ditentukan dalam ekspresi matematika.
    + **AttributeItem**

      Rincian item atribut tunggal yang ditentukan dalam ekspresi matematika.
      + Nama
        + Nama atribut didefinisikan dalam tipe objek profil.
        + Tipe: String
  + **Ekspresi**

    Ekspresi matematika yang dilakukan pada item atribut yang disediakan dalam daftar atribut. Setiap elemen dalam ekspresi harus mengikuti struktur\\ "{ObjectTypeName. AttributeName}\\”.
    + Contoh: `{ObjA.AttributeA} - {ObjA.AttributeB}`
    + Jenis: String
    + Kami hanya mendukung operasi matematika berikut: `+ - * /`
    + Anda tidak dapat membuat modifikasi pada Ekspresi setelah definisi atribut terhitung dibuat
+ **Kondisi**

  Mendefinisikan kriteria agregasi atribut terhitung dan ambang batas.
  + Jenis: Kondisi objek
    + Kisaran
    + ObjectCount
    + Ambang batas
+ **Rentang**

  Periode waktu relatif di mana data dimasukkan dalam agregasi.
  + Jenis: Rentang objek
    + Nilai: Lamanya waktu unit yang ditentukan. `ValueRange`mengesampingkan Nilai.
      + Tipe: Integer
      + Wajib: Tidak
    + ValueRange: Struktur yang memungkinkan pelanggan menentukan jendela waktu relatif di mana data disertakan dalam Atribut Terhitung. Gunakan angka positif untuk menunjukkan bahwa titik akhir ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan. ValueRangemengesampingkan Nilai.
      + Jenis: ValueRange
      + Wajib: Tidak
        + Mulai
          + Waktu mulai kapan harus memasukkan objek. Gunakan angka positif untuk menunjukkan bahwa titik awal ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan.
          + Jenis: Integer
          + Wajib: Ya 
        + Akhiri
          + Waktu akhir kapan harus memasukkan objek. Gunakan angka positif untuk menunjukkan bahwa titik awal ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan.
          + Jenis: Integer
          + Wajib: Ya 
    + TimestampSource: Ekspresi yang menentukan bidang dalam objek JSON Anda dari mana tanggal harus diuraikan. Ekspresi harus mengikuti struktur\\ "{ObjectTypeName. <Location of timestamp field in JSON pointer format>}\\”. Misalnya, jika tipe objek Anda adalah MyType dan sumber JSON adalah`{"generatedAt": {"timestamp": "1737587945945"}}`, maka TimestampSource seharusnya`"{MyType.generatedAt.timestamp}"`.
      + Batasan Panjang: Panjang minimum 1. Panjang maksimum sebesar 255.
      + Wajib: Tidak
    + TimestampFormat: Format bidang timestamp di objek JSON Anda ditentukan. Nilai ini harus salah satu dari EPOCHMILLI (untuk stempel waktu epoch Unix dengan second/millisecond tingkat presisi) atau ISO\_8601 (mengikuti format ISO\_8601 dengan tingkat presisi, dengan second/millisecond offset opsional Z atau dalam format HH: MM atau HHMM.). Misalnya, jika tipe objek Anda adalah MyType dan sumber JSON `{"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}},` maka TimestampFormat seharusnya`"ISO_8601"`.
    + Satuan: Satuan waktu
      + Nilai yang valid: Hari
      + Wajib: Ya
  + Wajib: Ya
  + Lingkup awal: Maks 366 hari
+ **ObjectCount**

  Jumlah objek profil yang digunakan untuk atribut dihitung.
  + Jenis: Angka
  + Rentang: 1 hingga 100
  + Wajib: Tidak
+ **Ambang**

  Logika perbandingan untuk menghasilkan atribut yang true/false dihitung.
  + Jenis: Objek ambang
    + Nilai
      + Nilai ambang batas
      + Tipe: String
      + Wajib: Tidak
    + Operator
      + Operator ambang batas
      + Jenis: ENUM
      + Nilai yang Valid:
        + LEBIH BESAR\_DARI
        + KURANG\_DARI
        + SAMA\_KE
        + NOT\_EQUAL\_TO
  + Wajib: Tidak
+ **Statistik**

  Operasi agregasi untuk melakukan untuk atribut dihitung.
  + Jenis: ENUM
  + Nilai yang Valid:
    + PERTAMA\_OCCURRENCE
    + LAST\_OCCURRENCE
    + COUNT
    + JUMLAH
    + MINIMUM
    + MAKSIMUM
    + RATA-RATA
    + MAX\_OCCURRENCE

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

**UpdateCalculatedAttributeDefinition**

Perbarui definisi atribut yang dihitung. Pembaruan terbatas pada nama tampilan, deskripsi, rentang waktu, jumlah objek, dan ambang batas. API ini mendukung pembaruan sebagian, jadi hanya parameter yang memerlukan pembaruan yang perlu disertakan.

**catatan**  
Saat memperbarui Ketentuan:  
Meningkatkan rentang tanggal atribut yang dihitung tidak akan memicu penyertaan data historis yang lebih besar dari rentang tanggal saat ini.
TimestampSource dan TimestampFormat tidak dapat diperbarui setelah definisi atribut terhitung telah dibuat.

**Permintaan**

```
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"
        }
   }
}
```

**Respons**

```
{
    "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": {}
}
```

**Permintaan badan**
+ **DisplayName**

  Nama tampilan atribut yang dihitung.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Wajib: Tidak
+ **Deskripsi**

  Deskripsi atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum 1000.
  + Wajib: Tidak
+ **Kondisi**

  Mendefinisikan kriteria agregasi atribut terhitung dan ambang batas.
  + Jenis: Kondisi objek
    + Kisaran
    + ObjectCount
    + Ambang batas
+ **Rentang**

  Periode waktu relatif di mana data dimasukkan dalam agregasi.
  + Jenis: Rentang objek
    + Nilai: Lamanya waktu unit yang ditentukan
      + Tipe: Integer
      + Wajib: Tidak
    + ValueRange: Struktur yang memungkinkan pelanggan menentukan jendela waktu relatif di mana data disertakan dalam Atribut Terhitung. Gunakan angka positif untuk menunjukkan bahwa titik akhir ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan. ValueRangemengesampingkan Nilai.
      + Jenis: ValueRange
      + Wajib: Tidak
        + Mulai
          + Waktu mulai kapan harus memasukkan objek. Gunakan angka positif untuk menunjukkan bahwa titik awal ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan.
          + Jenis: Integer
          + Wajib: Ya 
        + Akhiri
          + Waktu akhir kapan harus memasukkan objek. Gunakan angka positif untuk menunjukkan bahwa titik awal ada di masa lalu, dan angka negatif untuk menunjukkannya di masa depan.
          + Jenis: Integer
          + Wajib: Ya 
    + Satuan: Satuan waktu
      + Nilai yang valid: Hari
      + Wajib: Ya
  + Wajib: Ya
  + Lingkup awal: Maks 366 hari
+ **ObjectCount**

  Jumlah objek profil yang digunakan untuk atribut dihitung.
  + Jenis: Angka
  + Rentang: 1 hingga 100
  + Wajib: Tidak
+ **Ambang**

  Logika perbandingan untuk menghasilkan atribut yang true/false dihitung.
  + Jenis: Objek ambang
    + Nilai
      + Nilai ambang batas
      + Tipe: String
      + Wajib: Tidak
    + Operator
      + Operator ambang batas
      + Jenis: ENUM
      + Nilai yang Valid:
        + LEBIH BESAR\_DARI
        + KURANG\_DARI
        + SAMA\_KE
        + NOT\_EQUAL\_TO
  + Wajib: Tidak

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

**GetCalculatedAttributeDefinition**

Ambil definisi atribut yang dihitung.

**Permintaan**

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

**Permintaan Badan**

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

**Respons**

```
{
"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": {}
}
```

**Parameter permintaan URI**
+ **DomainName**

  Nama domain unik.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **CalculatedAttributeName**

  Nama unik (per domain) dari atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya

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

**DeleteCalculatedAttributeDefinition**

Hapus definisi atribut terhitung yang ada. Perhatikan bahwa menghapus atribut terhitung default dimungkinkan, namun setelah dihapus Anda tidak akan dapat membatalkan tindakan itu dan perlu membuatnya sendiri menggunakan `CreateCalculatedAttributeDefinition` API jika Anda menginginkannya kembali.

**Permintaan**

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

**Permintaan Badan**

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

**Respons**

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

**Parameter permintaan URI**
+ **DomainName**

  Nama domain unik.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **CalculatedAttributeName**

  Nama unik (per domain) dari atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya

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

**ListCalculatedAttributeDefinitions**

Ambil semua definisi atribut terhitung untuk domain.

**Permintaan**

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

**Permintaan Badan**

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

**Respons**

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

**Parameter permintaan URI**
+ **DomainName**

  Nama domain unik.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **MaxResults**

  Jumlah maksimum objek yang dikembalikan per halaman.
  + Rentang yang Valid: Nilai minimum 1. Nilai maksimum 100
+ **NextToken**

  Token pagination dari panggilan ListCalculatedAttributeDefinition API sebelumnya.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimal 1024

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

**GetCalculatedAttributeForProfile**

Memulai perhitungan dan mengambil hasil dari atribut terhitung tunggal untuk satu profil.

**Permintaan**

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

**Permintaan Badan**

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

**Respons**

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

**Parameter permintaan URI**
+ **DomainName**

  Nama domain unik.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **CalculatedAttributeName**

  Nama unik (per domain) dari atribut yang dihitung.
  + Jenis: String
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya

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

**ListCalculatedAttributesForProfile**

Memulai perhitungan dan mengambil hasil dari semua atribut yang dihitung untuk satu profil.

**Permintaan**

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

**Permintaan Badan**

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

**Respons**

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

**Parameter permintaan URI**
+ **DomainName**

  Nama domain unik.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
  + Pola: `^[a-zA-Z0-9_-]+$`
  + Wajib: Ya
+ **ProfileId**
  + Pola: `[a-f0-9]{32}`
  + Wajib: Ya
+ **MaxResults**

  Jumlah maksimum objek yang dikembalikan per halaman.
  + Rentang yang Valid: Nilai minimum 1. Nilai maksimum 100
+ **NextToken**

  Token pagination dari panggilan ListCalculatedAttributeDefinition API sebelumnya.
  + Batasan Panjang: Panjang minimum 1. Panjang maksimal 1024

------