

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

# Meneruskan atribut kontak ke agen di Contact Control Panel (CCP) saat obrolan dimulai
<a name="pass-contact-attributes-chat"></a>

Anda dapat menggunakan [atribut kontak](what-is-a-contact-attribute.md) untuk menangkap informasi tentang kontak yang menggunakan widget komunikasi. Kemudian, Anda dapat menampilkan informasi tersebut kepada agen melalui Contact Control Panel (CCP), atau menggunakannya di tempat lain dalam alur.

Misalnya, Anda dapat menyesuaikan alur Anda untuk menyebutkan nama pelanggan dalam pesan selamat datang Anda. Atau, Anda dapat menggunakan atribut khusus untuk bisnis Anda, seperti account/member IDs, pengenal pelanggan seperti nama dan email, atau metadata lain yang terkait dengan kontak.

## Cara meneruskan atribut kontak ke widget komunikasi
<a name="how-to-contact-attributes-chatwidget"></a>

1. Aktifkan keamanan di widget komunikasi seperti yang dijelaskan dalam[Tambahkan antarmuka pengguna obrolan ke situs web Anda yang dihosting oleh Amazon Connect](add-chat-to-website.md), jika Anda belum melakukannya:

   1. Pada Langkah 2, di bawah **Tambahkan keamanan untuk widget obrolan Anda**, pilih **Ya**.

   1. Pada Langkah 3, gunakan kunci keamanan untuk menghasilkan token web JSON.

1. Tambahkan atribut kontak ke payload JWT Anda sebagai klaim. `attributes`

   Berikut ini adalah contoh bagaimana Anda dapat menghasilkan JWT dengan atribut kontak di Python:
**catatan**  
JWT harus diinstal sebagai prasyarat. Untuk menginstalnya, jalankan `pip install PyJWT` di terminal Anda.

   ```
   import jwt 
   import datetime 
   CONNECT_SECRET = "{{your-securely-stored-jwt-secret}}" 
   WIDGET_ID = "widget-id" 
   JWT_EXP_DELTA_SECONDS = 500
   
   payload = { 
   'sub': WIDGET_ID, 
   'iat': datetime.datetime.utcnow(), 
   'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=JWT_EXP_DELTA_SECONDS), 
   'segmentAttributes': {"connect:Subtype": {"ValueString" : "connect:Guide"}}, 'attributes': {"name": "Jane", "memberID": "123456789", "email": "Jane@example.com", "isPremiumUser": "true", "age": "45"} } 
   header = { 'typ': "JWT", 'alg': 'HS256' } 
   encoded_token = jwt.encode((payload), CONNECT_SECRET, algorithm="HS256", headers=header) // CONNECT_SECRET is the security key provided by Amazon Connect
   ```

   Dalam payload, Anda harus membuat kunci string `attributes` (apa adanya, semua huruf kecil), dengan objek sebagai nilainya. Objek itu harus memiliki pasangan string-to-string kunci-nilai. Jika sesuatu selain string diteruskan di salah satu atribut, obrolan akan gagal untuk memulai. 

   Atribut kontak harus mengikuti batasan yang ditetapkan oleh [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html#connect-StartChatContact-request-Attributes)API: 
   + Kunci harus memiliki panjang minimal 1
   + Nilai dapat memiliki panjang minimum 0

Secara opsional, Anda dapat menambahkan string SegmentAttributes ke peta [SegmentAttributeValue](https://docs.aws.amazon.com/connect/latest/APIReference/API_SegmentAttributeValue.html)objek, di payload. Atribut adalah Connect Customer atribut standar. Mereka dapat diakses dalam arus. Atribut kontak harus mengikuti batasan yang ditetapkan oleh [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html#connect-StartChatContact-request-SegmentAttributes)API.

## Metode alternatif: Lulus atribut kontak langsung dari kode cuplikan
<a name="pass-attributes-directly"></a>

**catatan**  
Kode cuplikan ditambahkan `HostedWidget-` ke semua kunci atribut kontak yang diteruskan. Pada contoh berikut, sisi agen akan melihat pasangan nilai kunci`HostedWidget-foo: 'bar'`.
Meskipun atribut ini dicakup dengan `HostedWidget-` awalan, mereka masih merupakan situs klien yang bisa berubah. Gunakan pengaturan JWT jika Anda memerlukan PII atau data yang tidak dapat diubah dalam alur Anda. 

Contoh berikut menunjukkan cara meneruskan atribut kontak langsung dari kode cuplikan tanpa mengaktifkan keamanan widget. 

```
<script type="text/javascript">
  (function(w, d, x, id){ /* ... */ })(window, document, 'amazon_connect', '{{widgetId}}');
  amazon_connect('snippetId', '{{snippetId}}');
  amazon_connect('styles', /* ... */);
  // ...

  amazon_connect('contactAttributes', {
   {{foo}}: '{{bar}}'
  })
<script/>
```

### Menggunakan atribut dalam aliran
<a name="contact-flow-usage-chat"></a>

Blok alur [Periksa atribut kontak](check-contact-attributes.md) menyediakan akses ke atribut ini dengan menggunakan namespace yang **ditentukan Pengguna**, seperti yang ditunjukkan pada gambar berikut. Anda dapat menggunakan blok aliran untuk menambahkan logika percabangan. Jalan lengkapnya adalah`$.Attributes.HostedWidget-{{attributeName}}`.

![Gambar yang menunjukkan blok aliran bercabang ke prompt yang Valid dan Tidak Valid.](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/flow-check-contact-attrib.png)


## Hal-hal yang perlu Anda ketahui
<a name="contact-attributes-chatwidget-important-notes"></a>
+ Widget komunikasi memiliki batas 6144 byte untuk seluruh token yang dikodekan. Karena JavaScript menggunakan pengkodean UTF-16, 2 byte digunakan per karakter, sehingga ukuran maksimum `encoded_token` harus sekitar 3000 karakter.
+ Encoded\_token harus diteruskan ke. `callback(data)` `authenticate`Cuplikan tidak memerlukan perubahan tambahan. Contoh:

  ```
  amazon_connect('authenticate', function(callback) {
    window.fetch('/token').then(res => {
      res.json().then(data => {
        callback(data.data);
      });
    });
  });
  ```
+ Menggunakan JWT untuk meneruskan atribut kontak memastikan integritas data. Jika Anda menjaga rahasia bersama dan mengikuti praktik keamanan yang sesuai, Anda dapat membantu memastikan bahwa data tidak dapat dimanipulasi oleh aktor jahat.
+ Atribut kontak hanya dikodekan di JWT, tidak dienkripsi, jadi dimungkinkan untuk memecahkan kode dan membaca atribut.
+ Jika Anda ingin menguji pengalaman obrolan dengan [pengalaman obrolan simulasi](chat-testing.md#test-chat) dan menyertakan atribut kontak, pastikan untuk menyertakan kunci dan nilai dalam tanda kutip, seperti yang ditunjukkan pada gambar berikut.  
![Halaman pengaturan pengujian, kunci atribut kontak dalam tanda kutip, nilai dalam tanda kutip.](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/test-chat-contact-attributes.png)