

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

 **Pré-requisitos** 
+  Um objeto do Pipedrive do qual você deseja ler. Consulte a tabela de entidades compatíveis abaixo para verificar as entidades disponíveis. 

 **Entidades compatíveis** 


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \* | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Atividades | Sim | Sim | Não | Sim | Sim | 
| Tipo de atividade | Não | Não | Não | Sim | Não | 
| Logs de chamadas | Não | Não | Não | Sim | Não | 
| Moedas | Sim | Sim | Não | Sim | Não | 
| Ofertas | Sim | Sim | Sim | Sim | Sim | 
| Leads | Sim | Sim | Sim | Sim | Não | 
| Fontes de leads | Não | Sim | Não | Sim | Não | 
| Rótulos de leads | Não | Não | Não | Não | Não | 
| Observações | Sim | Sim | Sim | Sim | Sim | 
| Organização | Sim | Sim | Não | Sim | Sim | 
| Conjuntos de permissões | Sim | Não | Não | Sim | Não | 
| Pessoas | Sim | Sim | Sim | Sim | Sim | 
| Pipelines | Não | Sim | Não | Sim | Não | 
| Produtos | Sim | Sim | Não | Sim | Sim | 
| Perfis | Não | Sim | Não | Sim | Não | 
| Estágios | Sim | Sim | Não | Sim | Não | 
| Usuários | Não | Não | Não | Sim | Não | 

 **Exemplo** 

```
pipedrive_read= glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1"
    }
```

 **Detalhes das entidades e dos campos do Pipedrive** 

 Lista de entidades: 
+  Atividades: [https://developers.pipedrive.com/docs/api/v1/Activities](https://developers.pipedrive.com/docs/api/v1/Activities) 
+  Tipo de atividade: [https://developers.pipedrive.com/docs/api/v1/ActivityTypes](https://developers.pipedrive.com/docs/api/v1/ActivityTypes) 
+  Logs de chamadas: [https://developers.pipedrive.com/docs/api/v1/CallLogs](https://developers.pipedrive.com/docs/api/v1/CallLogs) 
+  Moedas: [https://developers.pipedrive.com/docs/api/v1/Currencies](https://developers.pipedrive.com/docs/api/v1/Currencies) 
+  Ofertas: [https://developers.pipedrive.com/docs/api/v1/Deals](https://developers.pipedrive.com/docs/api/v1/Deals) 
+  Leads: [https://developers.pipedrive.com/docs/api/v1/Leads](https://developers.pipedrive.com/docs/api/v1/Leads) 
+  Fontes de leads: [https://developers.pipedrive.com/docs/api/v1/LeadSources](https://developers.pipedrive.com/docs/api/v1/LeadSources) 
+  Rótulos de leads: [https://developers.pipedrive.com/docs/api/v1/LeadLabels](https://developers.pipedrive.com/docs/api/v1/LeadLabels) 
+  Observações: [https://developers.pipedrive.com/docs/api/v1/Notes](https://developers.pipedrive.com/docs/api/v1/Notes) 
+  Organizações: [https://developers.pipedrive.com/docs/api/v1/Organizations](https://developers.pipedrive.com/docs/api/v1/Organizations) 
+  Conjuntos de permissões: [https://developers.pipedrive.com/docs/api/v1/PermissionSets](https://developers.pipedrive.com/docs/api/v1/PermissionSets) 
+  Pessoas: [https://developers.pipedrive.com/docs/api/v1/Persons](https://developers.pipedrive.com/docs/api/v1/Persons) 
+  Pipelines: [https://developers.pipedrive.com/docs/api/v1/Pipelines](https://developers.pipedrive.com/docs/api/v1/Pipelines) 
+  Produtos: [https://developers.pipedrive.com/docs/api/v1/Products](https://developers.pipedrive.com/docs/api/v1/Products) 
+  Perfis: [https://developers.pipedrive.com/docs/api/v1/Roles](https://developers.pipedrive.com/docs/api/v1/Roles) 
+  Estágios: [https://developers.pipedrive.com/docs/api/v1/Stages](https://developers.pipedrive.com/docs/api/v1/Stages) 
+  Usuários: [https://developers.pipedrive.com/docs/api/v1/Users](https://developers.pipedrive.com/docs/api/v1/Users) 


| Entidade | Tipo de dado | Operadores com suporte | 
| --- | --- | --- | 
| Atividades, Ofertas, Observações, Organização, Pessoas e Produtos. | Data | '=' | 
|  | Inteiro | '=' | 
|  | String | '=' | 
|  | Booleano | '=' | 

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

 No Pipedrive, apenas um campo (due\_date) da entidade Atividades oferece suporte ao particionamento baseado em campos, que é um campo de Data. 

 Podem ser fornecidas as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se você 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. 

   Na data, aceitamos o formato de data do Spark usado em consultas SQL do Spark. Exemplo de valores válidos: `"2024-02-06"`. 
+  `UPPER_BOUND`: um valor limite superior exclusivo do campo de partição escolhido. 
+  `NUM_PARTITIONS`: número de partições. 

 **Exemplo** 

```
pipedrive_read = glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "due_date"
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z"
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```