

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

# Tambahkan bot Amazon Lex ke Amazon Connect
<a name="amazon-lex"></a>

**penting**  
**Pemberitahuan akhir dukungan**: Pada 15 September 2025, AWS akan menghentikan dukungan untuk Amazon Lex V1. Setelah 15 September 2025, Anda tidak lagi dapat mengakses konsol Amazon Lex V1 atau sumber daya Amazon Lex V1. Untuk mempelajari tentang migrasi ke Amazon Lex V2, lihat [Memigrasi bot](https://docs.aws.amazon.com/lex/latest/dg/migrate.html).

Pada artikel ini kami memandu Anda melalui langkah-langkah untuk menambahkan bot Amazon Lex ke Amazon Connect. 

Dengan Amazon Lex, Anda dapat membangun interaksi percakapan (bot) yang terasa alami bagi pelanggan Anda. Amazon Connect dengan Amazon Lex bot juga dapat menangkap input pelanggan sebagai digit yang dimasukkan pelanggan pada keypad numerik mereka saat digunakan dalam alur Amazon Connect. Dengan cara ini pelanggan dapat memilih bagaimana mereka ingin memasukkan informasi sensitif seperti nomor akun. 

Untuk mengikuti panduan ini, Anda memerlukan yang berikut: 
+  AWS Akun aktif. 
+ Instans Amazon Connect. 

**Tip**  
Anda juga dapat menggunakan Amazon Lex untuk memberi daya pada pesan interaktif untuk obrolan Amazon Connect. Pesan interaktif adalah pesan kaya yang menyajikan opsi tampilan prompt dan pra-konfigurasi yang dapat dipilih pelanggan. Pesan-pesan ini didukung oleh Amazon Lex dan dikonfigurasi melalui Amazon Lex menggunakan Lambda. Untuk informasi selengkapnya, lihat [Tambahkan pesan interaktif Amazon Lex untuk pelanggan dalam obrolan](interactive-messages.md).

## Buat bot Amazon Lex
<a name="lex-bot-create"></a>

Pada langkah ini Anda akan membuat bot khusus untuk mendemonstrasikan integrasi Press atau Say dengan Amazon Connect. Bot meminta penelepon untuk menekan atau mengatakan nomor yang cocok dengan opsi menu untuk menyelesaikan tugas. Dalam hal ini, input memeriksa saldo akun mereka.

------
#### [ Amazon Lex ]

1. Buka [konsol Amazon Lex.](https://console.aws.amazon.com/lexv2/home)

1. Pilih **Buat bot**.

1. Pada halaman **Konfigurasi pengaturan bot**, pilih **Buat - Buat bot kosong** dan berikan informasi berikut:
   + **Nama bot** — Untuk panduan ini, beri nama bot. **AccountBalance**
   + **Izin IAM** - Pilih peran jika Anda telah membuatnya. Jika tidak, pilih **Buat peran dengan izin Amazon Lex dasar**.
   + **COPPA** — Pilih apakah bot tunduk pada Undang-Undang Perlindungan Privasi Online Anak.
   + **Waktu tunggu sesi** - Pilih berapa lama bot harus menunggu untuk mendapatkan masukan dari penelepon sebelum mengakhiri sesi.

1. Pilih **Berikutnya**.

1. Berikan informasi spesifik bahasa dan suara:
   + **Bahasa** — Pilih bahasa dan lokal dari daftar [Bahasa dan lokal yang didukung oleh Amazon](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html) Lex. 
   + **Interaksi suara** — Pilih suara untuk bot Anda untuk digunakan saat berbicara dengan penelepon. Suara default untuk Amazon Connect adalah Joanna.

1. Pilih **Selesai**. AccountBalance Bot dibuat, dan halaman **Intent** ditampilkan.

------
#### [ Amazon Lex (Classic) ]

1. Buka [konsol Amazon Lex.](https://console.aws.amazon.com/lex/)

1. Jika Anda membuat bot pertama Anda, pilih **Memulai**. Jika tidak, pilih **Bot, Buat**.

1. Pada halaman **Buat bot Anda**, pilih **Bot khusus** dan berikan informasi berikut:
   + **Nama bot** — Untuk panduan ini, beri nama bot. **AccountBalance**
   + **Suara keluaran** — Pilih suara untuk bot Anda untuk digunakan saat berbicara dengan penelepon. Suara default untuk Amazon Connect adalah Joanna.
   + **Waktu tunggu sesi** - Pilih berapa lama bot harus menunggu untuk mendapatkan masukan dari penelepon sebelum mengakhiri sesi.
   + **COPPA** — Pilih apakah bot tunduk pada Undang-Undang Perlindungan Privasi Online Anak.

1. Pilih **Buat**.

------

## Konfigurasikan bot Amazon Lex
<a name="lex-bot-configure"></a>

Pada langkah ini Anda akan menentukan bagaimana bot merespons pelanggan dengan memberikan maksud, ucapan sampel, slot untuk input, dan penanganan kesalahan.

Untuk contoh ini, Anda akan mengonfigurasi bot dengan dua maksud: satu untuk mencari informasi akun, dan satu lagi untuk berbicara dengan agen.

### Buat AccountLookup niat
<a name="lex-bot-create-account-lookup-intent"></a>

------
#### [ Amazon Lex ]

1. Setelah Anda membuat bot, Anda berada di halaman **Intent** konsol Amazon Lex. Jika Anda tidak ada di sana, Anda bisa sampai di sana dengan memilih **Bot**,, **versi Bot **AccountBalance**, versi** **Draft**, **Intent**. Pilih **Tambahkan maksud**, **Tambahkan maksud kosong**.

1. Di kotak **Nama maksud**, masukkan **AccountLookup**.

1. Gulir ke bawah halaman untuk **Sampel ucapan**. Pada langkah ini Anda memasukkan ucapan yang memungkinkan pelanggan untuk memperoleh maksud. AccountLookup Masukkan ucapan berikut, dan pilih **Tambahkan ucapan** setelah masing-masing. 
   + **Periksa saldo akun saya**
   + **Satu**: Ini menetapkan ucapan “satu” atau tekan tombol “1" ke maksud. **AccountLookup**

   Gambar berikut menunjukkan tempat untuk menambahkan ucapan di bagian **Sample ujaran**.  
![\[Bagian contoh ucapan dari halaman Intent.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-enter-utterances.png)

1. Gulir ke bagian **Slot**, dan pilih **Tambahkan slot**. Lengkapi kotak sebagai berikut:

   1. **Diperlukan untuk maksud ini** = dipilih.

   1. **Nama** = **AccountNumber**. 

   1. **Jenis slot** = **Amazon.Number**. 

   1. **Prompts** = teks yang akan diucapkan saat panggilan dijawab. Misalnya, minta penelepon untuk memasukkan nomor akun mereka menggunakan keypad mereka: Dengan **menggunakan keypad nada sentuh, masukkan nomor akun Anda**. Pilih **Tambahkan**.

   Gambar berikut menunjukkan bagian **Tambah slot** yang telah selesai.  
![\[Bagian add slot pada halaman Intent.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-add-slots.png)

1. Gulir ke bagian **Menutup tanggapan**. Tambahkan pesan untuk bot untuk mengatakan kepada pelanggan. Misalnya, **saldo akun Anda adalah \$11.234.56**. (Untuk panduan ini, kami tidak akan benar-benar mendapatkan data, yang akan Anda lakukan dalam kenyataan.)

   Gambar berikut menunjukkan bagian **tanggapan Penutupan** yang lengkap.  
![\[Bagian tanggapan penutup dari halaman Intent.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-response1.png)

1. Pilih **Simpan maksud.**

------
#### [ Amazon Lex (Classic) ]

1. Di konsol Amazon Lex pilih ikon **\$1** di sebelah **Intent**, dan pilih **Create new intent**.

1. Sebutkan maksudnya. **AccountLookup**

1. Tambahkan contoh ucapan, seperti *Periksa saldo akun saya*, dan pilih ikon **\$1**.

1. Tambahkan ucapan kedua, seperti *One* dan pilih ikon **\$1**. Ini menetapkan ucapan “satu” atau tekan tombol “1" ke maksud. **AccountLookup**
**Tip**  
Anda harus menambahkan ucapan “satu” di bot, dan bukan angka “1". Ini karena Amazon Lex tidak mendukung input numerik secara langsung. Untuk menyiasatinya, nanti dalam panduan ini Anda akan menggunakan input numerik untuk berinteraksi dengan bot Lex yang dipanggil dari aliran. 

1. Di bawah **Slots**, tambahkan slot bernama **AccountNumber**.

   Gambar berikut menunjukkan lokasi bagian **Slot** pada halaman.  
![\[Bagian slot pada halaman Intent.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-slots.png)

1. Untuk **jenis Slot**, gunakan drop-down untuk memilih **AMAZON.NUMBER**.

1. Untuk **Prompt**, tambahkan teks yang akan diucapkan saat panggilan dijawab. Misalnya, minta penelepon untuk memasukkan nomor akun mereka menggunakan keypad mereka: Dengan *menggunakan keypad nada sentuh, masukkan nomor akun Anda*.

1. Pilih ikon \$1.

1. Pastikan kotak centang **Diperlukan** dipilih.

1. Di bagian **Respons**, tambahkan pesan untuk bot untuk mengatakan kepada pelanggan. Misalnya, **saldo akun Anda adalah \$11.234.56**. 

1. Pilih **Simpan Maksud.**

------

### Buat SpeakToAgent niat
<a name="lex-bot-create-speaktoagent-intent"></a>

------
#### [ Amazon Lex ]

1. Arahkan ke halaman **Intent**: pilih **Kembali ke daftar maksud.** 

1. Pilih **Tambahkan maksud**, **Tambahkan maksud kosong**. 

1. Di kotak **Nama maksud**, masukkan **SpeakToAgent**, lalu pilih **Tambah**. 

1. Gulir ke bawah ke **bagian Sampel ucapan.** Masukkan ucapan berikut, yang memungkinkan pelanggan untuk memperoleh maksud: SpeakToAgent 
   + **Bicaralah dengan agen**
   + **Dua**

1. Gulir ke bawah ke bagian **Menutup tanggapan**. Tambahkan pesan untuk bot untuk mengatakan kepada pelanggan. Misalnya, **Oke, agen akan segera bersamamu**.

1. Pilih **Simpan maksud.**

------
#### [ Amazon Lex (Classic) ]

1. Di konsol Amazon Lex pilih ikon **\$1** di sebelah **Intent**, dan pilih **Create new intent**.

1. Sebutkan maksudnya. **SpeakToAgent**

1. Pilih **SpeakToAgent**.

1. **Tambahkan contoh ucapan, seperti *Bicaralah dengan agen*, dan pilih \$1.**

1. **Tambahkan ucapan kedua, seperti *Dua*, dan pilih \$1.**

1. Tambahkan pesan yang memungkinkan penelepon mengetahui bahwa panggilan mereka sedang terhubung ke agen. Misalnya, “Oke, agen akan segera bersamamu.”

1. Pilih **Simpan Maksud.**

------

## Bangun dan uji bot Amazon Lex
<a name="lex-bot-build"></a>

Setelah Anda membuat bot Anda, pastikan itu berfungsi sebagaimana dimaksud.

------
#### [ Amazon Lex ]

1. Di bagian bawah halaman, pilih **Build**. Mungkin butuh satu atau dua menit. Gambar berikut menunjukkan di mana tombol **Build** berada.  
![\[Lokasi tombol Build pada halaman.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-build-test-intent.png)

1. Setelah selesai membangun, pilih **Test**.

1. Mari kita uji **AccountLookup**intent: Di panel **versi Test Draft**, di kotak **Ketik pesan**, ketik **1** dan tekan Enter. Kemudian ketik nomor akun fiktif dan tekan Enter. Gambar berikut menunjukkan tempat Anda memasukkan intent.  
![\[Kotak tempat Anda mengetik maksud untuk menguji.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-test1.png)

   1. Kosongkan kotak tes.

   1. Ketik maksud yang ingin Anda uji.

1. Untuk mengonfirmasi bahwa **SpeakToAgent**maksud berfungsi, kosongkan kotak uji, lalu ketik **2** dan tekan Enter. Gambar berikut menunjukkan seperti apa tes setelah Anda menghapusnya dan kemudian masukkan 2.  
![\[Kotak uji.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-test2.png)

1. Tutup panel **versi Test Draft**.

------
#### [ Amazon Lex (Classic) ]

1. Pilih **Build**. Mungkin butuh satu atau dua menit.

1. Setelah selesai membangun, pilih **Uji Chatbot**, seperti yang ditunjukkan pada gambar berikut.  
![\[Tombol uji chatbot, di sisi kanan halaman.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-test-chatbot.png)

1. **Mari kita uji **AccountLookup**intent: Di panel **Chatbot Uji**, di kotak **Obrolan dengan bot Anda, ketik** 1.** Kemudian ketikkan nomor akun fiktif. Pada gambar berikut, panah menunjuk ke kotak tempat Anda mengetik 1.  
![\[Bot uji, kotak untuk mengetik pesan Anda.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-test-run.png)

1. Pilih **Hapus riwayat obrolan**. 

1. Untuk mengonfirmasi bahwa **SpeakToAgent**maksud berfungsi, ketik **2**.

------

## Buat versi bot (Opsional)
<a name="lex-bot-create-bot-version"></a>

Pada langkah ini Anda membuat versi bot baru untuk digunakan dalam alias. Begitulah cara Anda membuat alias yang dapat digunakan di lingkungan produksi. Alias uji tunduk pada batas pelambatan yang lebih rendah. Meskipun ini adalah panduan tes, membuat versi adalah praktik terbaik.

------
#### [ Amazon Lex ]

1. Jika Anda berada di halaman **Intent**, pilih **Kembali ke daftar maksud.**

1. Di menu sebelah kiri, pilih **versi Bot**.

1. Pilih **Buat versi**.

1. Tinjau detail **AccountBalance**bot, lalu pilih **Buat**.

   Ini membuat versi bot Anda (Versi 1). Anda dapat mengganti versi pada alias non-uji tanpa harus melacak versi mana yang dipublikasikan.  
![\[Halaman Versi dengan Versi 1 terdaftar.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-version1.png)

------

## Buat alias untuk bot
<a name="lex-bot-create-alias"></a>

------
#### [ Amazon Lex ]

1. Di menu sebelah kiri, pilih **Alias**.

1. Pada halaman **Alias**, pilih **Buat alias**.

1. Di kotak **nama Alias**, masukkan nama, seperti **Uji**. Kemudian dalam panduan ini Anda akan menggunakan alias ini untuk menentukan versi bot ini di alur Anda. 
**penting**  
Dalam lingkungan produksi, selalu gunakan alias yang berbeda dari **TestBotAlias**untuk Amazon Lex dan **\$1LATEST** untuk Amazon Lex classic. **TestBotAlias**dan **\$1LATEST** mendukung sejumlah panggilan bersamaan ke bot Amazon Lex. Untuk informasi selengkapnya, lihat [Kuota runtime](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service).

1. Untuk **versi Terkait**, pilih versi yang baru saja Anda buat, seperti **Versi 1**. 

1. Pilih **Buat**.

------
#### [ Amazon Lex (Classic) ]

1. Pilih **Terbitkan**.

1. Berikan alias untuk bot Anda. Gunakan alias untuk menentukan versi bot ini dalam alur, misalnya, **Uji**.
**penting**  
Dalam lingkungan produksi, selalu gunakan alias yang berbeda dari **TestBotAlias**untuk Amazon Lex dan **\$1LATEST** untuk Amazon Lex classic. **TestBotAlias**dan **\$1LATEST** mendukung sejumlah panggilan bersamaan ke bot Amazon Lex. Untuk informasi selengkapnya, lihat [Service Quotas Runtime](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime).

1. Pilih **Terbitkan**.

------

## Tambahkan bot Amazon Lex ke instans Amazon Connect Anda
<a name="lex-bot-add-to-connect"></a>

------
#### [ Amazon Lex ]

1. Buka [konsol Amazon Connect.](https://console.aws.amazon.com/connect/)

1. Pilih instans Amazon Connect yang ingin Anda integrasikan dengan bot Amazon Lex Anda.  
![\[Halaman instans pusat kontak virtual Amazon Connect, alias instans.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/instance.png)

1. Pada menu navigasi, pilih **Flows**.

1. Di bawah **Amazon Lex**, gunakan dropdown untuk memilih Wilayah bot Amazon Lex Anda, lalu pilih bot Amazon Lex Anda,. **AccountBalance** 

1. Pilih nama alias bot Amazon Lex dari dropdown (**Uji**), lalu **pilih\$1Tambahkan Lex** Bot. Gambar berikut menunjukkan bagian Amazon Lex setelah dikonfigurasi.  
![\[Bagian Amazon Lex dari halaman alur.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-region-bot.png)

**catatan**  
Amazon Connect menggunakan kebijakan berbasis sumber daya Amazon Lex untuk melakukan panggilan ke bot Amazon Lex Anda. Saat Anda mengaitkan bot Amazon Lex dengan instans Amazon Connect Anda, kebijakan berbasis sumber daya pada bot diperbarui untuk memberikan izin Amazon Connect untuk memanggil bot. Untuk informasi selengkapnya tentang kebijakan berbasis sumber daya Amazon Lex, lihat Cara [Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies) bekerja dengan IAM.

------
#### [ Amazon Lex (Classic) ]

1. Buka [konsol Amazon Connect.](https://console.aws.amazon.com/connect/)

1. Pilih instans Amazon Connect yang ingin Anda integrasikan dengan bot Amazon Lex Anda.

1. Pada menu navigasi, pilih **Alur kontak**.

1. Di bawah **Amazon Lex**, pilih Wilayah bot klasik Amazon Lex Anda dari dropdown, lalu pilih bot klasik Amazon Lex Anda. Namanya akan memiliki akhiran “(Klasik)”. Kemudian pilih **Add Lex Bot**.

------

## Buat alur dan tambahkan bot Amazon Lex Anda
<a name="lex-bot-create-flow-add-bot"></a>

**penting**  
Jika Anda menggunakan bot Amazon Lex V2, atribut bahasa Anda di Amazon Connect harus sesuai dengan model bahasa yang digunakan untuk membangun bot Lex Anda. Ini berbeda dari Amazon Lex (Klasik). Gunakan blok [suara Setel](set-voice.md#set-voice-lexv2bot) untuk menunjukkan model bahasa Amazon Connect, atau gunakan [Tetapkan atribut kontak](set-contact-attributes.md) blok.

Selanjutnya, buat alur baru yang menggunakan bot Amazon Lex Anda. Saat membuat alur, Anda mengonfigurasi pesan yang diputar ke pemanggil.

1. Masuk ke instans Amazon Connect Anda dengan akun yang memiliki izin untuk alur kontak dan bot Amazon Lex.

1. Pada menu navigasi, pilih **Routing, Flows, Create Flow**, dan ketik nama untuk alur.

1. Di bawah **Interact**, seret [Dapatkan masukan pelanggan](get-customer-input.md) blok ke desainer, dan hubungkan ke **blok Entry point**.

1. Pilih blok **input Dapatkan pelanggan** untuk membukanya. Pilih **Teks ke ucapan atau teks obrolan, Masukkan teks**.

1. Ketik pesan yang memberikan informasi kepada penelepon tentang apa yang dapat mereka lakukan. Misalnya, gunakan pesan yang cocok dengan maksud yang digunakan dalam bot, seperti “Untuk memeriksa saldo akun Anda, tekan atau ucapkan 1. Untuk berbicara dengan agen, tekan atau katakan 2. Gambar berikut menunjukkan pesan ini di halaman Properties dari blok **input Dapatkan pelanggan**.  
![\[Halaman Properti dari blok masukan Dapatkan pelanggan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-get-customer-input.png)

1. Pilih tab **Amazon Lex**, seperti yang ditunjukkan pada gambar berikut.  
![\[Tab Amazon Lex di halaman Properti dari blok input Dapatkan pelanggan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lexv2-get-customer-input2.png)

1. Di dropdown **Nama**, pilih **AccountBalance**bot yang Anda buat sebelumnya. 

   1. **Jika Anda memilih bot Amazon Lex, di bawah **Alias** gunakan menu tarik-turun untuk memilih alias bot, Uji. dari** 

   1. Bot Amazon Lex Classic memiliki akhiran “(Klasik)” yang ditambahkan ke nama mereka. Jika Anda telah memilih bot Klasik, masukkan alias yang ingin Anda gunakan di bidang **Alias**.

   1. Untuk bot Amazon Lex V2, Anda juga memiliki opsi untuk mengatur bot alias ARN secara manual. Pilih **Set secara manual**, lalu ketikkan ARN dari alias bot yang ingin Anda gunakan atau atur ARN menggunakan atribut dinamis.

1. Di bawah **Maksud**, pilih **Tambahkan maksud**.

1. Ketik **AccountLookup**dan pilih **Tambahkan maksud lain**. Gambar berikut menunjukkan bagian **Maksud** yang dikonfigurasi dengan informasi ini.  
![\[Bagian Maksud dari tab Amazon Lex.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-get-customer-input3.png)

1. Ketik **SpeakToAgent**dan pilih **Simpan**.

### Selesaikan alirannya
<a name="lex-bot-finish-flow"></a>

Pada langkah ini Anda selesai menambahkan bagian ke aliran yang berjalan setelah pemanggil berinteraksi dengan bot:

1. Jika penelepon menekan 1 untuk mendapatkan saldo akun mereka, gunakan blok **Prompt** untuk memutar pesan dan memutuskan panggilan.

1. Jika pemanggil menekan 2 untuk berbicara dengan agen, gunakan blok **antrian Set untuk mengatur antrian** dan mentransfer pemanggil ke antrian, yang mengakhiri aliran.

Berikut adalah langkah-langkah untuk membuat aliran:

1. Di bawah **Interact**, seret **blok prompt Play** ke desainer, dan hubungkan **AccountLookup**node dari blok **input Dapatkan pelanggan** ke sana. Setelah pelanggan mendapatkan saldo akun mereka dari bot Amazon Lex, pesan di blok **prompt Play** diputar.

1. Di bawah **Terminate/Transfer**, seret blok **Putuskan sambungan** ke desainer, dan hubungkan blok **prompt Play** ke sana. Setelah pesan prompt diputar, panggilan terputus.

Untuk melengkapi **SpeakToAgent**maksud:

1. Tambahkan blok **antrian kerja Set** dan hubungkan ke **SpeakToAgent**node blok **input Dapatkan pelanggan**.

1. Tambahkan **Transfer ke blok antrian**. 

1. Connect node Success dari blok **aliran antrian Set customer** ke **antrean Transfer**.

1. Pilih **Simpan**, lalu **Publikasikan**.

Aliran selesai Anda akan terlihat seperti gambar berikut. Alur dimulai dengan blok **input Dapatkan pelanggan**. Itu memblokir cabang ke **prompt Play** atau **Setel antrian pelanggan**.

![\[Aliran selesai dalam perancang aliran.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/lex-contactflow-designer.png)


**Tip**  
Jika bisnis Anda menggunakan beberapa lokal dalam satu bot, tambahkan [Tetapkan atribut kontak](set-contact-attributes.md) blok ke awal alur Anda. Konfigurasikan blok ini untuk menggunakan [\$1. LanguageCode](connect-attrib-list.md#attribs-system-table)atribut sistem. 

## Tetapkan alur ke nomor telepon
<a name="lex-bot-assign-number"></a>

Ketika pelanggan menelepon ke pusat kontak Anda, aliran ke mana mereka dikirim adalah yang ditetapkan ke nomor telepon yang mereka panggil. Untuk membuat alur baru aktif, tetapkan ke nomor telepon untuk instans Anda.

1. Buka konsol Amazon Connect.

1. Pilih **Routing, Nomor telepon**.

1. Pada halaman **Kelola Nomor Telepon**, pilih nomor telepon yang akan ditetapkan ke alur.

1. Tambahkan deskripsi.

1. Di menu **flow/IVR**, pilih aliran yang baru saja Anda buat.

1. Pilih **Simpan**.

## Cobalah\$1
<a name="lex-bot-try-it"></a>

Untuk mencoba bot dan flow, panggil nomor yang Anda tetapkan ke alur. Ikuti petunjuknya. 

# Praktik terbaik untuk menggunakan saluran obrolan dan Amazon Lex
<a name="bp-lex-bot-chat"></a>

Berikut ini adalah beberapa praktik terbaik yang direkomendasikan untuk menggunakan saluran obrolan dan Amazon Lex bersama-sama.
+ Anda dapat menggunakan bot yang sama untuk saluran suara dan obrolan. Namun, Anda mungkin ingin bot merespons secara berbeda berdasarkan saluran. Misalnya, Anda ingin mengembalikan SSML untuk suara sehingga nomor dibaca sebagai nomor telepon, tetapi Anda ingin mengembalikan teks normal ke obrolan. Anda dapat melakukan ini dengan meneruskan atribut **Channel**. Untuk petunjuk, lihat [Cara menggunakan bot Amazon Lex yang sama untuk suara dan obrolan](one-bot-voice-chat.md). 
+ Untuk suara, beberapa kata paling baik dieja secara fonetis untuk mendapatkan pengucapan yang benar, seperti nama belakang. Jika demikian halnya dengan skenario Anda, sertakan dalam desain bot Anda. Atau, Anda dapat memisahkan bot suara dan obrolan. 
+ Beritahu agen tentang bot. Ketika kontak terhubung ke agen, agen melihat seluruh transkrip di jendela mereka. Transkrip mencakup teks dari pelanggan dan bot.

# Tambahkan pesan interaktif Amazon Lex untuk pelanggan dalam obrolan
<a name="interactive-messages"></a>

Pesan interaktif adalah pesan kaya yang menyajikan opsi tampilan yang cepat dan telah dikonfigurasi sebelumnya untuk dipilih pelanggan. Pesan-pesan ini didukung oleh Amazon Lex dan dikonfigurasi melalui Amazon Lex menggunakan AWS Lambda fungsi. 

**Tip**  
Jika Anda telah terintegrasi dengan Apple Messages for Business, lihat [Jenis Pesan Interaktif](https://register.apple.com/resources/messages/msp-rest-api/type-interactive) di situs web Apple.

## Batas validasi
<a name="validation-limits"></a>

Batas bidang string (misalnya, judul, subtitle, dll.) Diharapkan akan diberlakukan oleh klien (yaitu, antarmuka yang dibuat khusus atau widget komunikasi yang dihosting). [SendMessage](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_SendMessage.html)API hanya memeriksa bahwa ukuran total string kurang dari 20KB.
+ Bila Anda menggunakan widget komunikasi yang di-host tanpa menyesuaikannya, jika string melebihi batas bidang, itu terpotong pada antarmuka pengguna dan elipsis (...) ditambahkan. Anda dapat menentukan cara menerapkan batas bidang dengan menyesuaikan widget. 
+ Jika Anda berintegrasi dengan platform lain (seperti Apple Messages for Business), tinjau batasan dalam topik ini untuk Amazon Connect, dan tinjau batasan dalam dokumentasi untuk platform lain. Misalnya, balasan cepat tidak didukung pada versi iOS yang lebih lama. 

Semua batas bidang lainnya harus diikuti agar pesan berhasil dikirim.

## Templat tampilan pesan
<a name="message-display-templates"></a>

Amazon Connect menyediakan template tampilan pesan berikut. Gunakan mereka untuk memberikan informasi kepada pelanggan dalam obrolan:
+  [Pemetik daftar](#list-picker)
+ [Pemetik waktu](#time-picker)
+ [Panel](#panel)
+ [Balasan cepat](#quick-reply-template)
+ [Korsel](#carousel-template)
+ [Templat formulir Apple](#apple-form-template)
+ [Templat pembayaran Apple](#apple-pay-template)
+ [Templat aplikasi iMessage](#imessage-app-template)
+ [WhatsApp daftar](#whatsapp-list)
+ [WhatsApp tombol balas](#whatsapp-reply-button)
+ [Pemformatan yang kaya dalam judul dan subtitle](#rich-link-formatting)

Template ini menentukan bagaimana informasi ditampilkan, dan informasi apa yang muncul di antarmuka obrolan. Saat pesan interaktif dikirim melalui obrolan, alur memvalidasi bahwa format pesan mengikuti salah satu templat ini.

## Templat pemilih daftar
<a name="list-picker"></a>

Gunakan template pemilih daftar untuk menyajikan pelanggan dengan daftar hingga enam pilihan. Setiap pilihan dapat memiliki citranya sendiri. 

Gambar berikut menunjukkan dua contoh bagaimana template pemilih daftar merender informasi dalam obrolan. 
+ Satu gambar menunjukkan tiga tombol, masing-masing dengan nama buah dalam teks: apel, jeruk, pisang.
+ Gambar kedua menunjukkan gambar toko dan kemudian di bawahnya, tiga tombol, masing-masing dengan nama, gambar, dan harga buah.

![\[Template pemilih daftar merender informasi dalam obrolan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/interactive-messages-listpicker-images2.png)


Kode berikut adalah template pemilih daftar yang dapat Anda gunakan di Lambda Anda. Perhatikan hal-hal berikut:
+ **Teks tebal** menunjukkan parameter wajib.
+ Dalam beberapa kasus, jika elemen induk tidak wajib, tetapi bidang dalam elemen induk adalah, maka bidang tersebut wajib. Misalnya, lihat `data.replyMessage` struktur dalam template berikut. Jika struktur ada, `title` adalah wajib. Jika tidak, lengkap `replyMessage` adalah opsional. 

```
{
   "templateType":"ListPicker",                       
   "version":"1.0",                                   
   "data":{                                           
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Produce selected",
         "imageType":"URL",                                
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                          
         "imageDescription":"Select a produce to buy"
      },
      "content":{                                       
         "title":"What produce would you like to buy?",
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                  
         "imageDescription":"Select a produce to buy",
         "elements":[                                   
            {
               "title":"Apple",                          
               "subtitle":"$1.00",
               "imageType":"URL",
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg"
            },
            {
               "title":"Orange",                         
               "subtitle":"$1.50",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg",           
            },
             {
               "title":"Banana",                         
               "subtitle":"$10.00",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg",            
               "imageDescription":"Banana"
            }
         ]
      }
```

### Batas pemilih daftar
<a name="list-picker-limits"></a>

Tabel berikut mencantumkan batas untuk setiap elemen pemilih daftar, jika Anda memilih untuk membuat Lambda Anda sendiri dari awal. Parameter wajib dicetak tebal.

Untuk mengirim opsi tak terbatas, terapkan tombol tindakan di aplikasi Anda. Untuk informasi selengkapnya, lihat [Implementasi tombol tindakan di picker/panel daftar pesan interaktif](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/interactive-messages.html)

**catatan**  
Jika Anda menggunakan `targetForLinks` bidang dan widget komunikasi Amazon Connect, untuk membuka tautan di tab browser yang sama, Anda harus menambahkan atribut berikut ke cuplikan kode widget untuk memungkinkan iframe saat ini membuka dan menavigasi tautan dalam tab yang sama:  

```
amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')                                       
```

## Templat pemilih waktu
<a name="time-picker"></a>

Template pemilih waktu berguna untuk memungkinkan pelanggan menjadwalkan janji temu. Anda dapat memberikan hingga 40 slot waktu kepada pelanggan dalam obrolan. 

Gambar berikut menunjukkan dua contoh bagaimana template pemilih waktu merender informasi dalam obrolan.
+ Satu gambar menunjukkan satu tanggal, dan di bawahnya, satu slot waktu.
+ Gambar kedua menunjukkan satu tanggal, dan di bawahnya, dua slot waktu.

![\[Template pemilih waktu merender informasi dalam obrolan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/interactive-messages-timepicker.png)


Gambar berikut menunjukkan pemilih waktu dengan gambar

**catatan**  
Jika Anda menggunakan templat pesan ini dengan saluran [Apple Messages for Business](apple-messages-for-business.md) dan tidak menambahkan gambar, Amazon Connect akan menambahkan gambar default di pesan balasan dan respons.

![\[Pemetik waktu dengan gambar.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/interactive-messages-timepicker-with-image.png)


Kode berikut adalah template pemilih waktu yang dapat Anda gunakan di Lambda Anda. Perhatikan hal-hal berikut:
+ **Teks tebal** menunjukkan parameter wajib.
+ Dalam beberapa kasus, jika elemen induk tidak wajib, tetapi bidang elemen induknya, maka bidang tersebut wajib. Misalnya, lihat `data.replyMessage` struktur dalam template berikut. Jika struktur ada, `title` adalah wajib. Jika tidak, lengkap `replyMessage` adalah opsional. 

```
{
   "templateType":"TimePicker",                                 
   "version":"1.0",                                             
   "data":{                                                    
      "replyMessage":{
         "title":"Thanks for selecting",                        
         "subtitle":"Appointment selected",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg",
         "imageDescription":"Appointment booked"
      },
      "content":{                                               
         "title":"Schedule appointment",                       
         "subtitle":"Tap to select option",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg",
         "imageDescription":"Appointment booked",
         "timeZoneOffset":-450,
         "location":{
            "latitude":47.616299,                               
            "longitude":-122.4311,                              
            "title":"Oscar",                                    
            "radius":1,
         },
         "timeslots":[                                          
               {
                  "date" : "2020-10-31T17:00+00:00",             
                  "duration": 60,                               
               },
               {
                  "date" : "2020-11-15T13:00+00:00",            
                  "duration": 60,                              
               },
               {
                  "date" : "2020-11-15T16:00+00:00",            
                  "duration": 60,                              
               }
            ],           
         }
      }
   }
}
```

### Batas pemilih waktu
<a name="time-picker-limits"></a>

Tabel berikut mencantumkan batas untuk setiap elemen pemilih waktu. Gunakan informasi ini jika Anda memilih untuk membuat Lambda Anda sendiri dari awal. Parameter wajib dicetak tebal.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/interactive-messages.html)

## Templat panel
<a name="panel"></a>

Dengan menggunakan template panel, Anda dapat menyajikan pelanggan dengan hingga 10 pilihan di bawah satu pertanyaan. Namun, Anda hanya dapat menyertakan satu gambar, bukan gambar dengan setiap pilihan. 

Gambar berikut menunjukkan contoh bagaimana template panel merender informasi dalam obrolan. Ini menunjukkan gambar di bagian atas pesan, dan di bawah gambar itu menunjukkan prompt yang bertanya *Bagaimana saya bisa membantu? Ketuk untuk memilih opsi*. Di bawah prompt tiga opsi ditampilkan kepada pelanggan: **Periksa opsi layanan mandiri**, **Bicara dengan agen**, **Akhiri obrolan**. 

![\[Template panel merender informasi dalam obrolan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/interactive-messages-panel1.png)


Kode berikut adalah template panel yang dapat Anda gunakan di Lambda Anda. Perhatikan hal-hal berikut:
+ **Teks tebal** menunjukkan parameter wajib.
+ Dalam beberapa kasus, jika elemen induk tidak wajib, tetapi bidang dalam elemen induk adalah, maka bidang tersebut wajib. Misalnya, lihat `data.replyMessage` struktur dalam template berikut. Jika strukturnya ada, a `title` adalah wajib. Jika tidak, lengkap `replyMessage` adalah opsional.

```
{
   "templateType":"Panel",                            
   "version":"1.0",                                   
   "data":{                                          
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Option selected",
      },
      "content":{                                      
         "title":"How can I help you?",                
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg",                  
         "imageDescription":"Select an option",
         "elements":[                                 
            {
               "title":"Check self-service options",   
            },
            {
               "title":"Talk to an agent",                     
            },
            {
               "title":"End chat",                    
            }
         ]
      }
   }
}
```

### Batas panel
<a name="panel-limits"></a>

Tabel berikut mencantumkan batas untuk masing-masing elemen panel, jika Anda memilih untuk membangun Lambda Anda sendiri dari awal. Parameter wajib dicetak tebal.

Untuk mengirim opsi tak terbatas, terapkan tombol tindakan di aplikasi Anda. Untuk informasi selengkapnya, lihat [Implementasi tombol tindakan di picker/panel daftar pesan interaktif](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/interactive-messages.html)

## Template balasan cepat
<a name="quick-reply-template"></a>

Gunakan pesan balasan cepat untuk mendapatkan tanggapan sederhana dari pelanggan, dan kemudian ke pelanggan dalam daftar in-line. Gambar tidak didukung untuk balasan cepat.

Gambar berikut menunjukkan contoh bagaimana template balasan cepat merender informasi dalam obrolan.

![\[Template panel merender informasi dalam obrolan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/quick-reply-template.png)


Kode berikut adalah template balasan cepat yang dapat Anda gunakan di Lambda Anda.

```
{
    "templateType": "QuickReply",
    "version": "1.0",
    "data": {
        "replyMessage": {
            "title": "Thanks for selecting!"
        },
        "content": {
            "title": "Which department would you like?",
            "elements": [{
                    "title": "Billing"
                },
                {
                    "title": "Cancellation"
                },
                {
                    "title": "New Service"
                }
            ]
        }
    }
}
```

### Batas balasan cepat
<a name="quickreply-limits"></a>

Tabel berikut mencantumkan batas untuk masing-masing elemen balasan cepat. Gunakan informasi ini jika Anda memilih untuk membuat Lambda Anda sendiri dari awal. Parameter wajib dicetak tebal.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/interactive-messages.html)

## Templat korsel
<a name="carousel-template"></a>

Gunakan komidi putar untuk menampilkan hingga 5 pemilih daftar atau panel kepada pelanggan dalam satu pesan. Mirip dengan pemilih daftar dan pemilih waktu, Anda dapat menambahkan lebih banyak opsi ke korsel dengan menggunakan fitur SHOW\$1MORE.

GIF berikut menunjukkan contoh bagaimana template carousel merender informasi dalam obrolan. Pelanggan menggulir melalui korsel gambar dengan menggunakan panah kiri dan kanan. 

![\[Korsel dalam pengalaman obrolan pelanggan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/carousel-interactive.gif)


Gambar berikut menunjukkan dua hyperlink **Pelajari Lebih Lanjut**, yang merupakan contoh elemen hyperlink pemilih korsel.

![\[Pemetik korsel dengan hyperlink.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/carousel-interactive1.png)


Kode berikut adalah template carousel yang dapat Anda gunakan di Lambda Anda. 

```
{
  "templateType": "Carousel",            
  "version": "1.0",                      
  "data": {                              
      "content": {                           
        "title": "View our popular destinations",   
        "elements": [                               
        {
          "templateIdentifier": "template0",        
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "California",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        },
        {
          "templateIdentifier": "template1",   
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "New York",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        }
      ]
    }
  }
}
```

Untuk pengguna widget komunikasi yang di-host:
+ Pilihan pada template carousel menghasilkan respons string JSON yang terstruktur seperti contoh berikut, untuk dikirim kembali ke Lambda (jenis pesan interaktif lainnya mengembalikan respons string reguler dengan hanya nilai): `selectionText`

  ```
  {
      templateIdentifier: "template0",
      listTitle: "California",
      selectionText: "Book hotels"
  }
  ```
+ Di komidi putar, Anda dapat memberikan hyperlink dalam elemen daftar. picker/panel Untuk membuat hyperlink alih-alih tombol, sertakan bidang tambahan berikut untuk elemen yang seharusnya berupa hyperlink:

  ```
  {
      title: "Book flights",
      ...
      type: "hyperlink",
      url: "https://www.example.com/Flights"
  }
  ```

### Batas korsel
<a name="carousel-limits"></a>

Tabel berikut mencantumkan batas untuk masing-masing elemen korsel. Gunakan informasi ini jika Anda memilih untuk membuat Lambda Anda sendiri dari awal. Parameter wajib dicetak tebal.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/interactive-messages.html)

## Templat formulir Apple
<a name="apple-form-template"></a>

**catatan**  
 Template ini hanya berlaku untuk alur kontak Apple Messages for Business. 

Sebuah bisnis dapat mengirim pesan interaktif formulir ke pelanggan akhir mereka melalui satu pesan, yang berisi beberapa halaman input yang diminta. Ketika pesan diterima di perangkat Apple pelanggan akhir, mereka dapat membuka formulir dan menavigasi halaman, memberikan respons untuk setiap halaman, sebelum mengirimkan semua tanggapan di akhir formulir.

Misalnya, bisnis dapat menggunakan formulir Apple untuk berbagai tujuan, termasuk alur triaging, survei pelanggan, dan pembuatan/pendaftaran akun.

**Awas**  
Konten pesan interaktif dan tanggapan pelanggan akhir disimpan dalam transkrip catatan kontak dan dapat dilihat oleh peserta obrolan lain dan analis kontak dengan akses ke transkrip. Untuk mencegah PII muncul di transkrip catatan kontak Anda **setelah kontak berakhir**, Anda akan ingin menggunakan [blok Setel perekaman dan perilaku analitik](set-recording-behavior.md) dalam alur step-by-step panduan Anda, [aktifkan Contact Lens](sensitive-data-redaction.md), dan aktifkan redaksi tanggal sensitif. Untuk detail selengkapnya tentang cara mengaktifkan redaksi PII, lihat [Mengaktifkan redaksi data sensitif.](enable-analytics.md#enable-redaction)

 Jenis halaman yang didukung adalah:
+ **ListPicker**: daftar opsi yang harus dipilih pengguna dengan dukungan gambar.
+ **WheelPicker**: mirip dengan ListPicker tetapi pemilihan dilakukan melalui roda opsi yang dapat digulir.
+ **DatePicker**: tampilan kalender tempat pengguna dapat memilih tanggal.
+ **Input**: bidang teks yang harus diisi pengguna.

Kode berikut adalah contoh template formulir Apple yang dapat Anda gunakan di Lambda Anda.

**catatan**  
 **Teks tebal** adalah parameter wajib. 
 Dalam beberapa kasus, jika elemen induk ada dalam permintaan dan tidak wajib/tebal, tetapi bidang di dalamnya, maka bidang tersebut wajib. 

 Contoh formulir survei sederhana: 

```
{
  "templateType": "AppleForm",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Survey",
      "pages": [
        {
          "pageType": "DatePicker",
          "title": "Date you visited",
          "subtitle": "When did you last visit?",
          "minDate": "2024-01-02"
        },
        {
          "pageType": "ListPicker",
          "title": "Rating",
          "subtitle": "How do you rate the experience?",
          "items": [
            {
              "title": "Good",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg"
            },
            {
              "title": "Okay",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg"
            },
            {
              "title": "Poor",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg"
            }
          ]
        },
        {
          "pageType": "ListPicker",
          "title": "Dine type",
          "subtitle": "Select all dine types that apply",
          "multiSelect": true,
          "items": [
            {
              "title": "Pickup"
            },
            {
              "title": "Dine-in"
            },
            {
              "title": "Delivery"
            }
          ]
        },
        {
          "pageType": "WheelPicker",
          "title": "Visits",
          "subtitle": "How often do you visit?",
          "items": [
            {
              "title": "Often"
            }
            {
              "title": "Sometimes"
            },
            {
              "title": "Rarely"
            }
          ]
        },
        {
          "pageType": "Input",
          "title": "Additional notes",
          "subtitle": "Anything else you'd like to mention about your visit?",
          "multiLine": true
        }
      ]
    }
  }
}
```

### Batas formulir Apple
<a name="apple-forms-limits"></a>

#### InteractiveMessage
<a name="apple-forms-limits-interactivemessage"></a>


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| versi | string  | Ya  | Nomor versi. Nilai yang diizinkan: “1.0"  | 
| TemplateType | TemplateType  | Ya  | Jenis template pesan interaktif. Nilai yang diizinkan: [” ListPicker “," TimePicker “, “Panel”, "QuickReply“, “Korsel”, "ViewResource“," AppleForm“]  | 
| data | InteractiveMessageData  | Ya  | Data pesan interaktif  | 

#### InteractiveMessageData
<a name="apple-forms-limits-interactivemessagedata"></a>


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| konten | InteractiveMessageContent  | Ya  | Konten pesan interaktif utama  | 
| Balas Pesan | ReplyMessage  | Tidak  | Konfigurasi tampilan pesan untuk setelah respons terhadap pesan interaktif dikirim  | 

#### AppleFormContent
<a name="apple-forms-limits-appleformcontent"></a>


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| judul | Tali  | Ya  | Judul formulir tingkat atas. Ditampilkan di Apple menerima gelembung pesan dan rendering transkrip  | 
| subjudul | String  | Tidak  | Digunakan sebagai subtitle di ReceivedMessage  | 
| ImageType | String  | Tidak  | Nilai yang valid: “URL” Digunakan untuk gambar di ReceivedMessage  | 
| ImageData | String  | Tidak  | S3 url gambar Digunakan untuk gambar di ReceivedMessage  | 
| halaman | AppleFormPage[]  | Ya  | Daftar halaman formulir  | 
| ShowSummary | Boolean  | Tidak  | Apakah akan menampilkan halaman ringkasan tanggapan untuk ditinjau sebelum pengiriman Default: False (tidak ada confirmation/summary halaman)  | 
| SplashPage | AppleFormSplashPage  | Tidak  | Halaman splash awal untuk ditampilkan sebelum halaman sebenarnya Default: Tidak ada halaman splash  | 

#### AppleFormSplashPage
<a name="apple-forms-limits-appleformsplashpage"></a>


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| judul | Tali  | Ya  | Judul halaman splash  | 
| subjudul | String  | Tidak  | Subtitle/badan halaman splash  | 
| ImageType | ImageType  | Tidak  | Hadir saat menampilkan gambar dalam halaman splash Nilai yang diizinkan: “URL” Default: Tidak ada gambar yang ditampilkan  | 
| ImageData | String  | Tidak  | Untuk ImageType="URL”, ini adalah nilai URL Default: Tidak ada gambar yang ditampilkan  | 
| TombolJudul | Tali  | Ya  | Teks tombol Lanjutkan. Diperlukan oleh Apple, teks default dengan pelokalan tidak didukung  | 

#### AppleFormPage
<a name="apple-forms-limits-appleformpage"></a>
+  Model dasar untuk halaman formulir. Jenis halaman tertentu diperluas dari model ini 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| PageType | ApplePageType  | Ya  | Enum untuk jenis halaman. Nilai yang diizinkan: ["Masukan”, "DatePicker“," WheelPicker “," ListPicker “]  | 
| judul | Tali  | Ya  | Judul halaman  | 
| subjudul | Tali  | Ya  | Subtitle halaman. Digunakan di halaman konfirmasi  | 

#### AppleFormDatePickerPage
<a name="apple-forms-limits-appleformdatapickerpage"></a>

 **AppleFormDatePickerPage**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| PageType | ApplePageType  | Ya  | Nilai: "DatePicker”  | 
| LabelText | String  | Tidak  | Teks ditampilkan di sebelah input tanggal. Lihat contoh tangkapan layar di Lampiran  | 
| HelperText | String  | Tidak  | Teks pembantu ditampilkan di bawah input tanggal. Lihat contoh tangkapan layar di Lampiran Default: Tidak ada teks pembantu  | 
| DateFormat | String  | Tidak  | Format tanggal ISO 8601. Default: MM/dd/yyyy  | 
| StartDate | String  | Tidak  | Tanggal awal/default yang dipilih dalam format tanggal yang valid Default: Tanggal saat ini untuk pengguna akhir saat pesan dikirim  | 
| Mindate | String  | Tidak  | Tanggal min diizinkan untuk dipilih dalam format tanggal yang valid Default: No min  | 
| MaxDate | String  | Tidak  | Tanggal maksimum diizinkan untuk dipilih dalam format tanggal yang valid Default: Tanggal saat ini untuk pengguna akhir saat pesan dikirim  | 

#### AppleFormListPickerPage
<a name="apple-forms-limits-appleformlistpickerpage"></a>

 **AppleFormListPickerPage**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| PageType | ApplePageType  | Ya  | Nilai: "ListPicker”  | 
| MultiSelect | Boolean  | Tidak  | Memungkinkan memilih beberapa item Default: false (pilihan tunggal)  | 
| barang | AppleFormListPickerPageItem[]  | Ya  | Daftar item halaman daftar  | 

#### AppleFormListPickerPageItem
<a name="apple-forms-limits-appleformlistpickerpageitem"></a>

 **AppleFormListPickerPageItem**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| judul | Tali  | Ya  | Menampilkan teks item  | 
| ImageType | ImageType  | Tidak  | Hadir saat menampilkan gambar dalam item Nilai yang diizinkan: “URL” Default: Tidak ada gambar yang ditampilkan  | 
| ImageData | String  | Tidak  | Untuk ImageType="URL”, ini adalah nilai URL Default: Tidak ada gambar yang ditampilkan  | 

**catatan**  
Model gambar serupa dengan model pesan interaktif yang ada (ListPicker), kecuali `imageDescription` tidak disertakan, yang digunakan untuk teks alt gambar di widget obrolan /obrolan web dan diabaikan untuk pesan interaktif Apple.

#### AppleFormWheelPickerPage
<a name="apple-forms-limits-appleformwheelpickerpage"></a>

 **AppleFormWheelPickerPage**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| PageType | ApplePageType  | Ya  | Nilai: "WheelPicker”  | 
| barang | AppleFormWheelPickerPageItem[]  | Ya  | Daftar item pemetik roda  | 
| LabelText | String  | Tidak  | Teks ditampilkan di sebelah input. Lihat contoh tangkapan layar di Lampiran  | 

#### AppleFormWheelPickerPageItem
<a name="apple-forms-limits-appleformwheelpickerpageitem"></a>

 **AppleFormWheelPickerPageItem**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| judul | Tali  | Ya  | Menampilkan teks item pemilih  | 

#### AppleFormInputPage
<a name="apple-forms-limits-appleforminputpage"></a>

 **AppleFormInputPage**meluas [AppleFormPage](#apple-forms-limits-appleformpage) 


| Bidang  | Tipe  | Diperlukan  | Deskripsi/Catatan  | 
| --- | --- | --- | --- | 
| PageType | ApplePageType  | Ya  | Nilai: “Masukan”  | 
| LabelText | String  | Tidak  | Teks ditampilkan di sebelah kotak input. Lihat contoh tangkapan layar di Lampiran  | 
| HelperText | String  | Tidak  | Teks tambahan ditampilkan di bawah kotak input Default: Tidak ada teks pembantu  | 
| PlaceholderText | String  | Tidak  | Teks placeholder untuk ditampilkan pada awalnya ketika tidak ada input Default: “(Opsional)” atau “(Diperlukan)” teks placeholder  | 
| PrefixText | String  | Tidak  | Awalan teks untuk ditampilkan di sebelah input. Contoh: '\$1' ketika input adalah nilai moneter Default: Tidak ada teks awalan  | 
| diperlukan | Boolean  | Tidak  | Apakah pengguna akhir diminta untuk memberikan masukan Default: false  | 
| MultiLine | Boolean  | Tidak  | Apakah input multi-baris dapat diberikan Default: false (baris tunggal)  | 
| maxCharCount  | Bilangan  | Tidak  | Jumlah arang maksimum masukan. Ditegakkan pada klien Apple Default: Tidak ada batasan  | 
| regex | String  | Tidak  | String regex untuk menempatkan batasan pada input yang disediakan Default: Tidak ada kendala regex  | 
| KeyboardType | String  | Tidak  | Menentukan jenis keyboard apa yang ditampilkan saat pengguna akhir memberikan input Nilai yang diizinkan: Sama seperti Apple. Lihat [dokumen.](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message) Beberapa nilai yang diizinkan: NumberPad, PhonePad, EmailAddress  | 
| textContentType  | String  | Tidak  | Membantu dengan saran pengisian otomatis di perangkat Apple.  Nilai yang diizinkan: Sama seperti Apple. Lihat [dokumen.](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message) Beberapa nilai yang diizinkan: telephonEnumber,, FamilyName fullStreetAddress  | 

## Templat Apple Pay
<a name="apple-pay-template"></a>

**catatan**  
Template ini hanya berlaku untuk alur kontak Apple Messages for Business.

 Gunakan template Apple Pay untuk menyediakan cara yang mudah dan aman bagi pelanggan untuk membeli barang dan jasa melalui Apple Messages for Business dengan Apple Pay.

 Kode berikut adalah template Apple Pay yang dapat Anda gunakan di Lambda Anda:

**catatan**  
 **Teks tebal** adalah parameter wajib. 
 Dalam beberapa kasus, jika elemen induk ada dalam permintaan dan tidak wajib/tebal, tetapi bidang di dalamnya, maka bidang tersebut wajib. 

```
{
  "templateType":"ApplePay",
  "version":"1.0",
  "data":{
    "content":{
      "title":"Halibut",
      "subtitle":"$63.99 at Sam's Fish",
      "imageType":"URL",
      "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg",
      "payment": {
        "endpoints": {
          "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/",
          "paymentGatewayUrl": "https://sams.example.com/paymentGateway/",
          "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/",
          "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/",
          "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/",
          "fallbackUrl": "https://sams.example.com/paymentGateway/"
        },
        "merchantSession": {
          "epochTimestamp": 1525730094057,
          "expiresAt": 1525730094057,
          "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD",
          "nonce": "fe72cd0f",
          "merchantIdentifier": "merchant.com.sams.fish",
          "displayName": "Sam's Fish",
          "signature": "308006092a8.......09F0W8EGH00",
          "initiative": "messaging",
          "initiativeContext": "https://sams.example.com/paymentGateway/",
          "signedFields": [
            "merchantIdentifier",
            "merchantSessionIdentifier",
            "initiative",
            "initiativeContext",
            "displayName",
            "nonce"
          ],
        },
        "paymentRequest": {
          "applePay": {
            "merchantCapabilities": [
              "supports3DS",
              "supportsDebit",
              "supportsCredit"
            ],
            "merchantIdentifier": "merchant.com.sams.fish",
            "supportedNetworks": [
              "amex",
              "visa",
              "discover",
              "masterCard"
            ]
          },
          "countryCode": "US",
          "currencyCode": "USD",
          "lineItems": [
            {
              "amount": "59.00",
              "label": "Halibut",
              "type": "final"
            },
            {
              "amount": "4.99",
              "label": "Shipping",
              "type": "final"
            }
          ],
          "requiredBillingContactFields": [
            "postalAddress"
          ],
          "requiredShippingContactFields": [
            "postalAddress",
            "phone",
            "email",
            "name"
          ],
          "shippingMethods": [
            {
              "amount": "0.00",
              "detail": "Available within an hour",
              "identifier": "in_store_pickup",
              "label": "In-Store Pickup"
            },
            {
              "amount": "4.99",
              "detail": "5-8 Business Days",
              "identifier": "flat_rate_shipping_id_2",
              "label": "UPS Ground"
            },
            {
              "amount": "29.99",
              "detail": "1-3 Business Days",
              "identifier": "flat_rate_shipping_id_1",
              "label": "FedEx Priority Mail"
            }
          ],
          "total": {
            "amount": "63.99",
            "label": "Sam's Fish",
            "type": "final"
          },
          "supportedCountries" : [
            "US",
            "CA",
            "UK",
            "JP",
            "CN"
          ]
        }
      },
      "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9"
    }
  }
}
```

### Batas Apple Pay
<a name="apple-pay-limits"></a>


| Bidang induk  | Bidang  | Diperlukan  | Karakter minimum  | Karakter maksimum  | Persyaratan lainnya  | 
| --- | --- | --- | --- | --- | --- | 
|  | TemplateType | Ya  |  |  | Jenis template yang valid  | 
|  | data | Ya  |  |  |  | 
|  | versi | Ya  |  |  | Harus “1.0"  | 
| data | konten | Ya  |  |  |  | 
| konten | judul | Ya  | 1  | 512  | Judul gelembung pesan yang diterima  | 
|  | subjudul | Tidak  | 0  | 512  | Subtitle yang akan ditampilkan di bawah judul gelembung pesan yang diterima  | 
|  | ImageData | Tidak  | 0  | 200  | Harus berupa URL yang dapat diakses publik yang valid  | 
|  | ImageType | Tidak  | 0  | 50  | Harus “URL”  | 
|  | pembayaran | Ya  |  |  | Kamus yang berisi bidang yang memberikan spesifikasi permintaan Apple Pay.  | 
|  | RequeStidentifier | Tidak  |  |  | String, Identifier untuk ApplePay permintaan. Jika tidak ditentukan, UUID akan dihasilkan dan digunakan.  | 
| pembayaran | titik akhir | Ya  |  |  | Kamus yang berisi titik akhir untuk pemrosesan pembayaran, pembaruan kontak, dan pelacakan pesanan.  | 
|  | MerchantSession | Ya  |  |  | Kamus yang berisi sesi pembayaran yang disediakan oleh Apple Pay setelah meminta sesi pembayaran baru.  | 
|  | PaymentRequest | Ya  |  |  | Kamus dengan informasi tentang permintaan pembayaran  | 
| titik akhir | paymentGatewayUrl  | Ya  |  |  | String. Dipanggil oleh Apple Pay untuk memproses pembayaran melalui penyedia pembayaran. URL harus cocok dengan URL di bidang InitiativeContext dari sesi merchant  | 
|  | FallBackURL | Tidak  |  |  | URL yang terbuka di browser web sehingga pelanggan dapat menyelesaikan pembelian jika perangkat mereka tidak dapat melakukan pembayaran menggunakan Apple Pay. Jika ditentukan, fallbackUrl harus cocok. paymentGatewayUrl  | 
|  | orderTrackingUrl  | Tidak  |  |  | Dipanggil oleh Pesan untuk Bisnis setelah menyelesaikan pesanan; memberi Anda kesempatan untuk memperbarui informasi pesanan di sistem Anda.  | 
|  | paymentMethodUpdateUrl | Tidak  |  |  | Dipanggil oleh Apple Pay saat pelanggan mengubah metode pembayaran. Jika Anda tidak menerapkan titik akhir ini dan Anda menyertakan kunci ini dalam kamus, pelanggan akan melihat pesan kesalahan.  | 
|  | shippingContactUpdateUrl | Tidak  |  |  | Dipanggil oleh Apple Pay ketika pelanggan mengubah informasi alamat pengiriman mereka. Jika Anda tidak menerapkan titik akhir ini dan Anda menyertakan kunci ini dalam kamus, pelanggan akan melihat pesan kesalahan  | 
|  | shippingMethodUpdateUrl | Tidak  |  |  | Dipanggil oleh Apple Pay saat pelanggan mengubah metode pengiriman. Jika Anda tidak menerapkan titik akhir ini dan Anda menyertakan kunci ini dalam kamus, pelanggan akan melihat pesan kesalahan.  | 
| MerchantSession | DisplayName | Ya  | 1  | 64  | String. Nama kanonik untuk toko Anda, cocok untuk dipajang. Jangan melokalkan nama.  | 
|  | inisiatif | Ya  |  |  | String. Harus “pesan”  | 
|  | InitiativeContext | Ya  |  |  | String. Lulus URL gateway pembayaran Anda.  | 
|  | MerchAntiDentifier | Ya  |  |  | String. Pengenal unik yang mewakili pedagang untuk Apple Pay.  | 
|  | merchantSessionIdentifier  | Ya  |  |  | String. Pengenal unik yang mewakili sesi merchant untuk Apple Pay.  | 
|  | EpochTimeStamp | Ya  |  |  | String.Representasi waktu dalam jumlah detik yang telah berlalu sejak 00:00:00 UTC, Kamis, 1 Januari 1970.  | 
|  | kedaluwarsa | Ya  |  |  | String. Representasi waktu kedaluwarsa dalam jumlah detik yang telah berlalu sejak 00:00:00 UTC, Kamis, 1 Januari 1970.  | 
|  | nonce | Tidak  |  |  | Biner. String sekali pakai yang memeriksa integritas interaksi.  | 
|  | tanda tangan | Tidak  |  |  | Biner. Sebuah hash dari kunci publik digunakan untuk menandatangani interaksi.  | 
|  | SignedFields | Tidak  |  |  | Daftar string berisi properti yang ditandatangani.  | 
| PaymentRequest | ApplePay | Ya  |  |  | Kamus yang menjelaskan konfigurasi Apple Pay.  | 
|  | CountryCode | Ya  |  |  | String. Kode negara ISO 3166 dua huruf pedagang.  | 
|  | CurrencyCode | Ya  |  |  | String. Kode mata uang ISO 4217 tiga huruf untuk pembayaran.  | 
|  | BarisItem | Tidak  |  |  | Berbagai item baris yang menjelaskan pembayaran dan biaya tambahan. Item baris tidak diperlukan. Namun, array tidak dapat kosong jika kunci lineItems hadir.  | 
|  | total | Ya  |  |  | Kamus yang berisi total. Jumlah total harus lebih besar dari nol untuk lulus validasi.  | 
|  | requiredBillingContactBidang | Tidak  |  |  | Daftar informasi penagihan yang diperlukan pelanggan yang diperlukan untuk memproses transaksi. Untuk daftar kemungkinan string, lihat [requiredBillingContactBidang](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216120-requiredbillingcontactfields). Hanya memerlukan bidang kontak yang diperlukan untuk memproses pembayaran. Meminta bidang yang tidak perlu menambah kompleksitas transaksi, yang dapat meningkatkan kemungkinan pelanggan membatalkan permintaan pembayaran.  | 
|  | requiredShippingContactBidang | Tidak  |  |  | Daftar pengiriman atau informasi kontak yang diperlukan dari pelanggan untuk memenuhi pesanan. Misalnya, jika Anda memerlukan email atau nomor telepon pelanggan, maka sertakan kunci ini. Untuk daftar kemungkinan string, lihat [requiredShippingContactBidang](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216121-requiredshippingcontactfields).  | 
|  | Metode Pengiriman | Tidak  |  |  | Array yang mencantumkan metode pengiriman yang tersedia. Lembar pembayaran Apple Pay menampilkan metode pengiriman pertama dari array sebagai metode pengiriman default.  | 
|  | Negara yang Didukung | Tidak  |  |  | Berbagai negara untuk mendukung. Buat daftar setiap negara dengan kode negara ISO 3166 mereka.  | 
| ApplePay | MerchAntiDentifier | Ya  |  |  | Pengenal unik yang mewakili pedagang untuk Apple Pay.  | 
|  | Kemampuan Merchant | Ya  |  |  | Berbagai kemampuan pembayaran yang didukung oleh pedagang. Array harus menyertakan supports3DS, dan secara opsional dapat menyertakan SupportsCredit, SupportsDebit, dan SupportSemv.  | 
|  | Jaringan yang didukung | Ya  |  |  | Berbagai jaringan pembayaran yang didukung oleh pedagang. Array harus menyertakan satu atau lebih dari nilai-nilai berikut: amex, discover, jcb, MasterCard, PrivateLabel, atau visa  | 
| lineItem | jumlah | Ya  |  |  | Jumlah moneter dari item baris.  | 
|  | label | Ya  |  |  | Deskripsi singkat dan terlokalisasi dari item baris.  | 
|  | jenis | Tidak  |  |  | Nilai yang menunjukkan apakah item baris final atau tertunda.  | 
| total | jumlah | Ya  |  |  | Jumlah total pembayaran.  | 
|  | label | Ya  |  |  | Deskripsi pembayaran yang singkat dan terlokalisasi.  | 
|  | jenis | Tidak  |  |  | Nilai yang menunjukkan apakah pembayaran final atau tertunda.  | 
| Metode Pengiriman | jumlah | Ya  |  |  | String. Biaya non-negatif yang terkait dengan metode pengiriman ini.  | 
|  | detail | Ya  |  |  | String. Deskripsi tambahan tentang metode pengiriman.  | 
|  | label | Ya  |  |  | String. Deskripsi singkat tentang metode pengiriman.  | 
|  | pengenal | Ya  |  |  | String. Nilai yang ditentukan klien yang digunakan untuk mengidentifikasi metode pengiriman ini.  | 

## Templat Aplikasi iMessage
<a name="imessage-app-template"></a>

**catatan**  
Template ini hanya berlaku untuk alur kontak Apple Messages for Business. 

 Gunakan template iMessage Apps untuk menyajikan aplikasi iMessage yang dibuat khusus kepada pelanggan. 

 Kode berikut adalah contoh template Aplikasi iMessage yang dapat Anda gunakan dalam fungsi Lambda Anda.  

```
{
   templateType: AppleCustomInteractiveMessage,
   version: "1.0",
   data: {
       content: {
           appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg",
           appId: "123456789",
           appName: "Package Delivery",
           title: "Bubble Title CIM",
           bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}",
           dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true",
           subtitle: "Bubble package",
       },
       replyMessage: {
           title: "Custom reply message title",
           subtitle: "Custom reply message subtitle",
           imageType: "URL",
           imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",
       }
   }
}
```

### Batas Aplikasi iMessage
<a name="imessage-apps-limits"></a>


|  **Bidang Induk**  |  **Bidang**  |  **Diperlukan**  |  **Jenis**  |  **Catatan Lainnya**  | 
| --- | --- | --- | --- | --- | 
|  |  TemplateType  | Ya  | TemplateType  | Jenis template yang valid, "AppleCustomInteractiveMessage”  | 
|  |  data  | Ya  | InteractiveMessageData  | Berisi konten dan kamus ReceivedMessage  | 
|  |  versi  | Ya  | string  | Harus “1.0"  | 
|  data  |  konten  | Ya  | InteractiveMessageContent  | Konten Interaktif dari Aplikasi iMessage  | 
|  |  Balas Pesan  | Ya  | ReplyMessage  | Konfigurasi tampilan pesan untuk setelah respons terhadap pesan interaktif dikirim  | 
|  konten  |  appIconUrl  | Ya  | string  | URL AWS S3  | 
|  |  AppID  | Ya  | string  | Id IMessage Aplikasi Bisnis  | 
|  |  AppName  | Ya  | string  | Nama IMessage Aplikasi Bisnis  | 
|  |  tawaran  | Ya  | string  | Tawaran IMessage Aplikasi Bisnis. Pola: com.apple.messages. MSMessageExtensionBalloonPlugin: \$1tim-id\$1: \$1\$1 ext-bundle-id  | 
|  |  DataURL  | Ya  | string  | Data yang diteruskan ke Aplikasi iMessage  | 
|  |  useLiveLayout  | Tidak  | boolean  | Default Benar  | 
|  |  judul  | Ya  | string  | judul gelembung Aplikasi IMessage  | 
|  |  subjudul  | Tidak  | string  | subtitle dari gelembung Aplikasi IMessage  | 
|  Balas Pesan  |  judul  | Tidak  | string  |  | 
|  |  subjudul  | Tidak  | string  |  | 
|  |  ImageType  | Tidak  | string  | Harus berupa URL yang dapat diakses publik yang valid  | 
|  |  ImageData  | Tidak  | string  | Tidak bisa ada tanpa gambar  | 

## WhatsApp daftar
<a name="whatsapp-list"></a>

**catatan**  
Anda hanya menggunakan template ini untuk alur WhatsApp pesan. Untuk informasi selengkapnya tentang integrasi WhatsApp dengan Amazon Connect, lihat[Mengatur pesan WhatsApp Bisnis](whatsapp-integration.md), sebelumnya dalam panduan ini.

Anda menggunakan templat WhatsApp daftar dalam WhatsApp obrolan untuk menyediakan daftar opsi kepada pelanggan.

Contoh berikut menunjukkan daftar opsi untuk layanan perbankan.

```
{
  "templateType": "WhatsAppInteractiveList",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Which account do you need help with?",
      "body": {
        "text": "Which account do you need help with?"
      },
      "action": {
        "button": "Options",
        "sections": [
          {
            "title": "Your accounts",
            "rows": [
              {
                "id": "11111111",
                "title": "11111111",
                "description": "PERSONAL CHECKING"
              },
              {
                "id": "22223333",
                "title": "22223333",
                "description": "PERSONAL SAVINGS"
              }
            ]
          },
          {
            "title": "Other",
            "rows": [
              {
                "id": "other",
                "title": "I can't find my account"
              }
            ]
          }
        ]
      }
    }
  }
}
```

Gambar berikut menunjukkan layar khas sebelum dan sesudah pelanggan membuka daftar.

![\[Gambar yang menampilkan daftar opsi.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/whatsapp-options-results.png)


### WhatsApp batas pilihan
<a name="whatsapp-options-limits"></a>


| Bidang induk | Bidang | Diperlukan | Panjang minimum  | Panjang maksimum  | Persyaratan Lainnya | 
| --- | --- | --- | --- | --- | --- | 
|  | TemplateType | Ya |  |  | Harus "WhatsAppInteractiveList” | 
|  | data | Ya |  |  |  | 
|  | versi | Ya |  |  | Harus “1.0" | 
| data | konten | Ya |  |  |  | 
| konten | judul | Ya |  |  |  | 
|  | sundulan | Tidak |  |  |  | 
|  | tubuh | Ya  |  |  |  | 
|  | footer | Tidak |  |  |  | 
|  | aksi | Ya |  |  |  | 
| sundulan |  jenis  | Ya  |  |  |  Harus “teks”  | 
|  |  teks  | Ya  | 1  |  60  |  | 
| tubuh |  teks  | Ya  | 1 |  4096  |  | 
|  kaki halaman  |  teks  | Ya  | 1 |  60  |  | 
|  aksi  |  bagian  | Ya  | 1 |  10  |  | 
|  |  tombol  | Ya  | 1 |  20  |  | 
|  bagian  |  judul  | Ya  | 1 |  24  |  | 
|  |  baris  | Ya  | 1 |  10  |  Maksimum 10 baris di semua bagian  | 
|  baris  |  id  | Ya | 1 | 200 | Harus unik di seluruh baris | 
|  |  judul  | Ya  | 1 | 24 |  | 
|  | deskripsi | Tidak  | 1 |  72  |  | 

## WhatsApp tombol balas
<a name="whatsapp-reply-button"></a>

**catatan**  
Anda hanya menggunakan template ini untuk alur WhatsApp pesan.

Anda dapat menggunakan template tombol WhatsApp balas untuk menyajikan daftar opsi in-line bagi pelanggan.

```
{
  "templateType": "WhatsAppInteractiveReplyButton",
  "version": "1.0",
  "data": {
    "content": {
      "title": "What would you like to do?",
      "body": {
        "text": "What would you like to do?"
      },
      "action": {
        "buttons": [
          {
            "type": "reply",
            "reply": {
              "id": "agent",
              "title": "Continue to agent"
            }
          },
          {
            "type": "reply",
            "reply": {
              "id": "end_chat",
              "title": "End chat"
            }
          }
        ]
      }
    }
  }
}
```

Gambar berikut menunjukkan pengalaman pengguna yang khas.

![\[Gambar balasan dalam sesi obrolan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/whatsapp-reply-template.png)


### WhatsApp batas tombol balas
<a name="whatsapp-reply-limits"></a>

Template WhatsApp balasan memiliki batasan berikut.


| Bidang Induk | Bidang | Diperlukan | Panjang minimum | Panjang maksimum  | Persyaratan Lainnya | 
| --- | --- | --- | --- | --- | --- | 
|  | TemplateType  | Ya |  |  | Harus "WhatsAppInteractiveReplyButton”  | 
|  | data  | Ya |  |  |  | 
|  | versi  | Ya |  |  | Harus “1.0"  | 
|  data  | konten | Ya |  |  |  | 
|  konten  | judul | Ya |  |  |  | 
|  | sundulan | Tidak |  |  |  | 
|  | tubuh | Ya |  |  |  | 
|  | footer | Tidak |  |  |  | 
|  | aksi  | Ya |  |  |  | 
| sundulan  | jenis  | Ya |  |  | Nilai yang valid: “teks”, “dokumen”, “gambar”, “video”  | 
|  | teks | Tidak | 1 | 60  |  | 
|  | gambar | Tidak |  |  |  | 
|  | video | Tidak |  |  |  | 
|  | dokumen | Tidak |  |  |  | 
| gambar | tautan  | Ya |  |  | Harus URL media yang dapat diakses publik dimulai dengan https/http  | 
| video | tautan  | Ya |  |  | Harus URL media yang dapat diakses publik dimulai dengan https/http  | 
| dokumen | tautan  | Ya |  |  | Harus URL media yang dapat diakses publik dimulai dengan https/http  | 
| tubuh  | teks  | Ya | 1 | 1024  |  | 
| footer | teks  | Ya | 1 | 60  |  | 
| aksi  | tombol  | Ya | 1 | 3  |  | 
| tombol  | jenis  | Ya |  |  | Harus “balasan”  | 
|  | reply.id | Ya | 1 | 256  | Harus unik di seluruh tombol  | 
|  | balasan.judul  | Ya | 1 | 20  |  | 

## Pemformatan yang kaya dalam judul dan subtitle
<a name="rich-link-formatting"></a>

Anda dapat menambahkan format kaya ke judul dan subtitle pesan obrolan Anda. Misalnya, Anda dapat menambahkan tautan, miring, tebal, daftar bernomor, dan daftar berpoin. Anda menggunakan [penurunan harga untuk memformat]( https://commonmark.org/help/) teks Anda. 

Gambar berikut dari kotak obrolan menunjukkan contoh pemilih daftar dengan format kaya dalam judul dan subtitle.
+ Judul **Bagaimana kami bisa membantu? aws.amazon.com** tebal dan berisi tautan.
+ Subtitle berisi huruf miring dan teks tebal, daftar berpoin, dan daftar bernomor. Ini juga menunjukkan tautan biasa, tautan teks, dan kode sampel.
+ Bagian bawah kotak obrolan menunjukkan tiga elemen pemilih daftar.

![\[Kotak obrolan, judul dengan tautan, subtitle dengan daftar dan tautan.\]](http://docs.aws.amazon.com/id_id/connect/latest/adminguide/images/rich-link-formatting-example1a.png)


### Cara memformat teks dengan penurunan harga
<a name="markdown-formatting-text"></a>

Anda dapat menulis string judul dan subtitle dalam format multi-baris, atau dalam satu baris dengan karakter pemisah ``\r\n`` baris.
+ **Format multi-baris**: Contoh kode berikut menunjukkan cara membuat daftar dalam penurunan harga dalam format multi-baris.

  ```
  const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text**
  
  This is a bulleted list (multiline):
  * item 1
  * item 2
  * item 3
  
  This is a numbered list:
  1. item 1
  2. item 2
  3. item 3
  
  Questions? Visit https://plainlink.com/faq
  
  [This is a link](https://aws.amazon.com)
  
  This is \`\`
  `
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: MultiLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```
+ **Format baris tunggal**: Contoh berikut menunjukkan cara membuat subtitle dalam satu baris dengan menggunakan karakter jeda ``\r\n`` baris. 

  ```
  const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`";
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: SingleLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```

Contoh berikut menunjukkan bagaimana format miring dan teks tebal dengan penurunan harga:

`This is some *emphasized text* and some **strongly emphasized text**`

Contoh berikut menunjukkan cara memformat teks sebagai kode dengan penurunan harga:

`This is `<code />``

### Cara memformat tautan dengan penurunan harga
<a name="markdown-formatting-links"></a>

Untuk membuat link, gunakan sintaks berikut:

 `[aws](https://aws.amazon.com)`

Contoh berikut menunjukkan dua cara Anda dapat menambahkan tautan dengan penurunan harga:

`Questions? Visit https://plainlink.com/faq `

`[This is a link](https://aws.amazon.com)`

**catatan**  
Untuk pemilih daftar, `targetForLinks` bidang dapat ditambahkan sebagai bidang anak `content` jika Anda ingin memiliki kontrol granular atas tempat tautan dibuka. Widget komunikasi akan membuka tautan di tab browser baru secara default. Lihat informasi yang lebih lengkap di [Templat pemilih daftar](#list-picker).