

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.

# Configuración de los atributos calculados en Perfiles de clientes de Amazon Connect
<a name="customerprofiles-calculated-attributes"></a>

Los *atributos calculados* son valores que se derivan de otros atributos mediante fórmulas. Puede utilizarlas para identificar los comportamientos agregados de los usuarios.

Puede crear atributos calculados para definir su propia lógica empresarial y transformar así sus datos de perfil de cliente en puntos de datos procesables. Esto le permite personalizar experiencias automatizadas, como las respuestas de voz interactivas.

Mediante el uso de atributos calculados, puede identificar los atributos clave sobre el comportamiento anterior de los clientes. Por ejemplo: 
+ El último sitio web visitado o el último agente con el que se habló
+ Patrones de comportamiento, como el canal y la frecuencia de contacto preferidas
+ El valor del cliente, como los nuevos clientes y el tamaño medio del ticket

Puede utilizar la API de atributos calculados para crear un nuevo atributo mediante operaciones de agregación habituales como promedio, recuento, mínimo, máximo y suma.

Los atributos calculados transforman automáticamente los datos brutos en tiempo real en puntos de datos y métricas procesables. Los administradores del centro de contacto pueden definir y configurar cálculos basados en los datos brutos disponibles en los perfiles de clientes. Estos atributos calculados le facilitan la creación de experiencias automatizadas como la respuesta de voz interactiva (IVR) o los chatbots. Puede crear experiencias personalizadas y ayudar a los agentes a entender el contexto del cliente con mayor rapidez.

Para obtener una lista de AWS las regiones en las que APIs están disponibles los atributos calculados, consulte[Disponibilidad por región de API de atributos calculados de Perfiles de clientes](regions.md#customerprofiles_calculatedattributesregion). 

**Topics**
+ [Introducción a los atributos calculados](customerprofiles-calculated-attributes-admin-website.md)
+ [Atributos calculados APIs](customerprofiles-calculated-attributes-apis.md)
+ [Creación de una definición de atributo calculado personalizada](customerprofiles-calculated-attributes-creating-definition.md)
+ [Validación de los valores de atributos calculados](customerprofiles-calculated-attributes-validating-values.md)
+ [Atributos calculados predeterminados](customerprofiles-default-calculated-attributes.md)
+ [Mensajes de error y soluciones](customerprofiles-calculated-attributes-troubleshooting.md)

# Cómo empezar con los atributos calculados en los perfiles de los Amazon Connect clientes
<a name="customerprofiles-calculated-attributes-admin-website"></a>

Utilice los atributos calculados para definir su propia lógica empresarial y transformar así sus datos de perfil de cliente en puntos de datos procesables para personalizar experiencias automatizadas, como las respuestas de voz interactivas.

Mediante el uso de atributos calculados, puede identificar los atributos clave sobre el comportamiento anterior de los clientes, sus patrones de comportamiento y su valor.

En los temas de esta sección se muestra cómo crear, ver, editar y eliminar atributos calculados.

**Topics**
+ [Creación de atributos calculados.](calculated-attributes-admin-website-create.md)
+ [Configuración de filtros de eventos](calculated-attributes-admin-website-event-filters.md)
+ [Visualización de los atributos calculados](calculated-attributes-admin-website-view.md)
+ [Edición de atributos calculados](calculated-attributes-admin-website-edit.md)
+ [Eliminación de atributos calculados](calculated-attributes-admin-website-delete.md)

# Creación de atributos calculados en Amazon Connect
<a name="calculated-attributes-admin-website-create"></a>

1. Requisitos previos: asegúrese de tener los permisos de perfil de seguridad necesarios. Para obtener más información, consulte [Actualización de los permisos de los atributos calculados en Perfiles de clientes de Amazon Connect](security-profile-customer-profile-calc-attribs.md).

1. En el sitio web de Amazon Connect administración, vaya a **Perfiles de clientes**, **Atributos calculados** y elija **Crear atributo** en la vista de tabla de **atributos calculados**.  
![\[La pestaña Perfiles de clientes en el espacio de trabajo del agente con el botón Asociar.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-create-1.png)

1. Para crear un atributo calculado, asigne un nombre descriptivo, añada la descripción (opcional) con la información sobre el atributo y configure los campos obligatorios:
   + **Cálculo:** define cómo se calculan los atributos (average/count/sum/minimum/first occurrence/last occurrence/maxaparición).
   + **Atributo:** es un punto de datos de los perfiles de sus clientes
**nota**  
Si selecciona un atributo de un tipo de objeto estándar (`_asset`,`_case`,`_order`), los atributos deben estar incluidos PascalCase. Esto significa que la primera letra de cada palabra del nombre del atributo se escribe con mayúscula. Por ejemplo, `_case.CreatedBy` o `_order.TotalPrice`.  
![\[La pestaña Perfiles de clientes en el espacio de trabajo del agente con el botón Asociar.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-create-2.png)

1. Además, puede añadir otro atributo seleccionando el icono del *signo más*. Puede elegir hasta dos atributos para calcularlos y combinarlos con un operador. Especifique un operador como *más* o *menos* para combinar los valores de los atributos.  
![\[La pestaña Perfiles de clientes en el espacio de trabajo del agente con el botón Asociar.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-create-3.png)

1. Una vez seleccionado el cálculo, puede configurar opcionalmente el número de eventos, el período de tiempo y la marca de tiempo de origen. De forma predeterminada, los atributos calculados están configurados para usar eventos ilimitados, un período de tiempo ilimitado y una marca de tiempo basada en la fecha de ingesta.

   Se devolverá un resultado cuando haya al menos un evento durante el período de tiempo especificado.
   + **Número de eventos:** configure el límite o utilícelo de forma ilimitada (predeterminado)
   + **Período de tiempo:** establezca un período de tiempo específico o utilícelo de forma ilimitada (predeterminado)
   + **Marca de tiempo de origen:** elija entre un campo de marca de tiempo específico o una fecha de ingesta (predeterminada)
**nota**  
Si bien no hay límite de eventos, existe un límite de tamaño de datos en el que los datos más antiguos se sustituirán por datos más nuevos. La marca de tiempo de origen no se puede cambiar una vez creada.  
![\[La pestaña Perfiles de clientes en el espacio de trabajo del agente con el botón Asociar.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-create-4.png)

1. Si lo desea, puede definir criterios para incluir solo los eventos relevantes en los cálculos. Para obtener más información, consulte [Configuración de filtros de eventos](calculated-attributes-admin-website-event-filters.md).

1. Elija **Crear** para crear el atributo calculado.

1. Después de crear un atributo calculado correctamente, se muestra un banner en la vista de tabla para usar el atributo calculado en un flujo o segmento. También podrá ver el estado de los atributos calculados en función de la disponibilidad.  
![\[Un banner que indica que se ha creado el atributo calculado.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-create-5.png)

# Configuración de filtros de eventos
<a name="calculated-attributes-admin-website-event-filters"></a>

Los filtros de eventos permiten filtrar los objetos del perfil que se van a utilizar en el atributo calculado. Por ejemplo, un filtro de eventos podría filtrar los objetos de activos estándar del cliente para que solo se incluyan en el cálculo los activos con el **estado Instalado o Registrado**.

**nota**  
No puede editar los filtros de eventos después de crear una definición de atributo calculada.

Al crear un atributo calculado, puede crear uno o más filtros de eventos. Un filtro de eventos consta de los siguientes componentes:

![\[Componentes del filtro de eventos.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-event-filters-1.png)

+  **Grupos de filtros**: grupo de filtros que se aplican a los objetos del perfil. Puede añadir varios grupos de filtros que estén conectados mediante relaciones OR. 
+  **Filtros**: filtran los objetos del perfil que se incluyen en el cálculo del atributo calculado especificando los atributos, los operadores y los valores. Puede agregar tantos filtros como necesite para su caso de uso. 
+  **Atributo**: el atributo del objeto por el que se va a filtrar. Puede seleccionar los atributos de los objetos almacenados en el dominio de Perfiles de clientes o utilizar los nombres de campo definidos en la definición del tipo de objeto. Para obtener más información sobre las asignaciones de tipos de objeto, consulte [Detalles de la definición de asignación de tipos de objetos en Perfiles de clientes de Amazon Connect](object-type-mapping-definition-details.md).
**nota**  
 En el sitio web de Amazon Connect administración, el menú desplegable de atributos muestra la marca de tiempo de la última vez que se guardó o actualizó un objeto de perfil con el atributo. 
 Si hay un atributo de un objeto de perfil y un campo de un tipo de objeto con el mismo nombre, el filtro de eventos prioriza el nombre del campo del tipo de objeto en su filtrado. Por ejemplo, si un objeto de perfil tiene un atributo denominado **Estado** y también hay un campo de tipo de objeto denominado **Estado**, el filtro utilizará el campo de tipo de objeto **Estado** para filtrar. 
+  **Operador**: es el operador que determina la relación del atributo con el valor que introduzca. Para obtener más información, consulte [Operadores de filtro](#calculated-attributes-admin-website-event-filter-operators)
+  **Valor**: es el valor con el que se filtran los objetos. Puede especificar varios valores conectados por relaciones OR. Por ejemplo, *El estado del activo es Instalado o Registrado*. Tenga en cuenta que los valores distinguen entre mayúsculas y minúsculas. Por ejemplo, *El estado del activo es Instalado*, devuelve resultados diferentes a los de *El estado del activo es instalado*. Para ver los objetos de perfil, utilice la [ListProfileObjects](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-customer-profiles_ListProfileObjects.html)API de perfiles de clientes de Amazon Connect.

 Si lo desea, puede crear hasta dos filtros de eventos y crear una relación (AND/OR/EXCLUDE) entre ellos. Para obtener más información sobre la relación, consulte[Relación entre los filtros de eventos](#calculated-attributes-admin-website-relationship-between-event-filters). 

 

## Operadores de filtro
<a name="calculated-attributes-admin-website-event-filter-operators"></a>

Los operadores determinan la relación del atributo con el valor que ingrese. A continuación, se describen los operadores disponibles.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/calculated-attributes-admin-website-event-filters.html)

**nota**  
 Los atributos calculados en el sitio web de Amazon Connect administración utilizan la zona horaria UTC y la hora predeterminada de 00:00:00 UTC para todos los filtros basados en el tiempo. Puedes filtrar por fechas, pero las horas se registran con el mismo valor. Si indica la fecha de 2024-01-01, la consola transfiere la hora como 2024-01-01T00:00:00Z. 

**nota**  
De forma predeterminada, los filtros de eventos se evalúan cuando se guarda o actualiza un objeto de perfil. Por ejemplo, si filtra los objetos de activo estándar donde la `PurchaseDate` está dentro de la última semana, el tiempo relativo se calcula como *dentro de la última semana desde el momento en que se guarda o actualiza el objeto de activo*. Esto significa que los resultados del filtrado pueden variar en función del momento en que se guarde o actualice el objeto.

## Relación entre los filtros de eventos
<a name="calculated-attributes-admin-website-relationship-between-event-filters"></a>

 Si lo desea, puede añadir el segundo filtro de eventos y definir una relación con el primer filtro de eventos. Al crear un atributo calculado en el sitio web de administración de Amazon Connect , puede tener un máximo de dos filtros de eventos por atributo calculado. Si añade el segundo filtro de eventos al atributo calculado, puede elegir una de las dos formas para especificar cómo se conectan los dos filtros de eventos: 
+  **Relación AND**: si utiliza la relación AND para conectar dos filtros de eventos, los objetos que cumplan con el primer y el segundo filtros de eventos se incluirán en el cálculo. 
+  **Relación AND**: si utiliza la relación OR para conectar dos filtros de eventos, los objetos que cumplan con el primer o el segundo filtros de eventos se incluirán en el cálculo. 
+  **Relación EXCLUDE**: si utiliza la relación EXCLUDE para conectar dos filtros de eventos, los objetos que cumplan con el primer filtro de eventos pero no cumplan con el segundo, se incluirán en el cálculo. 

## Siguientes pasos
<a name="calculated-attributes-admin-website-event-filter-next-steps"></a>
+  [Uso del atributo calculado en el centro de contacto a través del editor Flujo](https://docs.aws.amazon.com/connect/latest/adminguide/customer-profiles-block.html#customer-profiles-block-properties-get-calculated-attributes) 
+  [Uso del atributo calculado para definir un segmento de clientes](https://docs.aws.amazon.com/connect/latest/adminguide/segmentation-admin-website)
+  [Ver los atributos calculados en Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/calculated-attributes-admin-website-view.html) 
+  [Edición de atributos calculados en Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/calculated-attributes-admin-website-edit.html) 
+  [Eliminar atributos calculados en Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/calculated-attributes-admin-website-delete.html) 

# Visualización de los atributos calculados en Amazon Connect
<a name="calculated-attributes-admin-website-view"></a>

1. Inicie sesión en el sitio web de Amazon Connect administración en https://*instance name*.my.connect.aws/. Utilice una cuenta de administrador o una cuenta asignada a un perfil de seguridad que tengan asignado el permiso **Perfiles de cliente: atributos calculados**. 

1. En el panel de navegación izquierdo de Amazon Connect, elija **Perfiles de clientes**, **Atributos calculados**.

1. En la página **Atributos calculados**, elija un atributo calculado en la columna **Nombre** de la tabla. 

   La imagen siguiente muestra un ejemplo de los atributos calculados que aparecen en la columna **Nombre**.  
![\[Tabla que muestra una lista de los atributos calculados.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-view-1.png)

1. Ahora podrá ver los detalles del atributo que ha seleccionado. En la siguiente imagen se muestra una página de detalles de un atributo calculado.  
![\[Vista detallada de un atributo calculado.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-view-2.png)

# Edición de atributos calculados en Amazon Connect
<a name="calculated-attributes-admin-website-edit"></a>

1. Para editar un atributo calculado, elija un atributo en la vista de tabla seleccionando el botón de selección, que activa el botón **Editar**. Elija **Edit (Edición de)**.  
![\[editar un atributo calculado\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-edit-1.png)

1. Podrá editar la **Descripción**, el **Período de tiempo** y el **Número de eventos**. Cuando haya terminado, elija **Guardar**.  
![\[Editar un atributo calculado.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-edit-2.png)

# Eliminación de atributos calculados en Amazon Connect
<a name="calculated-attributes-admin-website-delete"></a>

1. Para eliminar un atributo calculado, seleccione un atributo de la tabla pulsando el botón de selección situado junto al atributo que desee eliminar.

1. Una vez seleccionado, elija **Eliminar**.

1. En la ventana emergente **Eliminar atributo**, compruebe los detalles y escriba *Confirmar* para activar el botón **Eliminar**.  
![\[Eliminar un atributo calculado.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/calculated-attributes-admin-website-delete-1.png)

1. Elija **Eliminar**.

# 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\$1 "\$1ObjectTypeName. AttributeName\$1\$1».
    + 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\$1 "\$1ObjectTypeName. <Location of timestamp field in JSON pointer format>\$1\$1». 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\$18601 (siguiendo el formato ISO\$18601 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\$1THAN
        + LESS\$1THAN
        + EQUAL\$1TO
        + NOT\$1EQUAL\$1TO
  + 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\$1OCCURRENCE
    + LAST\$1OCCURRENCE
    + COUNT
    + SUM
    + MINIMUM
    + MAXIMUM
    + AVERAGE
    + MAX\$1OCCURRENCE

------
#### [ 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\$1THAN
        + LESS\$1THAN
        + EQUAL\$1TO
        + NOT\$1EQUAL\$1TO
  + 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

------

# Creación de una definición de atributo calculado personalizada para Perfiles de clientes de Amazon Connect
<a name="customerprofiles-calculated-attributes-creating-definition"></a>

Con la [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API de perfiles de clientes, puede crear mediante programación su propio atributo calculado a partir de un tipo de objeto personalizado.

En este tema mostramos cómo crear un atributo calculado mediante un archivo JSON personalizado.

## Paso 1: crear un archivo JSON
<a name="step1-calculate-attribute-api"></a>

Cree un archivo JSON con el siguiente contenido:

```
{
"DomainName": "your-domain-name", 
   "CalculatedAttributeName": "your-calculated-attribute-name",
   "UseHistoricalData": true,
   "DisplayName": "your-display-name",
   "Description": "your-description",
   "AttributeDetails": {
"Attributes": [
         {
            "Name": "your-attribute-name"
         }
       ],
       "Expression": "{your-object-type.your-attribute-name}"
   },
    "Statistic": "your-statistic",
    "Conditions": {
       "Range": {
        "ValueRange"
        {
            "Start": your-range-start
            "End": your-range-end
        },
        "TimestampSource": "{your-object-type.your-timestamp-source}",          
        "Unit": "days"
        },
        "ObjectCount":  your-object-count,
        "Threshold": {
           "Value": "your-threshold-value",
           "Operator": "your-threshold-operator"
        }
   }  
}
```

Para personalizar el código JSON con sus propios valores, siga estas indicaciones:
+ **Attributes**: debe contener el nombre del campo del tipo de objeto que desea utilizar para el atributo calculado. Se admiten dos atributos a los que se haga referencia en esta lista.
+ **Expression**: se admiten expresiones matemáticas básicas para realizarlas entre atributos. Si solo tiene un atributo, este campo debería ser `{ObjectTypeName.AttributeName}`; de lo contrario, si tiene en mente una expresión matemática, este campo debe contener ambos atributos.
+ **Estadística**: es la operación que se realiza cuando se llama a uno de los cálculos APIs que realmente realizan la operación de agregación. La mayoría se explican por sí mismas, pero hemos agregado explicaciones para las que no lo son. 

  **Estadísticas admitidas**
  + `FIRST_OCCURRENCE` devuelve el atributo especificado en la expresión del primer objeto ingerido.
  + `LAST_OCCURRENCE` devuelve el atributo especificado en la expresión del último objeto ingerido.
  + `COUNT` devuelve el recuento de los datos seleccionados.
  + `SUM` devuelve la suma de los datos seleccionados.
  + `MINIMUM` devuelve el mínimo de los datos seleccionados.
  + `MAXIMUM` devuelve el máximo de los datos seleccionados.
  + `AVERAGE` devuelve el promedio de los datos seleccionados.
  + `MAX_OCCURRENCE` devuelve el valor que aparece con más frecuencia especificado en la expresión.
+ **Rango**:
  + Units: actualmente solo admiten unidades DIARIAS.
  + ValueRange: especifique números positivos en los campos ValueRange de inicio o fin para indicar desde cuántos días empezará y números negativos para indicar cuántos días en el futuro empezará.
  + 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\$1 "\$1ObjectTypeName. <Location of timestamp field in JSON pointer format>\$1\$1». 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}"`.
+ **ObjectCount**: Indica en cuántos objetos debe basarse el cálculo del atributo calculado.
+ **Threshold**: si en lugar del valor exacto del atributo calculado quiere saber si, por ejemplo, es mayor que un valor determinado, puede utilizar un umbral.

  El valor de umbral puede ser cualquier cadena y se admiten los siguientes operadores de umbral.
  + `GREATER_THAN`
  + `LESS_THAN`
  + `EQUAL_TO`
  + `NOT_EQUAL_TO`
+ UseHistoricalData: Si los datos históricos ingeridos antes de crear el atributo calculado deben incluirse en los cálculos.

## Paso 2: Llama a la API CreateCalculatedAttributeDefinition
<a name="step2-calculated-attribute-api"></a>

Una vez que haya creado y personalizado el archivo JSON con sus valores, llame a la [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API, como se muestra en el siguiente ejemplo:

```
aws customer-profiles create-calculated-attribute-definition --cli-input-json file:///custom_calculated_attribute_cli.json --region region_name
```

También puede utilizar el siguiente punto de conexión:

```
https://profile.your-region.amazonaws.com/domains/your-domain-name/calculated-attributes
```

# Valide los valores de atributos calculados en los perfiles de clientes de Amazon Connect mediante APIs
<a name="customerprofiles-calculated-attributes-validating-values"></a>

Hay dos APIs, `GetCalculatedAttributeForProfile` y`ListCalculatedAttributesForProfile`, que están a nivel de perfil.
+ **GetCalculatedAttributeForProfile**- recupera un único atributo calculado para un único perfil.
+ **ListCalculatedAttributesForProfile**- recupera una lista de atributos calculados para un solo perfil

Con un ID de perfil válido, debería ver los valores de sus atributos calculados:

**Ejemplo de respuesta**

```
{   
    "CalculatedAttributeName": "_average_hold_time",
    "DisplayName": "Average hold time",
    "IsDataPartial": "true",
    "Value": "24144"
}
```

**IsDataPartial**- Este indicador significa que no se ha alcanzado el intervalo de tiempo (30 días) o el recuento de objetos y, por lo tanto, el atributo calculado aún se está calculando. Por ejemplo, si desea un promedio superior a 30 días, el campo `IsDataPartial` solo se establecerá en falso cuando hayan transcurrido 30 días.

## Recuperación de una lista de atributos calculados
<a name="calculated-attributes-validating-a-list-of-values"></a>

**Utilice la AWS CLI**

```
aws customer-profiles list-calculated-attributes-for-profile --region your-region --domain-name your-domain-name --profile-id your-profile-id
```

**Utilice la AWS CLI con un archivo JSON personalizado**

Cree un archivo JSON con el siguiente contenido:

```
{
    "DomainName": "your-domain-name", 
    "ProfileId" "some-profile-id"
}
```

```
aws customer-profiles list-calculated-attributes-for-profile --region your-region --cli-input-json file://list_calculated_attributes_for_profile_cli.json
```

**Punto de conexión:**

```
https://profile.your-region.amazonaws.com/domains/your-domain-name/profile/your-profile-id/calculated-attributes/
```

## Recuperación de un único atributo calculado
<a name="calculated-attributes-validating-a-single-value"></a>

**Utilice la AWS CLI**:

```
aws customer-profiles get-calculated-attributes-for-profile --region your-region --domain-name your-domain-name --calculated-attribute-name your-calculated-attribute-name --profile-id your-profile-id
```

**Utilice la AWS CLI con un archivo JSON personalizado**:

Cree un archivo JSON con el siguiente contenido:

```
{   
    "DomainName": "your-domain-name", 
    "CalculatedAttributeName": "your-calculated-attribute-name",
    "ProfileId" "your-profile-id"
}
```

```
aws customer-profiles get-calculated-attributes-for-profile --region your-region --cli-input-json file://list_calculated_attributes_for_profile_cli.json
```

**Punto de conexión:**

```
https://profile.your-region.amazonaws.com/domains/your-domain-name/profile/your-profile-id/calculated-attributes/your-calculated-attribute-name
```

# Atributos calculados predeterminados en Perfiles de clientes de Amazon Connect
<a name="customerprofiles-default-calculated-attributes"></a>

## Atributos calculados de CTR predeterminados
<a name="customerprofiles-default-calculated-attributes-ctr"></a>

Amazon Connect Los perfiles de cliente proporcionan los atributos predeterminados de la out-of-the casilla basados en los registros de contactos. Los atributos son los siguientes:

**El canal más frecuente**

```
{
   "CalculatedAttributeName": "_most_frequent_channel",
   "DisplayName": "Most frequent channel",
   "Description": "Returns customer's frequently used communication channel. Channels include voice, chat, task.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "MAX_OCCURRENCE",
   "Conditions": {
      "Range": {
         "Value": 30,
         "Unit": "DAYS"
       },
       "ObjectCount": null
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "channel"
         }
      ],
      "Expression": "{CTR.channel}"
   },
   "Tags": {
   }
}
```

**Último canal**

```
{
   "CalculatedAttributeName": "_last_channel",
   "DisplayName": "Last channel",
   "Description": "Returns customer's last communication channel. Channels include voice, chat, task.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "LAST_OCCURRENCE",
   "Conditions": {
      "ObjectCount": null
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "channel"
         }
       ],
       "Expression": "{CTR.channel}"
   },
   "Tags": {
   }
}
```

**Identificador del último agente**

```
{
   "CalculatedAttributeName": "_last_agent_id",
   "DisplayName": "Last agent identifier",
   "Description": "Returns identifier of the last agent customer connected with.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "LAST_OCCURRENCE",
   "Conditions": {
      "ObjectCount": null
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "agent.id"
         }
      ],
      "Expression": "{CTR.agent.id}"
   },
   "Tags": {
   }
}
```

**Persona que llama con frecuencia**

```
{
   "CalculatedAttributeName": "_frequent_caller",
   "DisplayName": "Frequent caller",
   "Description": "Returns true or false based on the number of times a customer has called.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "COUNT",
   "Conditions": {
      "Range": {
         "Value": 30,
         "Unit": "DAYS"
      },
      "ObjectCount": null,
      "Threshold": {
         "Value": "5",
         "Operator": "GREATER_THAN"
      }
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "contactId"
         }
      ],
      "Expression": "{CTR.contactId}"
   },
   "Tags": {
   }
}
```

**Tiempo medio de espera**

```
{
   "CalculatedAttributeName": "_average_hold_time",
   "DisplayName": "Average hold time",
   "Description": "Returns customer's average hold time for voice calls.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "AVERAGE",
   "Conditions": {
      "Range": {
         "Value": 30,
         "Unit": "DAYS"
      },
      "ObjectCount": null
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "agent.customerHoldDurationMillis"
         },
         {
            "Name": "queue.durationMillis"
         }
      ],
      "Expression": "{CTR.agent.customerHoldDurationMillis} + {CTR.queue.durationMillis}"
   },
   "Tags": {
   }
}
```

**Duración media de la llamada**

```
{
   "CalculatedAttributeName": "_average_call_duration",
   "DisplayName": "Average call duration",
   "Description": "Returns customer's average call duration for voice calls.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "AVERAGE",
   "Conditions": {
      "Range": {
         "Value": 30,
         "Unit": "DAYS"
       },
      "ObjectCount": null
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "disconnectTimestamp"
         },
         {
            "Name": "initiationTimestamp"
         }
      ],
      "Expression": "{CTR.disconnectTimestamp} - {CTR.initiationTimestamp}"
   },
   "Tags": {
   }
}
```

**Tiempo máximo de espera del cliente**

```
{
    "CalculatedAttributeName": "_maximum_hold_time",
    "DisplayName": "Customer's maximum hold time",
    "Description": "Returns customer's maximum hold time for voice calls in the past month.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "agent.customerHoldDurationMillis"
        },
        {
          "Name": "queue.durationMillis"
        }
      ],
      "Expression": "{CTR.agent.customerHoldDurationMillis} + {CTR.queue.durationMillis}"
    },
    "Statistic": "MAXIMUM",
    "Conditions": {
      "Range": {
        "Value": 30,
        "Unit": "DAYS"
      },
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

## Atributo calculado predeterminado del perfil
<a name="customerprofiles-default-calculated-attributes-profile"></a>

Amazon Connect Los perfiles de cliente proporcionan un atributo predeterminado de out-of-the cuadro basado en un perfil. Los atributos son los siguientes:

**Cliente nuevo**

```
{
   "CalculatedAttributeName": "_new_customer",
   "DisplayName": "New customer",
   "Description": "Returns true or false for new customer profiles created.",
   "CreatedAt": null,
   "LastUpdatedAt": null,
   "Statistic": "TIME_DIFFERENCE_FROM_NOW",
   "Conditions": {
      "ObjectCount": null,
      "Threshold": {
         "Value": "30",
         "Operator": "LESS_THAN"
      }
   },
   "AttributeDetails": {
      "Attributes": [
         {
            "Name": "createdAt"
         }
      ],
      "Expression": "{_profile.createdAt}"
   },
   "Tags": {
   }
}
```

## Atributos calculados predeterminados de activos
<a name="customerprofiles-default-calculated-attributes-asset"></a>

Amazon Connect Los perfiles de cliente proporcionan los atributos predeterminados de la out-of-the casilla basados en los activos. Los atributos son los siguientes:

**Recuento de activos**

```
{
    "CalculatedAttributeName": "_assets_count",
    "DisplayName": "Count of assets",
    "Description": "Returns the count of assets for a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "AssetId"
        }
      ],
      "Expression": "{_asset.AssetId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Launched": false
  }
```

**Fecha de compra del primer activo**

```
{
    "CalculatedAttributeName": "_asset_first_occurrence",
    "DisplayName": "First asset purchased date",
    "Description": "Returns purchase date of the customer's first asset.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "PurchaseDate"
        }
      ],
      "Expression": "{_asset.PurchaseDate}"
    },
    "Statistic": "FIRST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Fecha de compra del último activo**

```
{
    "CalculatedAttributeName": "_asset_last_occurrence",
    "DisplayName": "Last asset purchased date",
    "Description": "Returns purchase date of the customer's last asset.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "PurchaseDate"
        }
      ],
      "Expression": "{_asset.PurchaseDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Precio total del activo**

```
{
    "CalculatedAttributeName": "_assets_price_sum",
    "DisplayName": "Total asset price",
    "Description": "Returns customer's total asset price.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "Price"
        }
      ],
      "Expression": "{_asset.Price}"
    },
    "Statistic": "SUM",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Precio medio de los activos**

```
{
    "CalculatedAttributeName": "_assets_price_average",
    "DisplayName": "Average asset price",
    "Description": "Returns customer's average asset price.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "Price"
        }
      ],
      "Expression": "{_asset.Price}"
    },
    "Statistic": "AVERAGE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Nombre del primer activo**

```
{
    "CalculatedAttributeName": "_assets_name_first_occurrence",
    "DisplayName": "First asset name",
    "Description": "Returns name of the customer's first asset",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "AssetName"
        }
      ],
      "Expression": "{_asset.AssetName}"
    },
    "Statistic": "FIRST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Apellido del primer activo**

```
{
    "CalculatedAttributeName": "_assets_name_last_occurrence",
    "DisplayName": "Last asset name",
    "Description": "Returns name of the customer's last asset.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "AssetName"
        }
      ],
      "Expression": "{_asset.AssetName}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

## Atributos calculados predeterminados de casos
<a name="customerprofiles-default-calculated-attributes-case"></a>

Amazon Connect Los perfiles de cliente proporcionan los atributos predeterminados de la out-of-the casilla en función de los casos. Los atributos son los siguientes:

**Recuento de casos**

```
{
    "CalculatedAttributeName": "_cases_count",
    "DisplayName": "Count of cases",
    "Description": "Returns the count of customer's cases for a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CaseId"
        }
      ],
      "Expression": "{_case.CaseId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Launched": false
  }
```

**Fecha de creación del primer caso**

```
{
    "CalculatedAttributeName": "_case_first_occurrence",
    "DisplayName": "First case created date",
    "Description": "Returns created date of the customer's first case.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CreatedDate"
        }
      ],
      "Expression": "{_case.CreatedDate}"
    },
    "Statistic": "FIRST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Fecha de creación del último caso**

```
{
    "CalculatedAttributeName": "_case_last_occurrence",
    "DisplayName": "Last case created date",
    "Description": "Returns created date of the customer's last case.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CreatedDate"
        }
      ],
      "Expression": "{_case.CreatedDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Recuento de casos abiertos**

```
{
    "CalculatedAttributeName": "_cases_open_status_count",
    "DisplayName": "Count of open cases",
    "Description": "Returns the count of customer's open cases.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CaseId"
        }
      ],
      "Expression": "{_case.CaseId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Status": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["Open"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Recuento de casos cerrados**

```
{
    "CalculatedAttributeName": "_cases_closed_status_count",
    "DisplayName": "Count of closed cases",
    "Description": "Returns the count of customer's closed cases.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CaseId"
        }
      ],
      "Expression": "{_case.CaseId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Status": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["Closed"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

## Atributos calculados del registro de comunicación predeterminado
<a name="customerprofiles-default-calculated-attributes-communication-record"></a>

Amazon Connect Los perfiles de cliente proporcionan los atributos predeterminados de la out-of-the casilla basados en los registros de comunicación. Los atributos son los siguientes:

**Fecha de apertura del último correo electrónico**

```
{
    "CalculatedAttributeName": "_campaign_email_last_open",
    "DisplayName": "Last email open date",
    "Description": "Returns the last email open date of the customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "Events.Open.UpdatedDate"
        }
      ],
      "Expression": "{_communicationRecord.Events.Open.UpdatedDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:Email"]
                },
                "Events.Open.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["Open"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Recuento de correos electrónicos abiertos**

```
{
    "CalculatedAttributeName": "_campaign_email_open_count",
    "DisplayName": "Email open count",
    "Description": "Returns the number of times emails were opened by a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CommunicationRecordId"
        }
      ],
      "Expression": "{_communicationRecord.CommunicationRecordId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:Email"]
                },
                "Events.Open.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["Open"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Recuento de correos electrónicos enviados**

```
{
    "CalculatedAttributeName": "_campaign_email_delivery_count",
    "DisplayName": "Email delivery count",
    "Description": "Returns the number of times emails were delivered to a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CommunicationRecordId"
        }
      ],
      "Expression": "{_communicationRecord.CommunicationRecordId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:Email"]
                },
                "Events.Delivery.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["Delivery"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Recuento de SMS enviados**

```
{
    "CalculatedAttributeName": "_campaign_sms_delivery_count",
    "DisplayName": "SMS delivered count",
    "Description": "Returns the number of times SMS were delivered to a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CommunicationRecordId"
        }
      ],
      "Expression": "{_communicationRecord.CommunicationRecordId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ALL",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:SMS"]
                },
                "Events.TEXT_DELIVERED.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["TEXT_DELIVERED"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Fecha del último SMS bloqueado**

```
  {
    "CalculatedAttributeName": "_campaign_sms_last_stop",
    "DisplayName": "Last SMS blocked date",
    "Description": "Returns the last SMS blocked date of the customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "Events.TEXT_BLOCKED.UpdatedDate"
        }
      ],
      "Expression": "{_communicationRecord.Events.TEXT_BLOCKED.UpdatedDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ANY",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:SMS"]
                },
                "Events.TEXT_BLOCKED.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["TEXT_BLOCKED"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

**Fecha del último SMS de operador bloqueado**

```
{
    "CalculatedAttributeName": "_campaign_sms_last_stop_carrier",
    "DisplayName": "Last SMS carrier blocked date",
    "Description": "Returns the last SMS carrier blocked date of the customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "Events.TEXT_CARRIER_BLOCKED.UpdatedDate"
        }
      ],
      "Expression": "{_communicationRecord.Events.TEXT_CARRIER_BLOCKED.UpdatedDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Filter": {
      "Include": "ANY",
      "Groups": [
        {
          "Type": "ALL",
          "Dimensions": [
            {
              "Attributes": {
                "Attributes.ChannelSubType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["connect:SMS"]
                },
                "Events.TEXT_CARRIER_BLOCKED.EventType": {
                  "DimensionType": "INCLUSIVE",
                  "Values": ["TEXT_CARRIER_BLOCKED"]
                }
              }
            }
          ]
        }
      ]
    },
    "Launched": false
  }
```

## Atributos calculados predeterminados de pedidos
<a name="customerprofiles-default-calculated-attributes-order"></a>

Amazon Connect Los perfiles de cliente proporcionan los atributos predeterminados de las out-of-the casillas en función de los pedidos. Los atributos son los siguientes:

**Recuento de pedidos**

```
{
    "CalculatedAttributeName": "_orders_count",
    "DisplayName": "Count of orders",
    "Description": "Returns the count of orders for a customer.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "OrderId"
        }
      ],
      "Expression": "{_order.OrderId}"
    },
    "Statistic": "COUNT",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Launched": false
  }
```

**Fecha de creación del primer pedido**

```
{
    "CalculatedAttributeName": "_order_first_occurrence",
    "DisplayName": "First order created date",
    "Description": "Returns created date of the customer's first order.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CreatedDate"
        }
      ],
      "Expression": "{_order.CreatedDate}"
    },
    "Statistic": "FIRST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Fecha de creación del último pedido**

```
{
    "CalculatedAttributeName": "_order_last_occurrence",
    "DisplayName": "Last order created date",
    "Description": "Returns created date of the customer's last order.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "CreatedDate"
        }
      ],
      "Expression": "{_order.CreatedDate}"
    },
    "Statistic": "LAST_OCCURRENCE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

**Precio total de todos los pedidos**

```
{
    "CalculatedAttributeName": "_orders_total_price_sum",
    "DisplayName": "Total price of all orders",
    "Description": "Returns sum of total price for all customer's orders.",
    "Statistic": "SUM",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "TotalPrice"
        }
      ],
      "Expression": "{_order.TotalPrice}"
    },
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold":null
    },
    "Launched": false
  }
```

**Promedio de pedidos del precio total**

```
{
    "CalculatedAttributeName": "_orders_total_price_average",
    "DisplayName": "Orders average of total price",
    "Description": "Returns average of total price for all customer's orders.",
    "AttributeDetails": {
      "Attributes": [
        {
          "Name": "TotalPrice"
        }
      ],
      "Expression": "{_order.TotalPrice}"
    },
    "Statistic": "AVERAGE",
    "Conditions": {
      "Range": null,
      "ObjectCount": null,
      "Threshold": null
    },
    "Launched": false
  }
```

# Mensajes de error y soluciones para atributos calculados de Perfiles de clientes de Amazon Connect
<a name="customerprofiles-calculated-attributes-troubleshooting"></a>

En la siguiente tabla se muestran los mensajes de error de los atributos calculados, la causa y la resolución de cada error.


| Mensaje de error | Causa | Resolución | 
| --- | --- | --- | 
| La recuperación de un atributo calculado para un perfil muestra un valor nulo | Se debe probablemente a que el atributo calculado no tiene datos. Tras la creación de un atributo calculado, hay que realizar la ingesta de nuevos datos. | Ingiera datos nuevos o vuelva a ingerir datos antiguos mediante integraciones o de forma automática. CreateProfile PutProfileObject APIs | 