

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connessione a Intercom in AWS Glue Studio
<a name="connecting-to-data-intercom"></a>

 Intercom è il sistema operativo Engagement, un canale aperto tra l'azienda e i clienti, sul prodotto, sul momento e alle condizioni stabilite, che crea un dialogo continuo che consente di sfruttare al meglio ogni coinvolgimento lungo tutto il percorso del cliente. 

**Topics**
+ [AWS Glue supporto per Intercom](intercom-support.md)
+ [Policy contenenti le operazioni API per creare e utilizzare le connessioni](intercom-configuring-iam-permissions.md)
+ [Configurazione di Intercom](intercom-configuring.md)
+ [Configurazione delle connessioni Intercom](intercom-configuring-connections.md)
+ [Lettura da entità Intercom](intercom-reading-from-entities.md)
+ [Opzioni di connessione Intercom](intercom-connection-options.md)
+ [Limitazioni](intercom-limitations.md)
+ [Creazione di un nuovo account di Intercom e configurazione dell'app client](intercom-new-account-creation.md)

# AWS Glue supporto per Intercom
<a name="intercom-support"></a>

AWS Glue supporta Intercom come segue:

**Supportato come origine?**  
Sì. È possibile utilizzare i job AWS Glue ETL per interrogare i dati da Intercom.

**Supportato come destinazione?**  
No.

**Versioni API di Intercom supportate**  
 v2.5. Per il supporto delle entità per versione specifica, consulta [Lettura da entità Intercom](intercom-reading-from-entities.md). 

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="intercom-configuring-iam-permissions"></a>

 Nella seguente policy di esempio sono descritte le autorizzazioni IAM per creare e utilizzare le connessioni. Se si sta creando un nuovo ruolo, creare una policy che contenga quanto segue: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

È anche possibile utilizzare le seguenti policy IAM per autorizzare l'accesso:
+  [ AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Garantisce l'accesso alle risorse che AWS Glue i vari processi richiedono per l'esecuzione per conto dell'utente. Queste risorse includono AWS Glue Amazon S3 Amazon CloudWatch Logs, IAM e Amazon EC2. Se segui la convenzione di denominazione delle risorse specificata in questa politica, AWS Glue i processi dispongono delle autorizzazioni necessarie. Questa policy è in genere collegata ai ruoli specificati quando si definiscono crawler, processi ed endpoint di sviluppo. 
+  [ AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Concede l'accesso completo alle AWS Glue risorse quando un'identità a cui è allegata la policy utilizza la AWS console di gestione. Se si segue la convenzione per la denominazione per le risorse specificate nella policy, gli utenti hanno la piena funzionalità della console. Questa policy è in genere associata agli utenti della AWS Glue console. 

# Configurazione di Intercom
<a name="intercom-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento da Intercom, è necessario soddisfare i seguenti requisiti:

## Requisiti minimi
<a name="intercom-configuring-min-requirements"></a>
+  Hai un account Intercom. Per ulteriori informazioni, consulta [Creazione di un nuovo account di Intercom e configurazione dell'app client](intercom-new-account-creation.md). 
+  L'account Intercom è abilitato per l'accesso alle API. 
+  Dovresti avere un'app nell'account sviluppatore Intercom che fornisca le credenziali del client da AWS Glue utilizzare per accedere ai tuoi dati in modo sicuro quando effettua chiamate autenticate verso il tuo account. Per ulteriori informazioni, consulta Intercom: passaggi per la creazione di nuovi account e app client. 

 Se soddisfi questi requisiti, sei pronto per AWS Glue connetterti al tuo account Intercom. 

# Configurazione delle connessioni Intercom
<a name="intercom-configuring-connections"></a>

 Intercom supporta il tipo di `AUTHORIZATION_CODE` concessione per OAuth 2. 

 Questo tipo di concessione è considerato «a tre gambe» in OAuth quanto si basa sul reindirizzamento degli utenti al server di autorizzazione di terze parti per autenticare l'utente. Viene utilizzato durante la creazione di connessioni tramite la console. AWS Glue La AWS Glue Console reindirizzerà l'utente a Google Ads, dove l'utente deve effettuare il login e consentire AWS Glue le autorizzazioni richieste per accedere alla propria istanza Intercom. 

 Gli utenti devono fornire il proprio ID client e il proprio client secret quando creano connessioni tramite la Console. AWS Glue In questo scenario, verranno comunque reindirizzati a Intercom per effettuare il login e autorizzare l'accesso AWS Glue alle proprie risorse. 

 Questo tipo di concessione genera un token di aggiornamento e un token di accesso. Il token di accesso dura poco tempo e può essere aggiornato automaticamente senza l'interazione dell'utente utilizzando il token di aggiornamento. 

 [Per ulteriori informazioni sulla creazione di un'app connessa per il OAuth flusso del codice di autorizzazione, consulta Ads API.](https://developers.intercom.com/building-apps/docs/setting-up-oauth) 

Per configurare una connessione Intercom:

1.  In AWS Secrets Manager, crea un segreto con i seguenti dettagli. È necessario creare un segreto per ogni connessione in AWS Glue. 

   1.  Per l'app connessa gestita dal cliente, il segreto deve contenere il token di accesso all'app connessa, il token di aggiornamento, client\$1id e client\$1secret. 

1. In AWS Glue Glue Studio, crea una connessione in **Connessioni dati** seguendo i passaggi seguenti: 

   1. In **Tipo di connessione**, seleziona Intercom.

   1. Fornisci l'ambiente Intercom.

   1.  Seleziona il ruolo IAM che AWS Glue può assumere e dispone delle autorizzazioni per le seguenti azioni: 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1.  Seleziona quello `secretName` che desideri utilizzare per questa connessione per AWS Glue inserire i token. 

   1.  Selezionare le opzioni di rete se si desidera utilizzare la propria rete. 

1.  Concedi il permesso di lettura `secretName` al ruolo IAM associato al tuo AWS Glue lavoro. 

# Lettura da entità Intercom
<a name="intercom-reading-from-entities"></a>

 **Prerequisiti** 
+  Un oggetto di Intercom da cui desideri leggere. Consultare la tabella delle entità supportate qui di seguito per verificare quelle disponibili. 

 **Entità supportate** 


| Entità | API\$1Vversione | Può essere Filtrato | Supporta Limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta Partizionamento | 
| --- | --- | --- | --- | --- | --- | --- | 
| Admins | v2.5 | No | No | No | Sì | No | 
| Aziende | v2.5 | No | Sì | No | Sì | No | 
| Conversazioni | v2.5 | Sì  | Sì | Sì | Sì | Sì | 
| Attributi dei dati | v2.5 | No | No | No | Sì | No | 
| Contatti | v2.5 | Sì  | Sì | Sì | Sì | Sì | 
| Segmenti | v2.5 | No | No | No | Sì | No | 
| Tag | v2.5 | No | No | No | Sì | No | 
| Team | v2.5 | No | No | No | Sì | No | 

 **Esempio** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "V2.5"
    }
)
```

 **Dettagli dell'entità e del campo di Intercom** 


| Entità | Campo | Tipo di dati | Operatori supportati | 
| --- | --- | --- | --- | 
| Admins | tipo | Stringa | N/A | 
| Admins | id | Stringa | N/A | 
| Admins | avatar | Struct | N/A | 
| Admins | nome | Stringa | N/A | 
| Admins | e-mail | Stringa | N/A | 
| Admins | away\$1mode\$1enabled | Booleano | N/A | 
| Admins | away\$1mode\$1reassign | Booleano | N/A | 
| Admins | has\$1inbox\$1seat | Booleano | N/A | 
| Admins | teams\$1ids | List | N/A | 
| Admins | job\$1title | Stringa | N/A | 
| Aziende | tipo | Stringa | N/A | 
| Aziende | id | Stringa | N/A | 
| Aziende | app\$1id | Stringa | N/A | 
| Aziende | created\$1at | DateTime | N/A | 
| Aziende | remote\$1created\$1at | DateTime | N/A | 
| Aziende | updated\$1at | DateTime | N/A | 
| Aziende | last\$1request\$1at | DateTime | N/A | 
| Aziende | pianificazione | Struct | N/A | 
| Aziende | company\$1id | Stringa | N/A | 
| Aziende | nome | Stringa | N/A | 
| Aziende | custom\$1attributes | Struct | N/A | 
| Aziende | session\$1count | Numero intero | N/A | 
| Aziende | monthly\$1spend | Numero intero | N/A | 
| Aziende | user\$1count | Numero intero | N/A | 
| Aziende | Industria | Stringa | N/A | 
| Aziende | formato | Numero intero | N/A | 
| Aziende | website | Stringa | N/A | 
| Aziende | tag | Struct | N/A | 
| Aziende | segmenti | Struct | N/A | 
| Contatti | id | Stringa | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Contatti | tipo | Stringa | N/A | 
| Contatti | workspace\$1id | Stringa | N/A | 
| Contatti | external\$1id | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | role | Stringa | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Contatti | e-mail | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | telefono | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | nome | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | avatar | Stringa | N/A | 
| Contatti | owner\$1id | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | social\$1profiles | Struct | N/A | 
| Contatti | has\$1hard\$1bounced | Booleano | EQUAL\$1TO | 
| Contatti | marked\$1email\$1as\$1spam | Booleano | EQUAL\$1TO | 
| Contatti | unsubscribed\$1from\$1emails | Booleano | EQUAL\$1TO | 
| Contatti | created\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | updated\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | signed\$1up\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | last\$1seen\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | last\$1replied\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | last\$1contacted\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | last\$1email\$1opened\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | last\$1email\$1clicked\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Contatti | language\$1override | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | browser | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | browser\$1version | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | browser\$1language | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | so | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | location | Struct | N/A | 
| Contatti | location\$1country | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | location\$1region | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | location\$1city | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | android\$1app\$1name | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | android\$1app\$1version | Stringa | N/A | 
| Contatti | android\$1device | Stringa | N/A | 
| Contatti | android\$1os\$1version | Stringa | N/A | 
| Contatti | android\$1sdk\$1version | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | android\$1last\$1seen\$1at | Data | N/A | 
| Contatti | ios\$1app\$1name | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | ios\$1app\$1version | Stringa | N/A | 
| Contatti | ios\$1device | Stringa | N/A | 
| Contatti | ios\$1os\$1version | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | ios\$1sdk\$1version | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Contatti | ios\$1last\$1seen\$1at | DateTime | N/A | 
| Contatti | custom\$1attributes | Struct | N/A | 
| Contatti | tag | Struct | N/A | 
| Contatti | notes | Struct | N/A | 
| Contatti | aziende | Struct | N/A | 
| Contatti | unsubscribed\$1from\$1sms | Booleano | N/A | 
| Contatti | sms\$1consent | Booleano | N/A | 
| Contatti | opted\$1out\$1subscription\$1types | Struct | N/A | 
| Contatti | referrer | Stringa | N/A | 
| Contatti | utm\$1campaign | Stringa | N/A | 
| Contatti | utm\$1content | Stringa | N/A | 
| Contatti | utm\$1medium | Stringa | N/A | 
| Contatti | utm\$1source | Stringa | N/A | 
| Contatti | utm\$1term | Stringa | N/A | 
| Conversazioni | tipo | Stringa | N/A | 
| Conversazioni | id | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | created\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | updated\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | origine | Struct | N/A | 
| Conversazioni | source\$1id | Stringa | EQUAL\$1TO, NON\$1EQUAL\$1TO | 
| Conversazioni | source\$1type | Stringa | EQUAL\$1TO, NOT\$1EQUAL\$1TO, | 
| Conversazioni | source\$1delivered\$1as | Stringa | EQUAL\$1TO, NOT\$1EQUAL\$1TO, | 
| Conversazioni | source\$1subject | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1body | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1author\$1id | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1author\$1type | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1author\$1name | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1author\$1email | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | source\$1url | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | contatti | Struct | N/A | 
| Conversazioni | compagni di squadra | Struct | N/A | 
| Conversazioni | titolo | Stringa | N/A | 
| Conversazioni | admin\$1assignee\$1id | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | team\$1assignee\$1id | Numero intero | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | custom\$1attributes | Struct | N/A | 
| Conversazioni | aperto | Booleano | EQUAL\$1TO | 
| Conversazioni | stato | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | read | Booleano | EQUAL\$1TO | 
| Conversazioni | waiting\$1since | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | snoozed\$1until | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | tag | Struct | N/A | 
| Conversazioni | first\$1contact\$1reply | Struct | N/A | 
| Conversazioni | priority | Stringa | EQUAL\$1TO, NON\$1EQUAL\$1TO | 
| Conversazioni | topics | Struct | N/A | 
| Conversazioni | sla\$1applied | Struct | N/A | 
| Conversazioni | conversation\$1rating | Struct | N/A | 
| Conversazioni | conversation\$1rating\$1requested\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | conversation\$1rating\$1replied\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | conversation\$1rating\$1score | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | conversation\$1rating\$1remark | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | conversation\$1rating\$1contact\$1id | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | conversation\$1rating\$1admin\$1id | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | statistiche | Struct | N/A | 
| Conversazioni | statistics\$1time\$1to\$1assignment | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1time\$1to\$1admin\$1reply | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1time\$1to\$1first\$1close | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1time\$1to\$1last\$1close | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1median\$1time\$1to\$1reply | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1first\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1first\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1first\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1first\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1assignment\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1last\$1closed\$1by\$1id | Stringa | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Conversazioni | statistics\$1count\$1reopens | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1count\$1assignments | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | statistics\$1count\$1conversation\$1parts | Numero intero | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Conversazioni | conversation\$1parts | List | N/A | 
| Attributi dei dati | id | Numero intero | N/A | 
| Attributi dei dati | tipo | Stringa | N/A | 
| Attributi dei dati | modello | Stringa | N/A | 
| Attributi dei dati | nome | Stringa | N/A | 
| Attributi dei dati | full\$1name | Stringa | N/A | 
| Attributi dei dati | etichetta | Stringa | N/A | 
| Attributi dei dati | description | Stringa | N/A | 
| Attributi dei dati | data\$1type | Stringa | N/A | 
| Attributi dei dati | options | List | N/A | 
| Attributi dei dati | api\$1writable | Booleano | N/A | 
| Attributi dei dati | ui\$1writable | Booleano | N/A | 
| Attributi dei dati | personalizzato | Booleano | N/A | 
| Attributi dei dati | archived | Booleano | N/A | 
| Attributi dei dati | created\$1at | Booleano | N/A | 
| Attributi dei dati | updated\$1at | DateTime | N/A | 
| Attributi dei dati | admin\$1id | Stringa | N/A | 
| Segmenti | tipo | Stringa | N/A | 
| Segmenti | id | Stringa | N/A | 
| Segmenti | nome | Stringa | N/A | 
| Segmenti | created\$1at | DateTime | N/A | 
| Segmenti | updated\$1at | DateTime | N/A | 
| Segmenti | person\$1type | Stringa | N/A | 
| Segmenti | count | Numero intero | N/A | 
| Tag | tipo | Stringa | N/A | 
| Tag | id | Stringa | N/A | 
| Tag | nome | Stringa | N/A | 
| Team | tipo | Stringa | N/A | 
| Team | id | Stringa | N/A | 
| Team | nome | Stringa | N/A | 
| Team | admin\$1ids | List | N/A | 

 **Query di partizionamento** 

 Se si desidera utilizzare la simultaneità in Spark, possono essere fornite opzioni Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND`, `NUM_PARTITIONS` aggiuntive. Con questi parametri, la query originale viene suddivisa in `NUM_PARTITIONS` query secondarie che possono essere eseguite contemporaneamente dalle attività Spark. 
+  `PARTITION_FIELD`: il nome del campo da utilizzare per partizionare la query. 
+  `LOWER_BOUND`: un valore limite inferiore inclusivo del campo di partizione scelto. 

   Per la data, accettiamo il formato di data di Spark utilizzato nelle query di Spark SQL. Esempio di valori validi: `"2024-02-06"`. 
+  `UPPER_BOUND`: un valore limite superiore esclusivo del campo di partizione scelto. 
+  `NUM_PARTITIONS`: numero di partizioni. 

 I dettagli di supporto del campo di partizionamento per entità sono riportati nella tabella seguente. 


| Nome entità | Campo di partizionamento | Tipo di dati | 
| --- | --- | --- | 
| Contatti | created\$1at, updated\$1at,last\$1seen\$1at | DateTime | 
| Conversazioni | id | Numero intero | 
| Conversazioni | created\$1at, updated\$1at | DateTime | 

 **Esempio** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversation",
        "API_VERSION": "V2.5",
        "PARTITION_FIELD": "created_at"
        "LOWER_BOUND": "2022-07-13T07:55:27.065Z"
        "UPPER_BOUND": "2022-08-12T07:55:27.065Z"
        "NUM_PARTITIONS": "2"
    }
)
```

# Opzioni di connessione Intercom
<a name="intercom-connection-options"></a>

Di seguito sono riportate le opzioni di connessione per Intercom:
+  `ENTITY_NAME`(String): (obbligatorio) utilizzato per la lettura. Il nome dell'oggetto in Intercom. 
+  `API_VERSION`(String): (obbligatorio) utilizzato per la lettura. Versione di Rest API di Intercom da utilizzare. Esempio: v2.5. 
+  `SELECTED_FIELDS`(List<String>): predefinito: vuoto (SELECT \$1). Utilizzato per la lettura. Colonne da selezionare per l'oggetto. 
+  `FILTER_PREDICATE`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Dev'essere in formato Spark SQL. 
+  `QUERY`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Query Spark SQL completa. 
+  `PARTITION_FIELD`(Stringa): utilizzato per la lettura. Campo da utilizzare per partizionare la query. 
+  `LOWER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite inferiore inclusivo del campo di partizione scelto. 
+  `UPPER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite superiore esclusivo del campo di partizione scelto. 
+  `NUM_PARTITIONS`(Numero intero): predefinito: 1. Utilizzato per la lettura. Numero di partizioni da leggere. 
+  `INSTANCE_URL`(Stringa): URL dell'istanza in cui l'utente desidera eseguire le operazioni. Ad esempio: [https://api.intercom.io.](https://api.intercom.io) 

# Limitazioni
<a name="intercom-limitations"></a>

Di seguito sono riportate le limitazioni per il connettore di Intercom:
+  Quando si utilizza l'entità aziendale, è possibile restituire un limite di 10.000 aziende. Per ulteriori informazioni, consulta l'[API Elenca tutte le aziende](https://developers.intercom.com/docs/references/2.5/rest-api/companies/list-companies). 
+  Durante l'applicazione di “Order By”, il filtro è obbligatorio sia per le entità **Contatto** che per le entità **Conversazione**. 
+  MCA è supportato dal provider SaaS. Tuttavia, in base ai limiti di velocità delle API menzionati nella documentazione, non ospiteremo MCA in AWS Glue quanto potrebbe influire su altri carichi di lavoro e potenzialmente causare problemi di prestazioni a causa della contesa delle risorse. 

# Creazione di un nuovo account di Intercom e configurazione dell'app client
<a name="intercom-new-account-creation"></a>

**Creazione di un account Intercom**

1. Scegli l'[URL di Intercom](https://app.intercom.com/) e scegli **Inizia la prova gratuita** nell'angolo in alto a destra della pagina.

1. Scegli il **pulsante Prova gratis** nell'angolo in alto a destra della pagina.

1. Scegli il tipo di attività di cui hai bisogno. 

1. Immetti tutte le informazioni richieste nella pagina.

1. Dopo aver inserito tutte le informazioni, scegli **Iscriviti**.



**Creazione di un'app per sviluppatori Intercom**

Per ottenere l'**ID client** e il **segreto client** devi creare un account sviluppatore.

1. Vai su [https://app.intercom.com/](https://app.intercom.com/).

1. Inserisci l'ID e-mail e la password/Accedi utilizzando Google e accedi.

1. Scegli il **profilo utente** nell'angolo in basso a sinistra e scegli le impostazioni.

1. Scegli **App e integrazione**.

1. Scegli la scheda **Developer Hub** in **App e integrazione**.

1. Scegli **Nuova app** e crea l'app qui.

1. Fornisci il nome dell'app e scegli **Crea** app.

1. All'interno dell'app, vai alla sezione **Autenticazione**.

1. Scegli la **modifica** e aggiungi il reindirizzamento URIs. Aggiungi l'URL di reindirizzamento specifico della tua regione come `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth`. Per un esempio, aggiungi `https://us-east-1.console.aws.amazon.com/gluestudio/oauth for the us-east-1 region`.

1. Ottieni l'**ID client** e il **segreto client** generati nella sezione Informazioni di base.