

# Leitura de entidades do Freshdesk
<a name="freshdesk-reading-from-entities"></a>

**Pré-requisito**

Um objeto do Freshdesk do qual você deseja ler. Você precisará do nome do objeto.

**Entidades compatíveis com a fonte de Sync**:


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Agentes | Sim | Sim | Não | Sim | Sim | 
| Horário comercial | Não | Sim | Não | Sim | Sim | 
| Empresa | Sim | Sim | Não | Sim | Sim | 
| Contatos | Sim | Sim | Não | Sim | Sim | 
| Conversas | Não | Sim | Não | Sim | Não | 
| Configurações de e-mail | Não | Sim | Não | Sim | Não | 
| Caixas de entrada de e-mail | Sim | Sim | Sim | Sim | Não | 
| Categorias do fórum | Não | Sim | Não | Sim | Não | 
| Fóruns | Não | Sim | Não | Sim | Não | 
| Grupos | Não | Sim | Não | Sim | Não | 
| Produtos | Não | Sim | Não | Sim | Não | 
| Perfis | Não | Sim | Não | Sim | Não | 
| Classificação de satisfação | Sim | Sim | Não | Sim | Não | 
| Habilidades | Não | Sim | Não | Sim | Não | 
| Soluções | Sim | Sim | Não | Sim | Não | 
| Pesquisas | Não | Sim | Não | Sim | Não | 
| Tíquetes | Sim | Sim | Sim | Sim | Sim | 
| Registros de tempo | Sim | Sim | Não | Sim | Não | 
| Tópicos | Não | Sim | Não | Sim | Não | 
| Comentários do tópico | Não | Sim | Não | Sim | Não | 

**Entidades compatíveis com a fonte de ASYNC**:


| Entidade | Versão da API | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | --- | 
| Empresas | v2 | Não | Não | Não | Não | Não | 
| Contatos | v2 | Não | Não | Não | Não | Não | 

**Exemplo:**

```
freshdesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="freshdesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v2"
    }
```

**Detalhes de entidades e campos do Slack**


| Entidade | Campo | 
| --- | --- | 
| Agentes | https://developers.freshdesk.com/api/\$1list\$1all\$1agents | 
| Horário comercial | https://developers.freshdesk.com/api/\$1list\$1all\$1business\$1hours | 
| Comentários | https://developers.freshdesk.com/api/\$1comment\$1attributess | 
| Empresa | https://developers.freshdesk.com/api/\$1companies | 
| Contatos | https://developers.freshdesk.com/api/\$1list\$1all\$1contacts | 
| Conversas | https://developers.freshdesk.com/api/\$1list\$1all\$1ticket\$1notes | 
| Configurações de e-mail | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1configs | 
| Caixas de entrada de e-mail | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1mailboxes | 
| Categorias do fórum | https://developers.freshdesk.com/api/\$1category\$1attributes | 
| Fóruns | https://developers.freshdesk.com/api/\$1forum\$1attributes | 
| Grupos | https://developers.freshdesk.com/api/\$1list\$1all\$1groups | 
| Produtos | https://developers.freshdesk.com/api/\$1list\$1all\$1products | 
| Perfis | https://developers.freshdesk.com/api/\$1list\$1all\$1roles | 
| Classificação de satisfação | https://developers.freshdesk.com/api/\$1view\$1all\$1satisfaction\$1ratingss | 
| Habilidades | https://developers.freshdesk.com/api/\$1list\$1all\$1skills | 
| Soluções | https://developers.freshdesk.com/api/\$1solution\$1content | 
| Pesquisas | https://developers.freshdesk.com/api/\$1list\$1all\$1survey | 
| Tíquetes | https://developers.freshdesk.com/api/\$1list\$1all\$1tickets | 
| Registros de tempo | https://developers.freshdesk.com/api/\$1list\$1all\$1time\$1entries | 
| Tópicos | https://developers.freshdesk.com/api/\$1topic\$1attributes | 

## Particionamento de consultas
<a name="freshdesk-reading-partitioning-queries"></a>

**Particionamento baseado em filtro**:

É possível fornecer as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em `NUM_PARTITIONS` subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
+ `PARTITION_FIELD`: o nome do campo a ser usado para particionar a consulta.
+ `LOWER_BOUND`: um valor limite inferior **inclusivo** do campo de partição escolhido.

  No campo Datetime, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark.

  Exemplos de valores válidos:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: um valor limite superior **exclusivo** do campo de partição escolhido.
+ `NUM_PARTITIONS`: o número de partições.

Exemplo:

```
freshDesk_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshdesk",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v2",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-27T23:16:08Z“
         "UPPER_BOUND": " 2024-10-27T23:16:08Z"
         "NUM_PARTITIONS": "10"
     }
```