

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghubungkan ke Freshsales
<a name="connecting-to-data-freshsales"></a>

Freshsales adalah CRM intuitif yang membantu tenaga penjualan mengeluarkan dugaan dari penjualan. Dengan telepon dan email bawaan, tugas, janji temu dan catatan, tenaga penjualan tidak perlu beralih di antara tab untuk menindaklanjuti prospek. Anda dapat mengelola penawaran Anda dengan lebih baik dengan tampilan pipeline dan mendorong lebih banyak penawaran ke penutupan. Jika Anda adalah pengguna Freshsales, Anda dapat terhubung AWS Glue ke akun Freshsales Anda. Anda dapat menggunakan Freshsales sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Freshsales ke AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Freshsales](freshsales-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](freshsales-configuring-iam-permissions.md)
+ [Mengkonfigurasi Freshsales](freshsales-configuring.md)
+ [Mengkonfigurasi koneksi Freshsales](freshsales-configuring-connections.md)
+ [Membaca dari entitas Freshsales](freshsales-reading-from-entities.md)
+ [Opsi koneksi Freshsales](freshsales-connection-options.md)
+ [Keterbatasan Freshsales](freshsales-connection-limitations.md)

# AWS Glue dukungan untuk Freshsales
<a name="freshsales-support"></a>

AWS Glue mendukung Freshsales sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk meminta data dari Freshsales.

**Didukung sebagai target?**  
Tidak.

**Versi API Freshsales yang didukung**  
Versi API Freshsales berikut didukung:
+ v1.0

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="freshsales-configuring-iam-permissions"></a>

Kebijakan contoh berikut menjelaskan izin AWS IAM yang diperlukan untuk membuat dan menggunakan koneksi. Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut:

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

****  

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

------

Jika Anda tidak ingin menggunakan metode di atas, gunakan kebijakan IAM terkelola berikut ini:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Memberikan akses ke sumber daya yang diperlukan berbagai AWS Glue proses untuk dijalankan atas nama Anda. Sumber daya ini termasuk AWS Glue, Amazon S3, IAM, CloudWatch Log, dan Amazon. EC2 Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, AWS Glue proses memiliki izin yang diperlukan. Kebijakan ini biasanya dilampirkan pada peran yang ditentukan saat menentukan crawler, tugas, dan titik akhir pengembangan.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Memberikan akses penuh ke AWS Glue sumber daya saat identitas yang dilampirkan kebijakan menggunakan Konsol AWS Manajemen. Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol.

# Mengkonfigurasi Freshsales
<a name="freshsales-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Freshsales, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="freshsales-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Freshsales.
+ Anda memiliki kunci API pengguna.

Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Freshsales Anda. Untuk koneksi biasa, Anda tidak perlu melakukan hal lain di Freshsales.

# Mengkonfigurasi koneksi Freshsales
<a name="freshsales-configuring-connections"></a>

Freshsales mendukung otentikasi kustom.

[Untuk dokumentasi Freshsales publik tentang pembuatan kunci API yang diperlukan untuk autentikasi kustom, lihat Autentikasi.](https://developer.freshsales.io/api/#authentication)

Untuk mengkonfigurasi koneksi Freshsales:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut:

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `apiSecretKey` sebagai kunci. Rahasia juga perlu berisi pasangan kunci-nilai lain dengan `apiKey` sebagai kunci dan `token` sebagai nilai.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda di AWS Glue.

1. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini:

   1. Saat memilih **Sumber Data**, pilih Freshsales.

   1. Berikan akun Freshsales yang ingin Anda sambungkan. `INSTANCE_URL`

   1. Pilih peran AWS IAM yang AWS Glue dapat mengasumsikan dan memiliki izin untuk tindakan berikut:

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

****  

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

------

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token.

   1. Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda.

1. Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`.

# Membaca dari entitas Freshsales
<a name="freshsales-reading-from-entities"></a>

**Prasyarat**

Objek Freshsales yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Akun | Ya | Ya | Ya | Ya | Ya | 
| Kontak  | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1.0"
     }
```

**Entitas Freshsales dan detail bidang**:

Freshsales menyediakan titik akhir untuk mengambil metadata secara dinamis untuk entitas yang didukung. Dengan demikian, dukungan operator ditangkap pada tingkat tipe data.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/freshsales-reading-from-entities.html)

## Mempartisi kueri
<a name="freshsales-reading-partitioning-queries"></a>

Partisi **berbasis filter**:

Anda dapat memberikan opsi Spark tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, dan `NUM_PARTITIONS` jika Anda ingin memanfaatkan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.
+ `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`: nilai batas bawah **inklusif** dari bidang partisi yang dipilih.

  Untuk bidang Datetime, kami menerima nilai dalam format ISO.

  Contoh nilai valid:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-15T21:16:25Z"
         "UPPER_BOUND": " 2024-10-20T21:25:50Z"
         "NUM_PARTITIONS": "10"
     }
```

# Opsi koneksi Freshsales
<a name="freshsales-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Freshsales:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Freshsales.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Freshsales Rest API yang ingin Anda gunakan.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh.
+ `PARTITION_FIELD`(String) - Digunakan untuk Baca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`(String) - Digunakan untuk Baca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca.
+ `INSTANCE_URL`(String) - Digunakan untuk Baca. URL instance Freshsales yang valid.

# Keterbatasan Freshsales
<a name="freshsales-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Freshsales:
+ Di Freshsales, batas API Rate adalah 1000 permintaan API per jam per akun (lihat [Kesalahan](https://developer.freshsales.io/api/#error). Tetapi batas ini dapat diperpanjang dengan paket langganan Enterprise (lihat [perbandingan paket](https://www.freshworks.com/crm/pricing-compare/)).