

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Attributi calcolati dei profili dei clienti Amazon Connect APIs
<a name="customerprofiles-calculated-attributes-apis"></a>

È possibile utilizzare il seguente attributo calcolato dei profili dei clienti APIs

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

**CreateCalculatedAttributeDefinition**

Crea un nuovo attributo calcolato. Ciò richiede un tipo di oggetto esistente nel dominio. È possibile definire gli attributi che si desidera estrarre da un singolo oggetto di origine e le operazioni matematiche da applicare ad essi in forma aggregata, nonché l'intervallo di tempo e il conteggio degli oggetti.

Dopo la creazione, i nuovi dati oggetto importati nei profili dei clienti verranno inclusi nell'attributo calcolato, che può essere recuperato per un profilo utilizzando l'API `GetCalculatedAttributeForProfile`. Per utilizzare anche i dati storici, specifica `UseHistoricalData` come true. I campi `Readiness` e `Status` nella risposta dell’API forniranno informazioni sullo stato dell’inclusione dei dati storici nell’attributo calcolato. 

La definizione di un attributo calcolato lo rende disponibile per tutti i profili all'interno di un dominio. Ogni attributo calcolato può fare riferimento solo a uno ObjectType o al massimo due campi di tale campo ObjectType.

**Richiesta**

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

**Risposta**

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

**Corpo della richiesta**
+ **CalculatedAttributeName**

  Il nome univoco (per dominio) dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **DisplayName**

  Il nome visualizzato dell'attributo calcolato.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obbligatorio: no
+ **Descrizione**

  La descrizione dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 1000.
  + Obbligatorio: no
+ **UseHistoricalData**

  Se i dati storici importati prima della creazione dell’Attributo calcolato devono essere inclusi nei calcoli.
  + Tipo: booleano
  + Obbligatorio: no
+ **AttributeDetails**

  Dettagli degli attributi utilizzati nella definizione e delle operazioni matematiche coinvolte tra gli attributi. Vedi i seguenti componenti:
  + **Attributes**

    Un elenco di elementi di attributo specificati nell'espressione matematica.
    + **AttributeItem**

      I dettagli di un singolo elemento di attributo specificato nell'espressione matematica.
      + Nome
        + Il nome di un attributo definito in un tipo di oggetto profilo.
        + Tipo: String
  + **Expression**

    Espressione matematica che viene eseguita sugli elementi degli attributi forniti nell'elenco degli attributi. Ogni elemento dell'espressione deve seguire la struttura di\\ "{ObjectTypeName. AttributeName}\\».
    + Esempio: `{ObjA.AttributeA} - {ObjA.AttributeB}`
    + Tipo: stringa
    + Supportiamo solo le seguenti operazioni matematiche: `+ - * /`
    + È impossibile apportare modifiche all'espressione una volta creata una definizione di attributo calcolata
+ **Condizioni**

  Definisce i criteri e la soglia di aggregazione degli attributi calcolati.
  + Tipo: oggetto Condizioni
    + Intervallo
    + ObjectCount
    + Threshold
+ **Range**

  Il periodo di tempo relativo durante il quale i dati vengono inclusi nell'aggregazione.
  + Tipo: oggetto Range
    + Valore: la durata delle unità specificate. `ValueRange` sostituisce Valore.
      + Tipo: Integer
      + Obbligatorio: no
    + ValueRange: Una struttura che consente ai clienti di specificare una finestra temporale relativa in base alla quale includere i dati nell'attributo calcolato. Usa numeri positivi per indicare che l'endpoint appartiene al passato e numeri negativi per indicare che appartiene al futuro. ValueRangesostituisce Value.
      + Tipo: ValueRange
      + Obbligatorio: no
        + Start (Avvio)
          + L’ora di inizio in cui includere oggetti. Usa numeri positivi per indicare che il punto di partenza è passato e numeri negativi per indicare che è futuro.
          + Tipo: numero intero
          + Obbligatorio: sì 
        + End
          + L’orario di fine in cui includere oggetti. Usa numeri positivi per indicare che il punto di partenza è passato e numeri negativi per indicare che è futuro.
          + Tipo: numero intero
          + Obbligatorio: sì 
    + TimestampSource: Un'espressione che specifica il campo dell'oggetto JSON a partire dal quale deve essere analizzata la data. L'espressione deve seguire la struttura di\\ "{. ObjectTypeName <Location of timestamp field in JSON pointer format>}\\». Ad esempio, se il tipo di oggetto è MyType e il codice sorgente è JSON`{"generatedAt": {"timestamp": "1737587945945"}}`, allora TimestampSource dovrebbe esserlo`"{MyType.generatedAt.timestamp}"`.
      + Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 255.
      + Obbligatorio: no
    + TimestampFormat: Viene specificato il formato del campo timestamp nell'oggetto JSON. Questo valore deve essere uno tra EPOCHMILLI (per timestamp di epoca Unix con precisione di livello) o ISO\_8601 (seguendo il formato ISO\_8601 con un second/millisecond livello di precisione, con un offset opzionale di Z o nel formato HH:MM o second/millisecond HHMM.). Ad esempio, se il tipo di TimestampFormat oggetto è e il codice sorgente è JSON, allora dovrebbe esserlo. MyType `{"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}},` `"ISO_8601"`
    + Unità: unità di tempo
      + Valori validi: giorni
      + Obbligatorio: sì
  + Obbligatorio: sì
  + Ambito iniziale: massimo 366 giorni
+ **ObjectCount**

  Il numero di oggetti del profilo utilizzati per l'attributo calcolato.
  + Tipo: numero
  + Intervallo: da 1 a 100
  + Obbligatorio: no
+ **Threshold**

  La logica di confronto per generare un attributo true/false calcolato.
  + Tipo: oggetto Threshold
    + Valore
      + Il valore di una soglia
      + ▬Tipo: stringa
      + Obbligatorio: no
    + Operatore
      + L'operatore della soglia
      + Tipo: ENUM
      + Valori validi:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NON\_EQUAL\_TO
  + Obbligatorio: no
+ **Statistic**

  L'operazione di aggregazione da eseguire per l'attributo calcolato.
  + Tipo: ENUM
  + Valori validi:
    + FIRST\_OCCURRENCE
    + LAST\_OCCURRENCE
    + COUNT
    + SUM
    + MINIMUM
    + MAXIMUM
    + AVERAGE
    + MAX\_OCCURRENCE

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

**UpdateCalculatedAttributeDefinition**

Aggiorna una definizione di attributo calcolato. Gli aggiornamenti sono limitati al nome visualizzato, alla descrizione, all'intervallo di tempo, al numero di oggetti e alla soglia. Questa API supporta gli aggiornamenti parziali, quindi è necessario includere solo i parametri che richiedono l'aggiornamento.

**Nota**  
Quando si aggiornano le Condizioni:  
L’aumento dell’intervallo di date di un attributo calcolato non attiverà l’inclusione di dati storici superiori all’intervallo di date corrente.
TimestampSource e TimestampFormat non può essere aggiornato dopo la creazione di una definizione di attributo calcolato.

**Richiesta**

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

**Risposta**

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

**Corpo della richiesta**
+ **DisplayName**

  Il nome visualizzato dell'attributo calcolato.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obbligatorio: no
+ **Descrizione**

  La descrizione dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 1000.
  + Obbligatorio: no
+ **Condizioni**

  Definisce i criteri e la soglia di aggregazione degli attributi calcolati.
  + Tipo: oggetto Condizioni
    + Intervallo
    + ObjectCount
    + Threshold
+ **Range**

  Il periodo di tempo relativo durante il quale i dati vengono inclusi nell'aggregazione.
  + Tipo: oggetto Range
    + Valore: la durata delle unità specificate
      + Tipo: Integer
      + Obbligatorio: no
    + ValueRange: Una struttura che consente ai clienti di specificare una finestra temporale relativa in base alla quale includere i dati nell'attributo calcolato. Usa numeri positivi per indicare che l'endpoint appartiene al passato e numeri negativi per indicare che appartiene al futuro. ValueRangesostituisce Value.
      + Tipo: ValueRange
      + Obbligatorio: no
        + Start (Avvio)
          + L’ora di inizio in cui includere oggetti. Usa numeri positivi per indicare che il punto di partenza è passato e numeri negativi per indicare che è futuro.
          + Tipo: numero intero
          + Obbligatorio: sì 
        + End
          + L’orario di fine in cui includere oggetti. Usa numeri positivi per indicare che il punto di partenza è passato e numeri negativi per indicare che è futuro.
          + Tipo: numero intero
          + Obbligatorio: sì 
    + Unità: unità di tempo
      + Valori validi: giorni
      + Obbligatorio: sì
  + Obbligatorio: sì
  + Ambito iniziale: massimo 366 giorni
+ **ObjectCount**

  Il numero di oggetti del profilo utilizzati per l'attributo calcolato.
  + Tipo: numero
  + Intervallo: da 1 a 100
  + Obbligatorio: no
+ **Threshold**

  La logica di confronto per generare un attributo true/false calcolato.
  + Tipo: oggetto Threshold
    + Valore
      + Il valore di una soglia
      + ▬Tipo: stringa
      + Obbligatorio: no
    + Operatore
      + L'operatore della soglia
      + Tipo: ENUM
      + Valori validi:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NON\_EQUAL\_TO
  + Obbligatorio: no

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

**GetCalculatedAttributeDefinition**

Recupera una definizione di attributo calcolata.

**Richiesta**

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

**Corpo della richiesta**

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

**Risposta**

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

**Parametri della richiesta URI**
+ **DomainName**

  Il nome univoco del dominio.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **CalculatedAttributeName**

  Il nome univoco (per dominio) dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì

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

**DeleteCalculatedAttributeDefinition**

Elimina una definizione di attributo calcolato esistente. Tieni presente che è possibile eliminare un attributo calcolato predefinito, tuttavia una volta eliminato non sarai in grado di annullare tale azione e dovrai ricrearlo da solo utilizzando l'API `CreateCalculatedAttributeDefinition` se desideri ripristinarlo.

**Richiesta**

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

**Corpo della richiesta**

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

**Risposta**

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

**Parametri della richiesta URI**
+ **DomainName**

  Il nome univoco del dominio.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **CalculatedAttributeName**

  Il nome univoco (per dominio) dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì

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

**ListCalculatedAttributeDefinitions**

Recupera tutte le definizioni degli attributi calcolati per un dominio.

**Richiesta**

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

**Corpo della richiesta**

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

**Risposta**

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

**Parametri della richiesta URI**
+ **DomainName**

  Il nome univoco del dominio.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **MaxResults**

  Il numero massimo di oggetti restituiti per pagina.
  + Intervallo valido: valore minimo di 1. Valore massimo pari a 100
+ **NextToken**

  Il token di impaginazione della precedente chiamata ListCalculatedAttributeDefinition API.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri

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

**GetCalculatedAttributeForProfile**

Avvia il calcolo e recupera il risultato di un singolo attributo calcolato per un singolo profilo.

**Richiesta**

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

**Corpo della richiesta**

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

**Risposta**

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

**Parametri della richiesta URI**
+ **DomainName**

  Il nome univoco del dominio.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **CalculatedAttributeName**

  Il nome univoco (per dominio) dell'attributo calcolato.
  + Tipo: stringa
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì

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

**ListCalculatedAttributesForProfile**

Avvia il calcolo e recupera i risultati di tutti gli attributi calcolati per un singolo profilo.

**Richiesta**

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

**Corpo della richiesta**

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

**Risposta**

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

**Parametri della richiesta URI**
+ **DomainName**

  Il nome univoco del dominio.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
  + Modello: `^[a-zA-Z0-9_-]+$`
  + Obbligatorio: sì
+ **ProfileId**
  + Modello: `[a-f0-9]{32}`
  + Obbligatorio: sì
+ **MaxResults**

  Il numero massimo di oggetti restituiti per pagina.
  + Intervallo valido: valore minimo di 1. Valore massimo pari a 100
+ **NextToken**

  Il token di impaginazione della precedente chiamata ListCalculatedAttributeDefinition API.
  + Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri

------