

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

# StartBotConversation
<a name="start-bot-conversation"></a>

`StartBotConversation`Tindakan ini membuat percakapan suara antara pengguna akhir dan bot Amazon Lex v2 Anda. Pengguna memberikan informasi yang diperlukan ke bot. Bot kemudian mengembalikan informasi ke fungsi Lambda Audio jaringan telepon beralih publik (PSTN), dan fungsi tersebut melakukan tugas yang diminta.

Misalnya, bot dapat memutar pesan selamat datang opsional di awal percakapan untuk menjelaskan secara singkat tugas yang dapat dilakukan oleh fungsi Lambda audio PSTN. Percakapan bolak-balik antara pengguna dan bot sampai bot mengumpulkan informasi yang diperlukan. Setelah percakapan berakhir, Amazon Chime SDK memanggil fungsi Lambda audio PSTN Anda dengan acara sukses tindakan, yang berisi informasi yang dikumpulkan oleh bot. Fungsi Lambda audio PSTN Anda memproses informasi dan melakukan tugas yang diminta.

Layanan Audio menyediakan interaksi percakapan yang hidup dengan pengguna Anda. Misalnya, pengguna dapat mengganggu bot dan menjawab pertanyaan sebelum prompt audio selesai. Terlebih lagi, pengguna dapat menggunakan kombinasi suara dan digit DTMF apa pun untuk memberikan informasi. Bot menunggu pengguna untuk memberikan masukan sebelum merespons. Anda dapat mengonfigurasi berapa lama bot menunggu pengguna selesai berbicara sebelum menafsirkan input ucapan apa pun. Pengguna juga dapat menginstruksikan bot untuk menunggu jika mereka membutuhkan waktu untuk mengambil informasi tambahan selama panggilan, seperti nomor kartu kredit.

`StartBotConversation`Tindakan ini menggunakan Amazon Lex dan Amazon Polly selama percakapan bot. Biaya standar Amazon Lex dan Amazon Polly berlaku. Untuk informasi harga selengkapnya, lihat halaman [harga percakapan streaming Amazon Lex](https://aws.amazon.com/lex/pricing/), dan [Harga Amazon Polly](https://aws.amazon.com/polly/pricing/).

**catatan**  
Anda tidak dapat menjalankan tindakan ini pada panggilan yang dijembatani, atau pada panggilan yang telah bergabung dengan rapat Amazon Chime SDK.

**penting**  
Penggunaan Amazon Lex dan Amazon Polly tunduk pada [Ketentuan AWS Layanan, termasuk persyaratan](https://aws.amazon.com/service-terms/) khusus untuk AWS Machine Learning dan Layanan Kecerdasan Buatan.

**Topics**
+ [StartBotConversationsintaks](#startbot-syntax)
+ [Menggunakan StartBotConversation tindakan](#using-startbot)
+ [Menangani ACTION\$1SUCCESSFUL acara](#bot-action-success)
+ [Menangani ACTION\$1FAILED acara](#bot-action-fail)
+ [Memberikan izin untuk menggunakan bot](#bot-permissions)
+ [Mengkonfigurasi batas waktu suara dan DTMF](#bot-timeouts)
+ [Menggunakan input DTMF selama percakapan](#bot-dtmf)
+ [Kuota penagihan dan layanan](#bot-billing)

## StartBotConversationsintaks
<a name="startbot-syntax"></a>

Contoh berikut menunjukkan `StartBotConversation` sintaks khas.

```
{
  "SchemaVersion": "1.0",
  "Actions":[
    {
      "Type": "StartBotConversation",
      "Parameters": {
        "CallId": "string",
        "ParticipantTag": "string",
        "BotAliasArn": "string",
        "LocaleId": "string",
        "Configuration": {
          "SessionState": {
             "SessionAttributes": {
                "string": "string" 
             },
             "DialogAction" : {
               "Type": "string"
             }
          },
          "WelcomeMessages": [
            {
              "Content": "string",
              "ContentType": "string" 
            }
          ]
        }
      }
    }
  ]
}
```

**CallId**  
*Deskripsi* — `CallID` Peserta dalam `CallDetails` pemanggilan AWS Lambda fungsi. `StartBotConversation`Tindakan menggunakan ID ini sebagai bot`SessionId`. Semua percakapan bot yang terjadi pada panggilan berbagi sesi percakapan yang sama. Anda dapat mengubah status sesi antara pengguna dan bot Anda dengan menggunakan [Amazon Lex PutSession](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_PutSession.html) API. Untuk informasi selengkapnya, lihat [Mengelola sesi dengan Amazon Lex v2 API](https://docs.aws.amazon.com/lexv2/latest/dg/using-sessions.html) di *Panduan Pengembang Amazon Lex*.  
*Nilai yang diizinkan* - ID panggilan yang valid.  
*Wajib* - Tidak, jika `ParticipantTag` ada.  
*Nilai default* - Tidak ada.

**ParticipantTag**  
*Deskripsi* — `ParticipantTag` Salah satu peserta yang terhubung di`CallDetails`.  
*Nilai yang diizinkan* —`LEG-A`.  
*Wajib* - Tidak, jika `CallId` ada.  
*Nilai default* - `ParticipantTag` dari yang dipanggil`callLeg`. Diabaikan jika Anda menentukan`CallDetails`.

**BotAliasArn**  
*Deskripsi* — Bot alias ARN dari bot Lex Anda. Anda harus membuat bot di Wilayah AWS yang sama dengan aplikasi audio PSTN Anda. Alias bot Amazon Lex yang valid memiliki format ini:`arn:aws:lex:region:awsAccountId:bot-alias/botId/botAliasId`, di *`region`* mana Wilayah AWS tempat bot Anda berada. `awsAccountId`Ini adalah ID akun AWS tempat bot Amazon Lex Anda dibuat. `botId`Nilainya adalah pengidentifikasi yang ditetapkan ke bot saat Anda membuatnya. Anda dapat menemukan ID bot di konsol Amazon Lex di halaman **detail Bot**. `botAliasId`Ini adalah pengenal yang ditetapkan ke alias bot saat Anda membuatnya. Anda dapat menemukan ID alias bot di konsol Amazon Lex di halaman **Alias**.   
*Nilai yang diizinkan* - ARN bot yang valid.  
*Diperlukan* —Ya.  
*Nilai default* —Tidak ada.

**LocaleId**  
*Deskripsi* — Pengenal lokal yang Anda gunakan untuk bot Anda. Untuk daftar lokal dan kode bahasa, lihat [Bahasa dan lokal yang didukung oleh Amazon](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html) Lex.  
*Nilai yang diizinkan* - [Bahasa dan lokal yang didukung oleh Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).  
*Diperlukan* - Tidak.  
*Nilai default* —`en_US`.

**Configuration**  
*Deskripsi* — Konfigurasi percakapan, termasuk status sesi dan pesan selamat datang. Ukuran total representasi string JSON `Configuration` objek dibatasi hingga 10 KB.  
*Nilai yang diizinkan* - `Configuration` objek.  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.SessionState**  
*Deskripsi* - Keadaan sesi pengguna dengan Amazon Lex v2.  
*Nilai yang diizinkan* - `SessionState` objek.  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.SessionState.SessionAttributes**  
*Deskripsi* — Peta key/value pasangan yang mewakili informasi konteks khusus sesi. Peta ini berisi informasi aplikasi yang diteruskan antara Amazon Lex v2 dan aplikasi klien.  
*Nilai yang diizinkan* - String ke peta string.  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.SessionState.DialogAction.Type**  
*Deskripsi* — Tindakan selanjutnya yang dilakukan bot dalam interaksinya dengan pengguna. Kemungkinan nilai:  
+ *Delegasikan* Amazon Lex v2 menentukan tindakan selanjutnya.
+ *ElicitIntent*Tindakan selanjutnya memunculkan maksud dari pengguna.
*Nilai yang diizinkan* — `Delegate` \$1`ElicitIntent`.  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.WelcomeMessages**  
*Deskripsi* — Daftar pesan untuk dikirim ke pengguna di awal percakapan. Jika Anda mengatur `welcomeMessage` bidang, Anda harus menetapkan `DialogAction.Type` nilainya`ElicitIntent`.  
*Nilai yang diizinkan* - Objek pesan  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.WelcomeMessages.Content**  
*Deskripsi* — Teks pesan selamat datang.  
*Nilai yang diizinkan* - String.  
*Diperlukan* - Tidak.  
*Nilai default* - Tidak ada.

**Configuration.WelcomeMessages.ContentType**  
*Deskripsi* - Menunjukkan jenis pesan selamat datang.  
*Nilai yang diizinkan* - ` PlainText` \$1 `SSML`  
+ *PlainText*— Pesan berisi teks UTF-8 biasa. 
+ *SSML* — Pesan berisi teks yang diformat untuk output suara.
*Diperlukan* - Ya.  
*Nilai default* - Tidak ada.

## Menggunakan StartBotConversation tindakan
<a name="using-startbot"></a>

Contoh berikut menunjukkan `StartBotConversation` tindakan yang khas.

```
{
  "SchemaVersion": "1.0",
  "Actions":[
    {
      "Type": "StartBotConversation",
      "Parameters": {
        "CallId": "call-id-1",
        "BotAliasArn": "arn:aws:lex:us-east-1:123456789012:bot-alias/ABCDEFGHIH/MNOPQRSTUV",
        "LocaleId": "en_US",
        "Configuration": {
          "SessionState": {
             "SessionAttributes": {
                "mykey1": "myvalue1" 
             },
             "DialogAction" : {
               "Type": "ElicitIntent"
             }
          },
          "WelcomeMessages": [
            {
              "Content": "Welcome. How can I help you?",
              "ContentType": "PlainText" 
            }
          ]
        }
      }
    }
  ]
}
```

## Menangani ACTION\$1SUCCESSFUL acara
<a name="bot-action-success"></a>

Contoh berikut menunjukkan `ACTION_SUCCESSFUL` peristiwa khas untuk `StartBotConversation` tindakan tersebut.

```
{
    "SchemaVersion": "1.0",
    "Sequence": number,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData":
    {
        "CallId": "string",
        "Type": "StartBotConversation",
        "Parameters": {
            // parameters provided in the StartBotConversation action.
        },
        "CallDetails": {
            // Information about the call associated with the AWS Lambda invocation.
        },
        "IntentResult": {
            "SessionId": "string",
            "SessionState": {
                "SessionAttributes": {
                    "string": "string"
                },
                "Intent": {
                    "Name": "string",
                    "Slots":  {
                        "string": {
                            "Value": {
                                "OriginalValue": "string",
                                "InterpretedValue": "string",
                                "ResolvedValues": ["string"]
                            },
                            "Values": []
                        }
                    },
                    "State": "string",
                    "ConfirmationState": "string"
                }
            },
            "Interpretations": [
                {
                    "NluConfidence": {
                        "Score": number
                    },
                    "Intent": {
                        "Name": "string",
                        "Slots": {
                            "string": {
                                "Value": {
                                    "OriginalValue": "string",
                                    "InterpretedValue": "string",
                                    "ResolvedValues": ["string"]
                                },
                                "Values": []
                            }
                        },
                        "State": "string",
                        "ConfirmationState": "string"
                    }
                }
            ]
        }
    }
}
```

**IntentResult**  
Hasil percakapan antara pengguna dan bot.

**SessionId**  
Pengidentifikasi sesi percakapan bot. Saat pengguna memulai percakapan dengan bot Anda, Amazon Lex membuat sesi. Sesi merangkum informasi yang dipertukarkan antara pengguna Anda dan bot. `StartBotConversation`Tindakan menggunakan ID panggilan sebagai bot`SessionId`. Anda dapat memodifikasi status sesi antara pengguna dan bot Anda dengan menggunakan Lex [https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_PutSession.html](https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_PutSession.html)API. Untuk informasi selengkapnya, lihat [Mengelola sesi dengan Amazon Lex V2 API](https://docs.aws.amazon.com/lexv2/latest/dg/using-sessions.html) di *Panduan Pengembang Amazon Lex*.

**SessionState**  
Keadaan sesi Amazon Lex v2 pengguna. 

**SessionState.SessionAttributes**  
Peta key/value pasangan yang mewakili informasi konteks khusus sesi. Peta berisi informasi percakapan bot yang diteruskan antara fungsi Lambda yang dilampirkan ke bot Anda dan fungsi Lambda audio PSTN.

**Interpretasi**  
Daftar maksud yang diturunkan oleh Amazon Lex yang dapat memuaskan ucapan pelanggan. Maksud dengan `NluConfidence` skor tertinggi menjadi Intent for the. `SessionState` 

**Interpretasi. NluConfidence.Skor**  
Skor yang menunjukkan seberapa yakin Amazon Lex v2 bahwa niat memenuhi maksud pengguna. Rentang antara 0,00 dan 1,00. Skor yang lebih tinggi menunjukkan kepercayaan diri yang lebih tinggi. 

**Intent**  
Tindakan yang ingin dilakukan pengguna.

**Intent.Name**  
Nama niat.

**Intent.Slots**  
Sebuah peta dari semua slot untuk maksud. Nama peta slot ke nilai slot. Jika slot belum diisi, nilainya nol.

**Intent.Slots.Value**  
Nilai slot.

**Intent.Slots.Values**  
Daftar satu atau lebih nilai yang disediakan pengguna untuk slot.

**Intent.Slots.Value.OriginalValue**  
Teks balasan pengguna, dimasukkan untuk slot.

**Intent.Slots.Value.InterpretedValue**  
*Deskripsi* — Nilai yang ditentukan Amazon Lex v2 untuk slot. Nilai sebenarnya tergantung pada pengaturan strategi pemilihan nilai bot. Anda dapat memilih untuk menggunakan nilai yang dimasukkan oleh pengguna, atau Anda dapat meminta Amazon Lex v2 memilih nilai pertama dalam `resolvedValues` daftar.

**Intent.Slots.Value.ResolvedValues**  
Daftar nilai tambahan yang diakui Amazon Lex v2 untuk slot.

**Intent.State**  
*Deskripsi* — Informasi pemenuhan untuk maksud tersebut. Kemungkinan nilai:  
+ `Failed`— Fungsi Lambda gagal memenuhi maksud.
+ `Fulfilled`— Fungsi Lambda memenuhi maksud.
+ `ReadyForFulfillment`— Informasi untuk maksud ada, dan Lambdafunction Anda dapat memenuhi maksud tersebut. 

**Intent.ConfirmationState**  
*Deskripsi* - Menunjukkan konfirmasi maksud. Kemungkinan nilai:  
+ *Dikonfirmasi* - Niat terpenuhi.
+ *Ditolak* - Pengguna menjawab “tidak” pada prompt konfirmasi.
+ *Tidak ada* — Pengguna tidak diminta untuk konfirmasi, atau pengguna diminta tetapi tidak mengkonfirmasi atau menolak prompt.

## Menangani ACTION\$1FAILED acara
<a name="bot-action-fail"></a>

Contoh berikut menunjukkan `ACTION_FAILED` peristiwa khas untuk `StartBotConversation` tindakan tersebut.

```
{
    "SchemaVersion": "1.0",
    "Sequence": number,
    "InvocationEventType": "ACTION_FAILED",
    "ActionData":{
        "CallId": "string",
        "Type": "StartBotConversation",
        "Parameters": {
            // parameters provided in the StartBotConversation action
        },
        "ErrorType": "string",
        "ErrorMessage": "string"
    },
    "CallDetails":{
    }
}
```

**ErrorType**  
String yang secara unik mengidentifikasi kondisi kesalahan.

**ErrorMessage**  
Deskripsi umum dari kondisi kesalahan.

### Kode eror
<a name="action-errors"></a>

Tabel berikut mencantumkan pesan kesalahan yang fungsi Lambda dapat kembali dalam suatu `ACTION_FAILED` peristiwa.


| Kesalahan | Deskripsi | 
| --- | --- | 
|  `InvalidActionParameter` | Satu atau beberapa parameter tindakan tidak valid. Pesan kesalahan menjelaskan parameter yang tidak valid. | 
| `SystemException` | Terjadi kesalahan sistem saat menjalankan tindakan. | 
| `ResourceNotFound` | Bot tertentu tidak ditemukan. | 
| `ResourceAccessDenied` | Akses ke bot ditolak. | 
| `ActionExecutionThrottled` | Batas layanan percakapan bot terlampaui. Pesan kesalahan menjelaskan batas layanan tertentu yang terlampaui. | 

## Memberikan izin untuk menggunakan bot
<a name="bot-permissions"></a>

Contoh berikut memberikan izin Amazon Chime SDK untuk memanggil Amazon Lex. [https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_StartConversation.html](https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_StartConversation.html) APIs Anda harus secara eksplisit memberikan izin Layanan Audio untuk menggunakan bot Anda. Blok kondisi diperlukan untuk prinsipal layanan. Blok kondisi harus menggunakan kunci konteks global `AWS:SourceAccount` dan`AWS:SourceArn`. `AWS:SourceAccount`Ini adalah ID akun AWS Anda. `AWS:SourceArn`Ini adalah sumber daya ARN dari aplikasi audio PSTN yang memanggil bot Lex.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowChimePstnAudioUseBot",
      "Effect": "Allow",
      "Principal": {
        "Service": "voiceconnector.chime.amazonaws.com"
      },
      "Action": "lex:StartConversation",
  "Resource": "arn:aws:lex:us-east-1:123456789012:bot-alias/botId/aliasId",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "123456789012"
        },
        "ArnEquals": {
        "AWS:SourceArn": "arn:aws:chime:us-east-1:123456789012:sma/smaId"
        }
      }
    }
  ]
}
```

------

## Mengkonfigurasi batas waktu suara dan DTMF
<a name="bot-timeouts"></a>

Anda dapat mengonfigurasi batas waktu suara dan DTMF saat menangkap input pengguna. Anda dapat mengonfigurasi batas waktu melalui atribut sesi saat memulai percakapan dengan bot, dan menimpa mereka di fungsi Lambda Lex bot Anda jika perlu. Amazon Lex memungkinkan Anda mengatur beberapa slot untuk maksud atau bot. Karena Anda dapat menentukan bahwa atribut sesi berlaku untuk level intent dan slot, Anda dapat menentukan bahwa atribut disetel hanya ketika Anda mengumpulkan jenis input tertentu. Misalnya, Anda dapat menentukan batas waktu yang lebih lama saat mengumpulkan nomor akun daripada saat mengumpulkan tanggal. Anda dapat menggunakan wildcard dalam kunci atribut sesi. 

Misalnya, untuk mengatur batas waktu suara untuk semua slot untuk semua intent menjadi 4000 milidetik, Anda dapat memberikan atribut sesi menggunakan: `x-amz-lex:start-timeout-ms:*:*` sebagai nama atribut sesi dan `4000` sebagai nilai atribut sesi. Untuk informasi selengkapnya, lihat [Mengonfigurasi batas waktu untuk menangkap input pengguna](https://docs.aws.amazon.com/lexv2/latest/dg/session-attribs-speech.htm) di Panduan Pengembang *Amazon Lex*. 

## Menggunakan input DTMF selama percakapan
<a name="bot-dtmf"></a>

Bot Amazon Lex mendukung input suara dan keypad selama percakapan. Bot menafsirkan input keypad sebagai digit DTMF. Anda dapat meminta kontak untuk mengakhiri masukan mereka dengan kunci pound (\$1) dan membatalkan percakapan dengan menggunakan tombol bintang (\$1). Jika Anda tidak meminta pelanggan untuk mengakhiri input mereka dengan tombol pound, Lex berhenti menunggu penekanan tombol tambahan setelah 5 detik.

## Kuota penagihan dan layanan
<a name="bot-billing"></a>

AWS menagih Anda untuk biaya berikut:
+ Penggunaan Amazon Chime SDK untuk panggilan tersebut. Untuk informasi selengkapnya, lihat [harga Amazon Chime SDK](https://aws.amazon.com/chime/chime-sdk/pricing/).
+ Penggunaan Amazon Lex untuk menafsirkan ucapan pengguna. Untuk informasi selengkapnya, lihat [harga percakapan streaming Amazon Lex](https://aws.amazon.com/lex/pricing/).
+ Penggunaan Amazon Polly untuk mensintesis respons teks dari bot Anda. Untuk informasi selengkapnya, lihat [Harga Amazon Polly](https://aws.amazon.com/polly/pricing/).

Anda juga perlu mengetahui kuota layanan berikut:
+ Amazon Chime SDK memiliki kuota layanan untuk jumlah maksimum bot Amazon Lex yang dapat Anda gunakan dengan aksi audio PSTN. [StartBotConversation](#start-bot-conversation) *Untuk informasi lebih lanjut, lihat [SIP trunking dan kuota suara](https://docs.aws.amazon.com/general/latest/gr/chime-sdk.html#chm-sdk-pstn-quotas), di Referensi Umum.AWS *
+ Amazon Lex memiliki kuota layanan untuk jumlah maksimum percakapan suara bersamaan per Lex bot. Anda dapat menghubungi tim layanan Amazon Lex untuk kenaikan kuota. Untuk informasi selengkapnya, lihat [Panduan Amazon Lex dan kuota](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html) di *Panduan Pengembang Amazon Lex*.
+ Amazon Polly memiliki kuota layanan untuk mensintesis respons teks. Anda dapat menghubungi tim layanan Amazon Polly untuk kenaikan kuota. *Untuk informasi selengkapnya tentang kuota layanan Amazon Polly, lihat [Kuota di Amazon Polly, di Panduan Pengembang Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/limits.html).*