

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Você pode usar o seguinte atributo calculado de Perfis de Cliente APIs

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

**CreateCalculatedAttributeDefinition**

Crie um novo atributo calculado. Isso requer um tipo de objeto existente no domínio. Você pode definir os atributos que deseja extrair de um único objeto de origem e as operações matemáticas a serem aplicadas a eles de forma agregada, bem como o intervalo de tempo e a contagem de objetos.

Após a criação, novos dados de objetos ingeridos no Customer Profiles serão incluídos no atributo calculado, que pode ser recuperado para um perfil usando a API `GetCalculatedAttributeForProfile`. Para usar também dados históricos, especifique `UseHistoricalData` como true. Os campos `Readiness` e `Status` na resposta da API fornecerão informações sobre o status da inclusão de dados históricos no atributo calculado. 

A definição de um atributo calculado o disponibiliza para todos os perfis em um domínio. Cada atributo calculado só pode referenciar um ObjectType e no máximo dois campos a partir desse campo ObjectType.

**Solicitação**

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

**Resposta**

```
{
    "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 da solicitação**
+ **CalculatedAttributeName**

  O nome exclusivo (por domínio) do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **DisplayName**

  O nome de exibição do atributo calculado.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obrigatório: não
+ **Descrição**

  A descrição do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. Tamanho máximo de 1.000.
  + Obrigatório: não
+ **UseHistoricalData**

  Indica se os dados históricos ingeridos antes da criação do atributo calculado devem ser incluídos nos cálculos.
  + Tipo: booleano
  + Obrigatório: não
+ **AttributeDetails**

  Detalhes dos atributos usados na definição e das operações matemáticas envolvidas entre os atributos. Consulte os seguintes componentes:
  + **Atributos.**

    Uma lista de itens de atributos especificados na expressão matemática.
    + **AttributeItem**

      Os detalhes de um item de atributo especificado na expressão matemática.
      + Nome
        + O nome de um atributo definido em um tipo de objeto de perfil.
        + Tipo: string
  + **Expressão**

    Expressão matemática executada em itens de atributos fornecidos na lista de atributos. Cada elemento na expressão deve seguir a estrutura de\\ "{ObjectTypeName. AttributeName}\\”.
    + Exemplo: `{ObjA.AttributeA} - {ObjA.AttributeB}`
    + Tipo: String
    + Só oferecemos suporte às seguintes operações matemáticas: `+ - * /`
    + Você não poderá fazer modificações na expressão depois que uma definição de atributo calculado for criada
+ **Condições**

  Define os critérios e o limite calculados da agregação de atributos.
  + Tipo: objeto Conditions
    + Intervalo
    + ObjectCount
    + Limite
+ **Intervalo**

  O período de tempo relativo durante o qual os dados são incluídos na agregação.
  + Tipo: objeto Range
    + Valor: o período das unidades especificadas. `ValueRange` substitui Value.
      + Tipo: inteiro
      + Obrigatório: não
    + ValueRange: uma estrutura que permite que os clientes especifiquem uma janela de tempo relativa durante a qual os dados são incluídos no Atributo Calculado. Use números positivos para indicar que o endpoint está no passado e números negativos para indicar que está no futuro. ValueRangesubstitui o valor.
      + Tipo: ValueRange
      + Obrigatório: não
        + Início
          + A hora de início da inclusão de objetos. Use números positivos para indicar que o ponto de partida está no passado e números negativos para indicar que está no futuro.
          + Tipo: inteiro
          + Obrigatório: Sim 
        + Fim
          + A hora de término da inclusão de objetos. Use números positivos para indicar que o ponto de partida está no passado e números negativos para indicar que está no futuro.
          + Tipo: inteiro
          + Obrigatório: Sim 
    + TimestampSource: uma expressão que especifica o campo em seu objeto JSON a partir do qual a data deve ser analisada. A expressão deve seguir a estrutura de\\ "{ObjectTypeName. <Location of timestamp field in JSON pointer format>}\\”. Por exemplo, se seu tipo de objeto é MyType e o JSON de origem é`{"generatedAt": {"timestamp": "1737587945945"}}`, então TimestampSource deveria ser`"{MyType.generatedAt.timestamp}"`.
      + Restrições de comprimento: tamanho mínimo de 1. Comprimento máximo de 255.
      + Obrigatório: não
    + TimestampFormat: o formato do campo de carimbo de data/hora em seu objeto JSON é especificado. Esse valor deve ser EPOCHMILLI (para timestamps de época Unix com precisão de nível) ou ISO\_8601 (seguindo o formato ISO\_8601 com precisão de second/millisecond nível, com um deslocamento opcional de Z ou no formato HH:MM ou second/millisecond HHMM.). Por exemplo, se seu tipo de objeto é MyType e o JSON de origem é`{"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}},`, então TimestampFormat deveria ser`"ISO_8601"`.
    + Unidade: unidade de tempo
      + Valores válidos: dias
      + Obrigatório: Sim
  + Obrigatório: Sim
  + Escopo inicial: máximo de 366 dias
+ **ObjectCount**

  O número de objetos de perfil usados para o atributo calculado.
  + Tipo: número
  + Alcance: de 1 a 100
  + Obrigatório: não
+ **Limite**

  A lógica de comparação para gerar um atributo true/false calculado.
  + Tipo: objeto Threshold
    + Valor
      + O valor do limite.
      + Tipo: string
      + Obrigatório: não
    + Operador
      + O operador do limite
      + Tipo: ENUM
      + Valores válidos:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + Obrigatório: não
+ **Estatística**

  A operação de agregação a ser executada para o atributo calculado.
  + Tipo: ENUM
  + Valores válidos:
    + FIRST\_OCCURRENCE
    + LAST\_OCCURRENCE
    + CONTAGEM
    + SUM
    + MINIMUM
    + MAXIMUM
    + AVERAGE
    + MAX\_OCCURRENCE

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

**UpdateCalculatedAttributeDefinition**

Atualizar uma definição de atributo calculado. As atualizações estão limitadas ao nome de exibição, descrição, intervalo de tempo, contagem de objetos e limite. Essa API oferece suporte a atualizações parciais, portanto, somente os parâmetros que exigem atualização precisam ser incluídos.

**nota**  
Ao atualizar as condições:  
Aumentar o intervalo de datas de um atributo calculado não acionará a inclusão de dados históricos maiores que o intervalo de datas atual.
TimestampSource e TimestampFormat não pode ser atualizado após a criação de uma definição de atributo calculado.

**Solicitação**

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

**Resposta**

```
{
    "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 da solicitação**
+ **DisplayName**

  O nome de exibição do atributo calculado.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z_][a-zA-Z_0-9-\s]*$`
  + Obrigatório: não
+ **Descrição**

  A descrição do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. Tamanho máximo de 1.000.
  + Obrigatório: não
+ **Condições**

  Define os critérios e o limite calculados da agregação de atributos.
  + Tipo: objeto Conditions
    + Intervalo
    + ObjectCount
    + Limite
+ **Intervalo**

  O período de tempo relativo durante o qual os dados são incluídos na agregação.
  + Tipo: objeto Range
    + Valor: o período das unidades especificadas
      + Tipo: inteiro
      + Obrigatório: não
    + ValueRange: uma estrutura que permite que os clientes especifiquem uma janela de tempo relativa durante a qual os dados são incluídos no Atributo Calculado. Use números positivos para indicar que o endpoint está no passado e números negativos para indicar que está no futuro. ValueRangesubstitui o valor.
      + Tipo: ValueRange
      + Obrigatório: não
        + Início
          + A hora de início da inclusão de objetos. Use números positivos para indicar que o ponto de partida está no passado e números negativos para indicar que está no futuro.
          + Tipo: inteiro
          + Obrigatório: Sim 
        + Fim
          + A hora de término da inclusão de objetos. Use números positivos para indicar que o ponto de partida está no passado e números negativos para indicar que está no futuro.
          + Tipo: inteiro
          + Obrigatório: Sim 
    + Unidade: unidade de tempo
      + Valores válidos: dias
      + Obrigatório: Sim
  + Obrigatório: Sim
  + Escopo inicial: máximo de 366 dias
+ **ObjectCount**

  O número de objetos de perfil usados para o atributo calculado.
  + Tipo: número
  + Alcance: de 1 a 100
  + Obrigatório: não
+ **Limite**

  A lógica de comparação para gerar um atributo true/false calculado.
  + Tipo: objeto Threshold
    + Valor
      + O valor do limite.
      + Tipo: string
      + Obrigatório: não
    + Operador
      + O operador do limite
      + Tipo: ENUM
      + Valores válidos:
        + GREATER\_THAN
        + LESS\_THAN
        + EQUAL\_TO
        + NOT\_EQUAL\_TO
  + Obrigatório: não

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

**GetCalculatedAttributeDefinition**

Recupere uma definição de atributo calculado.

**Solicitação**

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

**Corpo da solicitação**

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

**Resposta**

```
{
"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 solicitação de URI**
+ **DomainName**

  O nome exclusivo do domínio.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **CalculatedAttributeName**

  O nome exclusivo (por domínio) do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim

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

**DeleteCalculatedAttributeDefinition**

Exclua uma definição de atributo calculado existente. Observe que é possível excluir um atributo calculado padrão. No entanto, uma vez excluído, você não poderá desfazer essa ação e precisará recriá-la sozinho usando a API `CreateCalculatedAttributeDefinition` se quiser recuperá-la.

**Solicitação**

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

**Corpo da solicitação**

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

**Resposta**

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

**Parâmetros de solicitação de URI**
+ **DomainName**

  O nome exclusivo do domínio.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **CalculatedAttributeName**

  O nome exclusivo (por domínio) do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim

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

**ListCalculatedAttributeDefinitions**

Recupere todas as definições de atributos calculados para um domínio.

**Solicitação**

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

**Corpo da solicitação**

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

**Resposta**

```
{ 
    "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 solicitação de URI**
+ **DomainName**

  O nome exclusivo do domínio.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **MaxResults**

  O número máximo de objetos retornados por página.
  + Faixa válida: valor mínimo de 1. Valor máximo de 100
+ **NextToken**

  O token de paginação da chamada de ListCalculatedAttributeDefinition API anterior.
  + Restrições de comprimento: tamanho mínimo de 1. Tamanho máximo de 1.024

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

**GetCalculatedAttributeForProfile**

Inicia o cálculo e recupera o resultado de um único atributo calculado para um único perfil.

**Solicitação**

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

**Corpo da solicitação**

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

**Resposta**

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

**Parâmetros de solicitação de URI**
+ **DomainName**

  O nome exclusivo do domínio.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **CalculatedAttributeName**

  O nome exclusivo (por domínio) do atributo calculado.
  + Tipo: String
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim

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

**ListCalculatedAttributesForProfile**

Inicia o cálculo e recupera os resultados de um único atributo calculado para um único perfil.

**Solicitação**

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

**Corpo da solicitação**

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

**Resposta**

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

**Parâmetros de solicitação de URI**
+ **DomainName**

  O nome exclusivo do domínio.
  + Restrições de comprimento: tamanho mínimo de 1. O comprimento máximo é 64.
  + Padrão: `^[a-zA-Z0-9_-]+$`
  + Obrigatório: Sim
+ **ProfileId**
  + Padrão: `[a-f0-9]{32}`
  + Obrigatório: Sim
+ **MaxResults**

  O número máximo de objetos retornados por página.
  + Faixa válida: valor mínimo de 1. Valor máximo de 100
+ **NextToken**

  O token de paginação da chamada de ListCalculatedAttributeDefinition API anterior.
  + Restrições de comprimento: tamanho mínimo de 1. Tamanho máximo de 1.024

------