

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Atributos calculados de los perfiles de clientes de Amazon Connect APIs
<a name="customerprofiles-calculated-attributes-apis"></a>

Puede utilizar el siguiente atributo calculado de los perfiles de cliente APIs

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

**CreateCalculatedAttributeDefinition**

Permite crear un nuevo atributo calculado. Requiere un tipo de objeto existente en el dominio. Puede definir los atributos que desea extraer de un único objeto de origen y las operaciones matemáticas que se les aplicarán de forma agregada, así como el intervalo de tiempo y el recuento de objetos.

Tras la creación, los nuevos datos de objetos de ingesta en Perfiles de clientes se incluirán en el atributo calculado, que puede recuperarse para un perfil mediante la API `GetCalculatedAttributeForProfile`. Para utilizar también datos históricos, especifique `UseHistoricalData` como verdadero. Los campos `Readiness` y `Status` de la respuesta de la API proporcionarán información sobre el estado de la inclusión de datos históricos en el atributo calculado. 

Al definir un atributo calculado, estará disponible para todos los perfiles de un dominio. Cada atributo calculado solo puede hacer referencia a uno ObjectType y, como máximo, a dos campos ObjectType.

**Solicitud**

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

**Respuesta**

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

**Cuerpo de la solicitud**
+ **CalculatedAttributeName**

  El nombre único (por dominio) del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **DisplayName**

  Nombre para mostrar del atributo calculado.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obligatorio: no
+ **Descripción**

  Descripción del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1000 caracteres.
  + Obligatorio: no
+ **UseHistoricalData**

  Indica si los datos históricos ingeridos antes de crear el atributo calculado deben incluirse en los cálculos.
  + Tipo: booleano
  + Obligatorio: no
+ **AttributeDetails**

  Detalles de los atributos utilizados en la definición y las operaciones matemáticas implicadas entre los atributos. Consulte los siguientes componentes:
  + **Atributos**

    Lista de elementos de atributo especificados en la expresión matemática.
    + **AttributeItem**

      Los detalles de un único elemento de atributo especificado en la expresión matemática.
      + Name
        + Nombre de un atributo definido en un tipo de objeto de perfil.
        + Tipo: cadena
  + **Expression**

    Expresión matemática que se realiza en los elementos de atributo proporcionados en la lista de atributos. Cada elemento de la expresión debe seguir la estructura de\\ "{ObjectTypeName. AttributeName}\\».
    + Ejemplo: `{ObjA.AttributeA} - {ObjA.AttributeB}`
    + Tipo: String
    + Solo admitimos las siguientes operaciones matemáticas: `+ - * /`
    + No se pueden realizar modificaciones en la expresión una vez que se ha creado una definición de atributo calculada
+ **Condiciones**

  Define los criterios y el umbral de agregación de atributos calculados.
  + Tipo: objeto Conditions
    + Range
    + ObjectCount
    + Threshold
+ **Rango**

  Periodo de tiempo relativo durante el que se incluyen los datos en la agregación.
  + Tipo: objeto Range
    + Value: periodo de tiempo de las unidades especificadas. `ValueRange` anula a Value.
      + Tipo: entero
      + Obligatorio: no
    + ValueRange: una estructura que permite a los clientes especificar un intervalo de tiempo relativo durante el cual se incluyen los datos en el atributo calculado. Utilice números positivos para indicar que el punto final está en el pasado y números negativos para indicar que está en el futuro. ValueRangeanula el valor.
      + Tipo: ValueRange
      + Obligatorio: no
        + Inicio
          + Hora en que se va a empezar a incluir objetos. Utilice números positivos para indicar que el punto de inicio está en el pasado y números negativos para indicar que está en el futuro.
          + Tipo: entero
          + Obligatorio: sí 
        + Final
          + Hora en que se van a dejar de incluir objetos. Utilice números positivos para indicar que el punto de inicio está en el pasado y números negativos para indicar que está en el futuro.
          + Tipo: entero
          + Obligatorio: sí 
    + TimestampSource: una expresión que especifica el campo del objeto JSON a partir del cual se debe analizar la fecha. La expresión debe seguir la estructura de\\ "{ObjectTypeName. <Location of timestamp field in JSON pointer format>}\\». Por ejemplo, si tu tipo de objeto es JSON MyType y la fuente es JSON`{"generatedAt": {"timestamp": "1737587945945"}}`, entonces TimestampSource debería serlo`"{MyType.generatedAt.timestamp}"`.
      + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 255 caracteres.
      + Obligatorio: no
    + TimestampFormat: Se especifica el formato del campo de fecha y hora de tu objeto JSON. Este valor debe ser EPOCHMILLI (para marcas de época de Unix con precisión de nivel) o ISO\_8601 (siguiendo el formato ISO\_8601 con precisión de second/millisecond nivel, con second/millisecond un desplazamiento opcional de Z o en el formato HH:MM o HHMM.). Por ejemplo, si el tipo de objeto es y el JSON de origen debería serlo. MyType `{"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}},` TimestampFormat `"ISO_8601"`
    + Unidad: unidad de tiempo
      + Valores válidos: días
      + Obligatorio: sí
  + Obligatorio: sí
  + Alcance inicial: máximo de 366 días
+ **ObjectCount**

  Número de objetos de perfil utilizados para el atributo calculado.
  + Tipo: Number
  + Intervalo: de 1 a 100
  + Obligatorio: no
+ **Threshold**

  La lógica de comparación para generar un atributo true/false calculado.
  + Tipo: objeto Threshold
    + Valor
      + Valor del umbral
      + Tipo: cadena
      + Requerido: no
    + Operador
      + Operador del umbral
      + Tipo: ENUM
      + Valores válidos:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + Obligatorio: no
+ **Estadística**

  La operación de agregación que se va a realizar para el atributo calculado.
  + Tipo: ENUM
  + Valores válidos:
    + FIRST\_OCCURRENCE
    + LAST\_OCCURRENCE
    + COUNT
    + SUM
    + MINIMUM
    + MAXIMUM
    + AVERAGE
    + MAX\_OCCURRENCE

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

**UpdateCalculatedAttributeDefinition**

Permite actualizar una definición de atributo calculada. Las actualizaciones se limitan al nombre para mostrar, la descripción, el intervalo de tiempo, el recuento de objetos y el umbral. Esta API admite actualizaciones parciales, por lo que solo es necesario incluir los parámetros que requieren actualización.

**nota**  
Al actualizar Conditions:  
Aumentar el intervalo de fechas de un atributo calculado no desencadenará la inclusión de datos históricos superiores al intervalo de fechas actual.
TimestampSource y TimestampFormat no se puede actualizar después de crear una definición de atributo calculada.

**Solicitud**

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

**Respuesta**

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

**Cuerpo de la solicitud**
+ **DisplayName**

  Nombre para mostrar del atributo calculado.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obligatorio: no
+ **Descripción**

  Descripción del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1000 caracteres.
  + Obligatorio: no
+ **Condiciones**

  Define los criterios y el umbral de agregación de atributos calculados.
  + Tipo: objeto Conditions
    + Range
    + ObjectCount
    + Threshold
+ **Rango**

  Periodo de tiempo relativo durante el que se incluyen los datos en la agregación.
  + Tipo: objeto Range
    + Valor: periodo de tiempo de las unidades especificadas
      + Tipo: entero
      + Obligatorio: no
    + ValueRange: una estructura que permite a los clientes especificar un período de tiempo relativo durante el cual se incluyen los datos en el atributo calculado. Utilice números positivos para indicar que el punto final está en el pasado y números negativos para indicar que está en el futuro. ValueRangeanula el valor.
      + Tipo: ValueRange
      + Obligatorio: no
        + Inicio
          + Hora en que se va a empezar a incluir objetos. Utilice números positivos para indicar que el punto de inicio está en el pasado y números negativos para indicar que está en el futuro.
          + Tipo: entero
          + Obligatorio: sí 
        + Final
          + Hora en que se van a dejar de incluir objetos. Utilice números positivos para indicar que el punto de inicio está en el pasado y números negativos para indicar que está en el futuro.
          + Tipo: entero
          + Obligatorio: sí 
    + Unidad: unidad de tiempo
      + Valores válidos: días
      + Obligatorio: sí
  + Obligatorio: sí
  + Alcance inicial: máximo de 366 días
+ **ObjectCount**

  Número de objetos de perfil utilizados para el atributo calculado.
  + Tipo: Number
  + Intervalo: de 1 a 100
  + Obligatorio: no
+ **Threshold**

  La lógica de comparación para generar un atributo true/false calculado.
  + Tipo: objeto Threshold
    + Valor
      + Valor del umbral
      + Tipo: cadena
      + Requerido: no
    + Operador
      + Operador del umbral
      + Tipo: ENUM
      + Valores válidos:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + Obligatorio: no

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

**GetCalculatedAttributeDefinition**

Permite recuperar una definición de atributo calculada.

**Solicitud**

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

**Cuerpo de la solicitud**

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

**Respuesta**

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

**Parámetros de solicitud del URI**
+ **DomainName**

  Nombre único del dominio.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **CalculatedAttributeName**

  El nombre único (por dominio) del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí

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

**DeleteCalculatedAttributeDefinition**

Permite eliminar una definición de atributo calculado existente. Tenga en cuenta que es posible eliminar un atributo calculado predeterminado; no obstante, una vez eliminado, no podrá deshacer esa acción y tendrá que volver a crearlo por su cuenta mediante la API `CreateCalculatedAttributeDefinition` si desea recuperarlo.

**Solicitud**

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

**Cuerpo de la solicitud**

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

**Respuesta**

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

**Parámetros de solicitud del URI**
+ **DomainName**

  Nombre único del dominio.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **CalculatedAttributeName**

  El nombre único (por dominio) del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí

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

**ListCalculatedAttributeDefinitions**

Permite recuperar todas las definiciones de atributos calculados para un dominio.

**Solicitud**

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

**Cuerpo de la solicitud**

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

**Respuesta**

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

**Parámetros de solicitud del URI**
+ **DomainName**

  Nombre único del dominio.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **MaxResults**

  Número máximo de objetos devueltos por página.
  + Rango válido: valor mínimo de 1. Valor máximo de 100.
+ **NextToken**

  El token de paginación de la llamada a la ListCalculatedAttributeDefinition API anterior.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024

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

**GetCalculatedAttributeForProfile**

Inicia el cálculo y recupera el resultado de un único atributo calculado para un único perfil.

**Solicitud**

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

**Cuerpo de la solicitud**

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

**Respuesta**

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

**Parámetros de solicitud del URI**
+ **DomainName**

  Nombre único del dominio.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **CalculatedAttributeName**

  El nombre único (por dominio) del atributo calculado.
  + Tipo: String
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí

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

**ListCalculatedAttributesForProfile**

Inicia el cálculo y recupera los resultados de todos los atributos calculados para un único perfil.

**Solicitud**

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

**Cuerpo de la solicitud**

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

**Respuesta**

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

**Parámetros de solicitud del URI**
+ **DomainName**

  Nombre único del dominio.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 64.
  + Patrón: `^[a-zA-Z0-9_-]+$`
  + Obligatorio: sí
+ **ProfileId**
  + Patrón: `[a-f0-9]{32}`
  + Obligatorio: sí
+ **MaxResults**

  Número máximo de objetos devueltos por página.
  + Rango válido: valor mínimo de 1. Valor máximo de 100.
+ **NextToken**

  El token de paginación de la llamada a la ListCalculatedAttributeDefinition API anterior.
  + Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024

------