

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

# Gunakan pembantu template pesan
<a name="message-template-helpers"></a>

Dengan template pesan Amazon Connect, pelanggan dapat membuat templat pesan yang dapat digunakan kembali berdasarkan bahasa Handlebars.js. Pembantu menyediakan berbagai fitur seperti memformat harga ke mata uang Wilayah tertentu atau menambahkan lokasi berbasis zona waktu. Helper dapat menggunakan string atau bilangan bulat tertentu untuk nilai atau variabel pesan Amazon Connect tertentu.

Ini adalah kategori pembantu, dijelaskan di bagian berikut.

## Pembantu default
<a name="defaulthelpers"></a>

Bagian ini menjelaskan pembantu **bawaan** yang disediakan oleh Setang. 

**penting**  
`with`Pembantu bawaan yang disediakan oleh Setang tidak didukung. Namun, semua pembantu Setang lainnya didukung penuh. Untuk daftar lengkapnya, lihat [Pembantu Bawaan](https://handlebarsjs.com/guide/builtin-helpers.html) di [handlebarsjs.com](https://handlebarsjs.com). 

 Ini adalah pembantu bawaan:
+ `each`— Mengulangi daftar.
**catatan**  
Ukuran daftar maksimum adalah 15 item.
+ `if`— Mengevaluasi pernyataan.

*setiap*  
Mengulangi daftar. Helper ini hanya menggunakan pernyataan blok. Anda dapat secara opsional:   
+ Lulus `@index` permintaan untuk mereferensikan indeks loop saat ini.
+ Gunakan `this` helper untuk mereferensikan elemen saat ini yang sedang diulang.
+ Kembalikan respons helper dalam daftar, menggunakan `<li>` tag.
**Penggunaan**  
`{{#each {{value}}}}`  
Nilai pada posisi `{{@index}}` adalah`{{this}}`.  
`{{else}}`  
Kondisinya salah.  
`{{/each}}`  
`each`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/each}}` dalam pernyataan blok.  
**Contoh**  
Dalam contoh `each` ini, digunakan untuk mengembalikan daftar warna favorit pengguna. Untuk a`false`, `else` pernyataan dikembalikan. Jika permintaannya adalah ini:  
`{{#each User.UserAttributes.FavoriteColors}}`  
`<li>{{this}}</li>`  
`{{else}}`  
{{You have no favorite colors.}}  
`{{/each}}`kembali  
+ {{red}}
+ {{blue}}
+ {{yellow}}
untuk pernyataan yang benar.

*jika*  
Mengevaluasi apakah sesuatu itu benar dan mengembalikan respons berdasarkan evaluasi.   
**Penggunaan**  
`{{#if {{value}}}}`  
Nilai tidak terdefinisi  
`{{else}}`  
Nilai tidak terdefinisi  
`{{/if}}`  
`if`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/if}}` dalam pernyataan blok.  
**Contoh**  
Dalam contoh ini, `if` helper digunakan untuk mengevaluasi apakah nama depan pengguna. Jika nama ditemukan, salam dikembalikan yang melewati nama depan pengguna dalam respons. Jika tidak, `else` pernyataan mengembalikan salam alternatif.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
`{{Hello}} {{User.UserAttributes.FirstName.[0]}}{{,}}`  
`{{else}}`  
{{Hello,}}  
`{{/if}}`  
kembali {{Hello, Jane}} jika `if` penolong benar.

## Pembantu bersyarat
<a name="conditionhelpers"></a>

Bagian ini menjelaskan **pembantu bersyarat**. 

Pembantu bersyarat dapat digunakan pada satu baris atau dalam pernyataan blok. Anda dapat menyesuaikan respons terlepas dari metode pembantu yang Anda gunakan. Anda dapat melewati pembantu bersyarat tambahan dalam pernyataan baris tunggal dan blok. Pembantu bersyarat berikut menunjukkan penggunaan pertama untuk satu baris dan kemudian pernyataan blok menggunakan klausa opsional`else`. Ini adalah pembantu bersyarat:
+ `and`— Membandingkan apakah semua elemen yang dilewati sama.
+ `eq`— Menguji apakah dua elemen sama.
+ `gt`— Menguji apakah satu elemen lebih besar dari yang lain.
+ `gte`— Menguji apakah satu elemen lebih besar dari atau sama dengan yang lain.
+ `if`Mengevaluasi apakah sesuatu itu benar.
+ `lt`— Menguji apakah satu elemen kurang dari yang lain.
+ `lte`— Menguji apakah satu elemen kurang dari atau sama dengan yang lain.
+ `neq`— Mengevaluasi apakah dua elemen tidak sama.
+ `not`— Membalikkan respons operasi Boolean.
+ `or`— Membandingkan apakah salah satu elemen dalam argumen sama.

*and*  
Membandingkan apakah *semua* elemen yang dilewatkan dalam argumen sama, dan kemudian mengembalikan respons berdasarkan hasilnya. Helper ini dapat digunakan untuk nilai-nilai non-Boolean. Anda harus melewati setidaknya dua elemen untuk kondisi tersebut.  
**Penggunaan**  
+ `{{and {{valuea}} {{valueb}} {{valuec}} {{valued}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#and {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/and}}`

  `and`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/and}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh ini, `eq` digunakan dalam pernyataan `and` blok untuk menentukan apakah kedua string yang diteruskan untuk `Location.Country` atribut `Location.City ` dan benar. Jika kedua kondisi sama, maka pernyataan yang benar dikembalikan. Jika salah satu dari atribut tersebut salah, maka `else` pernyataan dikembalikan.  
`{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}`  
{{You live in Los Angeles and the US.}}  
`{{else}}`  
{{You don’t live in Los Angeles and the US.}}  
`{{/and}}`

*persamaan*  
Menguji apakah dua elemen sama atau jika nilai satu elemen sama dengan string yang dilewatkan.  
**Penggunaan**  
+ `{{eq {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#eq {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/eq}}`

  `eq`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/eq}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh `eq` ini, digunakan untuk mengevaluasi apakah nilai `User.UserAttributes.FavoriteColors.[0]` adalah{{Red}}. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#eq User.UserAttributes.FavoriteColors.[0] "{{red}}"}}`  
{{Your favorite color is red.}}  
`{{else}}`  
{{You don't like red.}}  
`{{/eq}}`

*gt*  
Menguji apakah nilai satu elemen lebih besar dari yang lain.   
**Penggunaan**  
+ `{{gt {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#gt {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/gt}}`

  `gt`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/gt}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh ini, helper membandingkan nilai `User.UserAttributes.UserAge.[0]` atribut terhadap string{{17}}, untuk memverifikasi apakah usia pengguna lebih besar dari 17. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#gt User.UserAttributes.UserAge.[0] "{{17}}"}}`  
{{You are old enough to rent a car.}}  
`{{else}}`  
{{You are not old enough to rent a car.}}  
`{{/gt}}`

*gte*  
Menguji apakah nilai satu elemen lebih besar dari atau sama dengan yang lain.  
`Usage`  
+ `{{gte {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#gte {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/gte}}`

  `get`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/gte}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh ini, helper membandingkan `User.UserAttributes.UserAge.[0]` atribut terhadap string{{18}}, untuk memverifikasi apakah usia pengguna lebih besar dari atau sama dengan 18. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#gte User.UserAttributes.UserAge.[0] "{{18}}"}}`  
{{You are old enough to rent a car.}}  
`{{else}}`  
{{You are not old enough to rent a car.}}  
`{{/gte}}`

*jika*  
Mengevaluasi apakah sesuatu itu benar dan mengembalikan respons berdasarkan evaluasi.  
**Penggunaan**  
+ `{{#if {{value}}}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#if {{value}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/if}}`

  `if`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/if}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh ini, helper digunakan untuk mengevaluasi apakah nama depan pengguna. Jika nama ditemukan, salam dikembalikan yang melewati nama depan pengguna dalam respons. Jika tidak, pernyataan else mengembalikan salam alternatif.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
{{Hello}} `{{User.UserAttributes.FirstName.[0]}}`{{,}}  
`{{else}}`  
{{Hello,}}  
`{{/if}}`  
kembali {{Hello Jane,}} jika penolong benar.

*lt*  
Menguji apakah nilai satu elemen kurang dari nilai elemen lainnya.  
**Penggunaan**  
+ `{{lt {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#lt {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/lt}}`

  `lt`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/lt}}` dalam pernyataan blok.
**Contoh**  
Dalam contoh ini, helper membandingkan `User.UserAttributes.UserAge.[0]` atribut terhadap string{{18}}, untuk memverifikasi apakah usia pengguna kurang dari 18. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#lt User.UserAttributes.UserAge.[0] "{{18}}"}}`  
{{You are not old enough to rent a car.}}  
`{{else}}`  
{{You are old enough to rent a car.}}  
`{{/lt}}`

*lte*  
Menguji apakah nilai suatu elemen kurang dari atau sama dengan yang lain.  
**Penggunaan**  
+ `{{lte {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#lte {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/lte}}`

  `lte`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/lte}}` dalam pernyataan blok.
**Contoh**  
Dalam pernyataan blok ini, helper membandingkan `User.UserAttributes.UserAge.[0]` atribut terhadap string{{17}}, untuk memverifikasi apakah usia pengguna sama dengan 17 atau lebih muda. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#lte User.UserAttributes.Age.[0] "{{17}}"}}`  
{{You are not old enough to rent a car.}}  
`{{else}}`  
{{You are old enough to rent a car.}}  
`{{/lte}}`

*neq*  
Uji apakah dua elemen *tidak* sama.  
**Penggunaan**  
+ `{{neq {{valuea}} {{valueb}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#neq {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/neq}}`

  `neq`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/neq}}` dalam pernyataan blok.
**Contoh**  
Dalam pernyataan blok ini, `User.UserAttributes.FavoriteColors.[0]` atribut diperiksa terhadap string`{{Red}}`. Jika jawabannya`true`, pernyataan yang benar dikembalikan. Jika jawabannya`false`, maka `else` pernyataan dikembalikan.  
`{{#neq User.UserAttributes.Favorite.Colors.[0] "{{red}}"}}`  
{{You do not like red.}}  
`{{else}}`  
{{You like red.}}  
`{{/neq}}`

*tidak*  
Membalikkan respon dari operasi Boolean, sehingga jika `not` adalah perbandingan positif, maka `true` pernyataan dikembalikan. Jika responsnya salah, maka pernyataan else dikembalikan.   
**Penggunaan**  
+ `{{not {{value}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya.
+ `{{#not {{value}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/not}}`

  `not`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/not}}` dalam pernyataan blok.
**Contoh**  
Dalam pernyataan blok ini, `User.UerAttributes.FavoriteColors.[0]` atribut diperiksa terhadap string{{red}}, menggunakan `eq` helper. `not`Pembantu kemudian mengembalikan kebalikan dari `eq` penolong. Jika respons mengembalikan warna apa pun selain{{red}}, `true` pernyataan dikembalikan. Jika respon kembali{{red}}, maka `else` pernyataan dikembalikan menunjukkan pernyataan palsu.  
`{{#not (eq User.UserAttributes.Favorite.Colors.[0] "{{red}}")}}`  
{{You do not like red.}}  
`{{else}}`  
{{You like red.}}  
`{{/not}}`  
**Contoh**  
Dalam contoh ini,   
`{{not (eq User.UserAttributes.FavoriteColors.[0] "{{red}}")}}`  
mengembalikan false jika `User.UserAttributes.FavoriteColors.[0]` ada{{red}}.

*atau*  
Membandingkan apakah *salah* satu elemen dalam argumen adalah sama, dan kemudian mengembalikan respon berdasarkan hasil. Helper ini dapat digunakan untuk nilai-nilai non-Boolean.  
**Penggunaan**  
+ `{{or {{valuea}} {{valueb}} {{valuec}} {{valued}} yes='{{y}}' no='{{n}}'}}`

  Anda dapat mengganti {{y}} dan {{n}} dengan nilai lain, seperti {{yes}} dan{{no}}, atau string lain yang ingin Anda kembalikan, tergantung pada kondisinya. Anda harus melewati setidaknya dua elemen untuk kondisi tersebut.
+ `{{#or {{valuea}} {{valueb}}}}`

  Kondisi itu benar.

  `{{else}}`

  Kondisinya salah.

  `{{/or}}`

  `or`harus diawali dengan tanda pound (`#`) dan diakhiri dengan penutupan `{{/or}}` dalam pernyataan blok.
**Contoh**  
Dalam pernyataan `or` blok ini, dua string untuk `Location.City` atribut dibandingkan tambahan menggunakan `eq` helper. Jika salah satu atribut adalah`true`, maka pernyataan yang benar dikembalikan. Jika satu atau lebih tanggapan`false`, maka `else` pernyataan dikembalikan.  
`{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}`  
{{You live on the West Coast of the United States.}}  
`{{else}}`  
{{You do not live on the West Coast of the United States.}}  
`{{/or}}`

## Pembantu tali
<a name="stringhelpers"></a>

Bagian ini menjelaskan pembantu **string** berikut:
+ `abbreviate`— Memotong nilai.
+ `capitalize`— Kapitalisasi setiap kata di antara spasi putih.
+ `capitalizeFirst`— Mengkapitalisasi karakter pertama dari suatu nilai.
+ `center`— Memusatkan nilai.
+ `cut`— Memotong nilai.
+ `dateFormat`— Menetapkan gaya tanggal.
+ `inflect`— Mengembalikan string tunggal atau jamak berdasarkan hitungan.
+ `join`— Bergabung dengan array, iterator, atau objek iterable.
+ `ljust`— Membenarkan nilai ke margin kiri.
+ `lower`— Mengkonversi nilai ke huruf kecil.
+ `now`— Mencetak tanggal saat ini.
+ `ordinalize`— Ordinalisasi nilai numerik.
+ `replace`— Mengganti satu string dengan yang lain.
+ `rjust`— Membenarkan nilai ke margin kanan.
+ `slugify`— Mengonversi nilai menjadi huruf kecil dan menghapus karakter non-kata, mengubah spasi menjadi tanda hubung, dan menghapus spasi putih yang tertinggal.
+ `stripTags`— Strip [X] tag HTML dari nilai.
+ `substring`— Mengembalikan string baru sebagai substring dari nilai yang dilewatkan.
+ `upper`— Mengonversi nilai yang dilewatkan ke huruf besar.
+ `yesno`— Menggantikan benar, salah, dan tidak dengan Ya, Tidak, dan Mungkin.

*menyingkat*  
Memangkas nilai jika nilainya melebihi angka yang ditentukan. Ruang putih termasuk dalam hitungan panjang. Elipsis ditampilkan dalam respons untuk menunjukkan nilai terpotong. Elipsis dihitung terhadap nilai terpotong dalam respons. Jenis pembantu ini berguna jika Anda memiliki meja besar dan ruang minimal. Memotong nilai dalam sel memungkinkan Anda untuk memiliki tampilan yang lebih seragam ke tabel.  
**Penggunaan**  
 `{{abbreviate {{value}} {{X}}}}`, mengganti {{X}} dengan nilai numerik yang menunjukkan jumlah karakter yang harus disimpan. Angka negatif tidak didukung.  
**Contoh**  
Dalam contoh ini, `abbreviate` digunakan untuk memotong `User.UserAttributes.LastName.[0]` menjadi enam (6) karakter. Respons termasuk elipsis, titik-titik yang dihitung terhadap total enam karakter.  
`{{abbreviate {{User.UserAttributes.LastName.[0]}} {{6}}}}`kembali  
{{Ale...}}jika {{Alejandro}} adalah nilai dari`[0]`.

*memanfaatkan*  
Kapitalisasi setiap kata di antara spasi putih.  
**Penggunaan**  
 `{{capitalize {{value}}}}`  
**Contoh**  
Dalam contoh ini, kapitalisasi awal diterapkan pada setiap kata untuk `Attributes.description.[0]` entri.  
`{{capitalize {{Attributes.description.[0]}}}}`  
Jika `Attributes.description.[0]` kembali   
 {{My First Post}}, jika nilainya `Attributes.description.[0]` adalah{{my first post}}.

*KapitalisasiPertama*  
Mengkapitalisasi karakter pertama dalam suatu nilai.  
**Penggunaan**  
`{{capitalizeFirst {{value}}}}`  
**Contoh**  
Dalam contoh ini, kapitalisasi diterapkan pada karakter pertama dari kata pertama `Attributes.description.[0]` entri.  
`{{capitalizeFirst {{Attributes.description.[0]}}}}`kembali  
 {{My first post}}, jika nilainya `{{Attributes.description.[0]}}` adalah{{my first post}}.  
**Contoh**

*pusat*  
Memusatkan nilai dalam bidang lebar tertentu dengan nomor yang ditentukan. Anda dapat secara opsional meneruskan karakter untuk ditampilkan untuk padding atau membiarkan bidang kosong. Jika tidak ada karakter yang dilewatkan, spasi putih digunakan.  
**Penggunaan**  
 `{{center {{value}} size={{X}} [pad=" "}}`, mengganti {{X}} dengan nilai numerik.  
Jika `pad` dibiarkan kosong, spasi putih digunakan sebagai padding dalam respons. Jika Anda melewati karakter, karakter itu ditampilkan di setiap ruang padding. Angka negatif tidak didukung.  
**Contoh**  
Dalam contoh ini, nilai `Location.City ` dipusatkan dengan ukuran. {{19}}  
`{{center {{Location.City}} size={{19}}}}`kembali   
{{"    Los Angeles    "}}Jika `Location.City` adalah{{Los Angeles}}. Perhatikan bahwa tanda kutip yang ditampilkan dalam contoh output disediakan untuk penekanan saja.

*memotong*  
Menghapus nilai yang ditentukan dari string.   
**Penggunaan**  
 `{{cut {{value}} [{{" "}}]}}`, mengganti spasi dalam parameter tanda kutip dengan nilai yang akan dipotong. Jika tidak ada nilai parameter yang dilewatkan, spasi putih digunakan.   
**Contoh**  
Contoh ini menghapus huruf {{e}} dari `Location.City` atribut.  
`{{cut Location.City "{{e}}"}}`kembali  
{{Los Angls}}jika `[Location.City` adalah{{Los Angeles}}.

*DateFormat*  
Menetapkan gaya tanggal default untuk tanggal dalam respons apa pun. Untuk daftar zona waktu IDs, lihat[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Penggunaan**  
`{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}`  
`format`Parameter harus salah satu dari:  
+ “`full`“: format tanggal lengkap. Misalnya: {{Tuesday, September 19, 2020}}
+ “`long`“: format tanggal panjang. Misalnya: {{September 19, 2020}}
+ “`medium`“: format tanggal sedang. Misalnya: {{Sept 19, 2020}}
+ “`short`“: format tanggal pendek. Misalnya: {{9/19/20}}
+ “`pattern`“: menggunakan format pola tanggal kustom. Untuk informasi selengkapnya tentang pola tanggal, lihat[https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html).
“`locale`“: menggunakan format tanggal berdasarkan lokal tertentu. Untuk informasi lebih lanjut tentang lokal, lihat[https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Jika format tidak diteruskan, maka `medium` digunakan secara default.   
**Contoh**  
Dalam contoh ini, `[0]` entri untuk `{{User.UserAttributes.StartDate.[0]}}` adalah **09/19/2020** dan pesan dikirim ke pengguna menggunakan format `full` tanggal berdasarkan zona {{America/Los\_Angeles}} waktu.  
`We can meet with you any time on ``{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.`kembali  
{{We can meet with you any time on Tuesday, September 19, 2020.}}

*belok*  
Mengembalikan string tunggal atau jamak berdasarkan nilai hitungan.  
**Penggunaan**  
 `{{inflect {{count}} {{singular}} {{plural}} [includeCount=false]}}`  
+ Masukkan bentuk tunggal dan jamak dari string yang ingin Anda lewatkan dalam argumen.
+ Jika `includeCount` disetel ke`false`, tidak ada hitungan yang dikembalikan dalam respons. Jika diatur ke`true`, termasuk dalam respon. `count`
**Contoh**  
Contoh berikut menunjukkan infleksi untuk pembelian apel, dengan dan tanpa. `includeCount`  
`Thank you for your purchase of {{inflect {{3}} {{apple}} {{apples}} includeCount={{false}}}}.`mengembalikan:  
{{Thank you for your purchase of apples.}}  
Jika `includeCount` diatur ke`true`, maka responsnya adalah  
{{Thank you for your purchase of 3 apples.}}

*join*  
Bergabung dengan array, iterator, atau objek iterable. Respons mengembalikan daftar, dengan setiap nilai dalam daftar digabungkan dengan karakter yang Anda berikan dalam. `join` Misalnya, Anda dapat memisahkan nilai menggunakan koma (`,`). Nilai dalam helper ini harus berupa daftar tanpa indeks posisi atribut. Misalnya, ini mungkin`Attributes.custom_attribute`.  
**Penggunaan**  
`{{join {{value}} " // " [prefix=""] [suffix=""]}}`  
**Contoh**  
Dalam contoh ini, daftar warna dikembalikan, dengan daftar dipisahkan oleh koma dan spasi (`", "`):  
`{{join {{Attributes.favorite_colors}} "{{, }}"}}`kembali   
{{blue, red, green}}jika `Attributes.favorite_colors` adalah daftarnya{{blue,red,green}}.

*ladil*  
Membenarkan nilai ke margin kiri dan menambahkan spasi ke kanan sehingga panjang nilai cocok dengan angka tersebut. Angka negatif tidak didukung.  
Anda dapat secara opsional meneruskan karakter untuk ditampilkan untuk `pad` atau membiarkan bidang kosong. Jika Anda membiarkan `pad` nilai kosong, nilai default adalah spasi putih.  
**Penggunaan**  
`{{ljust {{value}} size={{X}} [pad=" "]}}`, di {{X}} mana total panjang nilai, termasuk spasi putih.   
**Contoh**  
Dalam contoh ini, nilai justifikasi kiri {{15 }} diterapkan ke Location.City.  
`{{ljust {{Location.City}} size={{15}}}}`kembali  
{{"Los Angeles    "}}jika nilainya `Location.City` adalah{{Los Angeles}}. Perhatikan bahwa tanda kutip yang ditampilkan dalam contoh output disediakan untuk penekanan saja.

*menurunkan*  
Mengkonversi nilai ke semua huruf kecil.  
**Penggunaan**  
`{{lower {{value}}}}`  
**Contoh**  
Dalam contoh ini, `[0]` entri `User.UserAttributes.LastName.[0]` untuk diubah menjadi huruf kecil.  
`{{lower {{User.UserAttributes.LastName.[0]}}}}`kembali  
{{santos}}jika {{Santos}} adalah nilai dari`[0]`.

*sekarang*  
Mencetak tanggal saat ini berdasarkan ID zona waktu yang dilewati. Untuk daftar zona waktu IDs, lihat[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Penggunaan**  
`{{now ["format"] [tz=timeZoneId] [locale=localeID]}}`  
`format`Parameter harus salah satu dari:  
+ “`full`“: format tanggal lengkap. Misalnya: {{Tuesday, September 19, 2020}}
+ “`long`“: format tanggal panjang. Misalnya: {{September 19, 2020}}
+ “`medium`“: format tanggal sedang. Misalnya: 19 September 2020
+ “`short`“: format tanggal pendek. Misalnya: 9/19/20
+ “`pattern`“: pola tanggal. Untuk informasi selengkapnya tentang pola tanggal, lihat[https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html). 
“`locale`“: menggunakan format tanggal berdasarkan lokal tertentu. Untuk informasi lebih lanjut tentang lokal, lihat[https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Jika format tidak diteruskan, maka `medium` digunakan secara default.  
**Contoh**  
Dalam contoh ini, tanggal saat ini di Los Angeles dikembalikan dengan `medium` format.  
`{{now "medium" tz={{America/Los_Angeles}}}}`kembali   
{{Sept 19, 2020}}.

*menyelaraskan*  
Ordinalisasi nilai numerik yang diteruskan dalam argumen. Misalnya, {{1}} diordinalisasikan sebagai {{1st}} dan {{2}} sebagai{{2nd}}. Hanya nilai numerik yang didukung.  
**Penggunaan**  
`{{ordinalize [{{number}}]}} `  
**Contoh**  
Dalam contoh ini, `[0]` entri `User.UserAttributes.UserAge` diordinalisasi dan dikembalikan, bersama dengan pesan.   
`Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!`pengembalian {{22}} diordinalisasi sebagai{{22nd}}.  
{{Congratulations on your 22nd birthday\!}}

*menggantikan*  
Mengganti satu string dengan string lain. Sebuah string atau nilai numerik harus literal. Karakter wildcard tidak didukung.  
**Penggunaan**  
`{{replace {{stringToReplace}} {{replacementValue}}}}`  
**Contoh**  
Dalam contoh ini, garis bawah (\_) menggantikan spasi putih.  
`{{replace {{Location.City}} {{" " "_"}}}}`kembali  
{{Los\_Angeles}}jika `Location.City ` ada{{Los Angeles}}.

*radil*  
Membenarkan nilai ke margin kanan dan menambahkan spasi ke kiri sehingga panjang nilai cocok dengan angka tersebut. Angka negatif tidak didukung.  
Anda dapat secara opsional meneruskan karakter untuk ditampilkan untuk `pad` atau menjaga bidang kosong. Jika Anda menyimpan `pad` nilai kosong, nilai default adalah spasi putih.  
**Penggunaan**  
`{{rjust {{value}} size={{X}} [pad=" "]}}`, di {{X}} mana total panjang nilai, termasuk spasi putih.   
**Contoh**  
Dalam contoh ini, nilai justifikasi yang tepat {{15}} diterapkan pada `Location.City` atribut.  
`{{rjust {{Location.City}} size={{15}}}}`kembali  
{{"    Los Angeles" }}. jika `Location.City` ada{{Los Angeles}}. Perhatikan bahwa tanda kutip yang ditampilkan dalam output disediakan untuk penekanan saja.

*melumpuhkan*  
Mengonversi nilai yang diteruskan menjadi huruf kecil, menghapus karakter non-kata (alfanumerik dan garis bawah), mengonversi spasi menjadi tanda hubung, dan menghapus spasi putih di depan atau di belakang.  
**Penggunaan**  
`{{slugify {{value}}}}`  
**Contoh**  
Dalam contoh ini, slugify dilakukan untuk atribut. `Location.City`   
`{{slugify {{Location.City}}}}`kembali  
{{los-angeles}}jika `Location.City` adalah{{Los Angeles}}.

*StripTags*  
Strip [X] tag HTML dari nilai.  
**Penggunaan**  
 `{{stripTags {{value}}}}`  
**Contoh**  
Dalam contoh ini, tag HTML untuk Pengguna. UserAttributes.interest. [0] dihapus.   
`{{stripTags {{User.UserAttributes.interests.[0]}}}}`kembali  
{{Art}}, jika `User.UserAttributes.interests.[0]` ada`<h1>Art</h1>`.

*substring*  
Mengembalikan string baru sebagai substring dari nilai lulus. Panjang dan posisi ditentukan oleh `endOffset` parameter `startOffset` dan, yang harus bilangan bulat. Angka negatif tidak didukung. Jika tidak `endOffset` dilewatkan, substring menggunakan nilai akhir asli dari string.  
**Penggunaan**  
`{{substring {{value}} {{startOffset}} {{[endOffset]}}}}`  
**Contoh**  
Dalam contoh ini, offset 4 dan EndoffSet dari 9 diterapkan ke atribut Location.City.   
`{{substring {{Location.City 4 9}}}} `kembali  
`{{Angel}}`jika Los Angeles adalah nilai dari `Location.City` is{{Los Angeles}}.

*atas*  
Mengkonversi nilai yang diteruskan ke huruf besar.  
**Penggunaan**  
`{{upper {{value}}}}`  
**Contoh**  
Dalam contoh ini, `[0] ` entri untuk `User.UserAttributes.LastName` atribut dikonversi ke semua huruf besar.  
`{{upper User.UserAttributes.LastName.[0]}}`kembali  
{{ROE}}jika `User.UserAttributes.LastName.[0]` nilainya{{Roe}}.

*yesno*  
Menggantikan`true`,`false`, dan `NULL` dengan`Yes`,`No`, dan`Maybe`.  
**Penggunaan**  
`{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}`  
**Contoh**  
Dalam contoh ini, `IsUserSubscribed` atribut mengembalikan apakah pengguna berlangganan daftar tertentu.  
`{{yesno Attributes.IsUserSubscribed}}`kembali   
{{yes}}jika `Attributes.IsUserSubscribed` adalah{{true}}.

## Pembantu matematika dan pengkodean
<a name="mathhelpers"></a>

Bagian ini menjelaskan pembantu **matematika dan pengkodean**.
+ `add`— Mengembalikan jumlah dari dua angka.
+ `ceiling`— Membulatkan bilangan bulat ke langit-langit matematikanya.
+ `decode64`— Mendekode nilai yang dikodekan base64 ke string.
+ `divide`— Mengembalikan hasil bagi dua angka.
+ `encode64`— Mengkodekan string menggunakan base64.
+ `floor`— Membulatkan bilangan bulat ke lantai matematikanya.
+ `md5`— Hash string yang dilewatkan menggunakan MD5 algoritma.
+ `modulo`— Mengembalikan sisa dari dua angka menggunakan floating point.
+ `multiply`— Mengembalikan produk dari dua angka.
+ `round`— Membulatkan desimal ke bilangan bulat terdekat.
+ `sha256`— Hash string yang dilewatkan menggunakan SHA-256.
+ `sha512`— Hash string yang dilewatkan menggunakan SHA-512.
+ `subtract`— Mengembalikan selisih dua angka.
+ `uuid`— Secara acak menghasilkan UUID dalam format 128-bit.

*tambahkan*  
Mengembalikan jumlah dua angka bersama dengan floating point.  
**Penggunaan**  
`{{add {{arg1}} {{arg2}}}}`  
**Contoh**  
`{{add {{5 2.3}}}} `kembali  
{{7.3}}

*langit-langit*  
Membulatkan bilangan bulat ke langit-langit matematikanya, yang merupakan bilangan bulat tertinggi yang paling dekat dengan nilai yang dilewatkan.  
**Penggunaan**  
`{{ceiling {{value}}}}`  
**Contoh**  
`{{ceiling {{5.23}}}}`kembali  
{{6}}

*decode64*  
Mendekode nilai yang dikodekan base64 ke string.  
**Penggunaan**  
`{{decode64 "{{string}}"}}`  
**Contoh**  
`{{decode64 "{{SGVsbG8gd29ybGQ}}="}}`kembali  
{{Hello World}}

*membagi*  
Mengembalikan hasil bagi dua angka, termasuk floating point.  
**Penggunaan**  
 `{{divide {{arg1}} {{arg2}}}}`  
**Contoh**  
`{{divide {{5 2.3}}}}`kembali  
{{2.17391304}}

*dikode64*  
Mengkodekan string yang diteruskan dalam argumen menggunakan base64.  
**Penggunaan**  
`{{encode64 "{{string}}"}}`  
**Contoh**  
`{{encode64 "{{Hello World"}}}}`  
{{SGVsbG8gd29ybGQ=}}

*lantai*  
Membulatkan bilangan bulat ke lantai matematikanya, yang merupakan bilangan bulat terendah yang paling dekat dengan nilai yang dilewatkan.  
**Penggunaan**  
`{{floor {{value}}}}`  
**Contoh**  
`{{floor {{5.23}}}}`kembali  
{{5}}

*md5*  
Hash string yang dilewatkan menggunakan MD5 algoritma.  
**Penggunaan**  
`{{md5 "{{string}}"}}`  
**Contoh**  
`{{md5 "{{Hello World}}"}}`  
{{3e25960a79dbc69b674cd4ec67a72c62}}

*modulo*  
Mengembalikan sisa dari dua angka menggunakan floating point.  
**Penggunaan**  
`{{modulo {{arg1}} {{arg2}}}}`  
**Contoh**  
`{{modulo {{7 2}}}}`kembali  
{{1}}

*kalikan*  
Mengembalikan produk dari dua angka, dengan setiap floating point.  
**Penggunaan**  
`{{multiply {{arg1}} {{arg2}}}}`  
**Contoh**  
`{{multiply {{5 2.3}}}}`kembali  
{{11.5}}

*bulat*  
Membulatkan tempat desimal ke atas atau ke bawah ke bilangan bulat terdekat.  
**Penggunaan**  
`{{round {{value}}}}`  
**Contoh**  
`You spent an average of {{round {{19.21}}}} minutes on our website each day.`mengembalikan:  
{{You spent an average of 19 minutes on our website each day.}}

*sha256*  
Hash string yang diteruskan menggunakan keamanan kriptografi SHA-256.  
**Penggunaan**  
`{{sha256 "{{string}}"}}`  
**Contoh**  
`{{sha256 "{{Hello World}}"}}`kembali  
{{a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e}}

*sha512*  
Hash string yang diteruskan menggunakan keamanan kriptografi SHA-512.  
**Penggunaan**  
`{{sha512 "{{string}}"}}`  
**Contoh**  
`{{sha512 "{{Hello World}}"}}`kembali  
{{2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b}}

*kurangi*  
Mengembalikan selisih dua angka, dengan floating point apa pun.  
**Penggunaan**  
`{{subtract {{arg1}} {{arg2}}}}`  
**Contoh**  
`{{subtract {{5 2.3}}}} `kembali  
{{2.7}}

*uuid*  
Secara acak menghasilkan UUID dalam format 128-bit standar. Tidak ada nilai yang perlu diteruskan dalam argumen.  
**Penggunaan**  
`{{uuid}}`  
**Contoh**  
`{{uuid}} `kembali  
{{{{95f36680-152c-4052-99ec-cc3cdf7ca594}}}}

## Partial sebaris
<a name="inlinepartials"></a>

Meskipun secara teknis bukan pembantu, sebagian inline adalah cara Setang untuk merampingkan templat yang menyertakan string berulang, yang lebih baik untuk digunakan kembali. [Untuk informasi lebih lanjut, lihat Bagian [sebaris di handlebarsjs.com](https://handlebarsjs.com/guide/partials.html#inline-partials).](https://handlebarsjs.com) 

**Penggunaan**

`{{#* inline "inlineName"}}Content to reuse{{/inline}}`

Untuk mereferensikan konten sebagian inline di tempat lain, gunakan:

` {{> inlineName}}`

**Contoh**

Contoh berikut membuat sebagian inline yang menyertakan nama depan penerima, dan, jika tersedia, nama belakang, dengan menambahkan kode berikut ke awal template:

`{{#* inline "{{fullName}}"}}`

`{{User.UserAttributes.FirstName.[0]}} {{#if User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}`

`{{/inline}}`

Setelah membuat `fullName` sebagian, Anda dapat memasukkannya di mana saja di template Anda dengan mendahului nama parsi dengan simbol `>` (lebih besar dari), diikuti oleh spasi, seperti pada contoh berikut:. `{{> fullName}}`

{{` Hello {{> fullName}}`}}

mengembalikan nama depan dan belakang pengguna jika benar - misalnya,{{Hello Jane Doe}}. Jika tidak, jika tidak ada nama belakang yang ditemukan, {{Hello Jane}} dikembalikan.

Setang menyertakan fitur tambahan di luar yang didokumentasikan di sini. Untuk informasi lebih lanjut, lihat [handlebarsjs.com](https://handlebarsjs.com/).

## Gunakan variabel dengan pembantu template pesan
<a name="template-helpers-variables"></a>

Nama atribut khusus Amazon Connect mendukung spasi. Untuk memiliki atribut kustom bernama`"Last Name"`, Anda harus memformat atribut sebagai`Attributes.[Last Name]`. 

## Gunakan pembantu bersarang
<a name="template-helpers-nesting"></a>

 Anda dapat bersarang beberapa pembantu template pesan dalam satu sama lain. Contoh berikut menunjukkan cara memformat dua pembantu:`{{ first helper (second helper)}}`. Pembantu kedua diproses terlebih dahulu, diikuti oleh penolong pertama. Ingatlah bahwa penolong pertama selalu menentukan output. Pembantu selanjutnya harus bersarang di dalam pembantu sebelumnya sebagai berikut:. `{{ first helper (second helper (third helper) )}}`

Contoh berikut menunjukkan cara membuat sarang dua pembantu **JANE** untuk diubah menjadi**Jane**:`{{capitalizeFirst (lower "JANE")}}`. `lower`pertama mengkonversi **JANE** ke**jane**. Kemudian `capitalizeFirst` mengkonversi **jane** ke**Jane**.