

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. Jika Anda menggunakan Amazon Lex V2, lihat [panduan Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html) sebagai gantinya. 

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

# Langkah 2a (Opsional): Tinjau Detail Alur Informasi Lisan (Konsol)
<a name="gs-bp-details-postcontent-flow"></a>

Bagian ini menjelaskan aliran informasi antara klien dan Amazon Lex ketika klien menggunakan pidato untuk mengirim permintaan. Untuk informasi selengkapnya, lihat [PostContent](API_runtime_PostContent.md). 

1. Pengguna berkata: Saya ingin memesan beberapa bunga.

   1. Klien (konsol) mengirimkan [PostContent](API_runtime_PostContent.md) permintaan berikut ke Amazon Lex: 

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30=" 
      Content-Type: "audio/x-l16; sample-rate=16000; channel-count=1"
      Accept: "audio/mpeg"
      
      
      Request body
      {{input stream}}
      ```

      URI permintaan dan badan memberikan informasi ke Amazon Lex:
      + Request URI — Menyediakan nama bot (`OrderFlowers`), bot alias (`$LATEST`), dan nama pengguna (string acak yang mengidentifikasi pengguna). `content`menunjukkan bahwa ini adalah permintaan `PostContent` API (bukan `PostText` permintaan).
      + Minta header
        + `x-amz-lex-session-attributes`— Nilai yang dikodekan base64 mewakili “{}”. Ketika klien membuat permintaan pertama, tidak ada atribut sesi. 
        + `Content-Type`— Mencerminkan format audio.
      + Badan permintaan - Aliran audio input pengguna (“Saya ingin memesan beberapa bunga.”).
**catatan**  
Jika pengguna memilih untuk mengirim teks (“Saya ingin memesan beberapa bunga”) ke `PostContent` API alih-alih berbicara, badan permintaan adalah input pengguna. `Content-Type`Header diatur sesuai:  

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30="
      Content-Type: "text/plain; charset=utf-8"
      Accept: accept
      
      Request body
      {{input stream}}
      ```

   1. Dari aliran input, Amazon Lex mendeteksi intent ()`OrderFlowers`. Kemudian memilih salah satu slot maksud (dalam hal ini,`FlowerType`) dan salah satu permintaan elisitasi nilainya, dan kemudian mengirimkan respons dengan header berikut: 

      ```
      x-amz-lex-dialog-state:ElicitSlot
      x-amz-lex-input-transcript:I would like to order some flowers.
      x-amz-lex-intent-name:OrderFlowers
      x-amz-lex-message:What type of flowers would you like to order?
      x-amz-lex-session-attributes:e30=
      x-amz-lex-slot-to-elicit:FlowerType
      x-amz-lex-slots:eyJQaWNrdXBUaW1lIjpudWxsLCJGbG93ZXJUeXBlIjpudWxsLCJQaWNrdXBEYXRlIjpudWxsfQ==
      ```

      Nilai header memberikan informasi berikut:
      + `x-amz-lex-input-transcript`— Menyediakan transkrip audio (input pengguna) dari permintaan
      + `x-amz-lex-message`— Menyediakan transkrip audio Amazon Lex dikembalikan sebagai tanggapan
      + `x-amz-lex-slots`— Versi slot dan nilai yang dikodekan base64:

        ```
        {"PickupTime":null,"FlowerType":null,"PickupDate":null}
        ```
      + `x-amz-lex-session-attributes`— Versi atribut sesi yang dikodekan base64 ({})

      Klien memutar audio di badan respons.

1. Pengguna mengatakan: mawar

   1. Klien (konsol) mengirimkan [PostContent](API_runtime_PostContent.md) permintaan berikut ke Amazon Lex: 

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30="
      Content-Type: "audio/x-l16; sample-rate=16000; channel-count=1" 
      Accept: "audio/mpeg"
      
      
      Request body
      {{input stream ("roses")}}
      ```

      Badan permintaan adalah aliran audio input pengguna (mawar). `sessionAttributes`Sisa-sisa kosong.

   1. Amazon Lex menafsirkan aliran input dalam konteks maksud saat ini (ingat bahwa ia telah meminta pengguna ini untuk informasi yang berkaitan dengan slot). `FlowerType` Amazon Lex pertama kali memperbarui nilai slot untuk maksud saat ini. Kemudian memilih slot lain (`PickupDate`), bersama dengan salah satu pesan prompt (Kapan Anda ingin mengambil mawar?) , dan mengembalikan respons dengan header berikut:

      ```
      x-amz-lex-dialog-state:ElicitSlot
      x-amz-lex-input-transcript:roses
      x-amz-lex-intent-name:OrderFlowers
      x-amz-lex-message:When do you want to pick up the roses?
      x-amz-lex-session-attributes:e30=
      x-amz-lex-slot-to-elicit:PickupDate
      x-amz-lex-slots:eyJQaWNrdXBUaW1lIjpudWxsLCJGbG93ZXJUeXBlIjoicm9zaSdzIiwiUGlja3VwRGF0ZSI6bnVsbH0=
      ```

      Nilai header memberikan informasi berikut:
      + `x-amz-lex-slots`— Versi slot dan nilai yang dikodekan base64:

        ```
        {"PickupTime":null,"FlowerType":"roses","PickupDate":null}
        ```
      + `x-amz-lex-session-attributes`— Versi atribut sesi yang dikodekan base64 ({})

      Klien memutar audio di badan respons.

1. Pengguna mengatakan: besok

   1. Klien (konsol) mengirimkan [PostContent](API_runtime_PostContent.md) permintaan berikut ke Amazon Lex: 

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30="
      Content-Type: "audio/x-l16; sample-rate=16000; channel-count=1"
      Accept: "audio/mpeg"
      
      
      Request body
      {{input stream ("tomorrow")}}
      ```

      Badan permintaan adalah aliran audio input pengguna (“besok”) `sessionAttributes` .Tetap kosong.

   1. Amazon Lex menafsirkan aliran input dalam konteks maksud saat ini (ingat bahwa ia telah meminta pengguna ini untuk informasi yang berkaitan dengan slot). `PickupDate` Amazon Lex memperbarui nilai slot (`PickupDate`) untuk maksud saat ini. Kemudian memilih slot lain untuk mendapatkan nilai untuk (`PickupTime`) dan salah satu permintaan elisitasi nilai (Kapan Anda ingin mengambil mawar pada 2017-03-18?) , dan mengembalikan respons dengan header berikut:

      ```
      x-amz-lex-dialog-state:ElicitSlot
      x-amz-lex-input-transcript:tomorrow
      x-amz-lex-intent-name:OrderFlowers
      x-amz-lex-message:When do you want to pick up the roses on 2017-03-18?
      x-amz-lex-session-attributes:e30=
      x-amz-lex-slot-to-elicit:PickupTime
      x-amz-lex-slots:eyJQaWNrdXBUaW1lIjpudWxsLCJGbG93ZXJUeXBlIjoicm9zaSdzIiwiUGlja3VwRGF0ZSI6IjIwMTctMDMtMTgifQ==
      x-amzn-RequestId:3a205b70-0b69-11e7-b447-eb69face3e6f
      ```

      Nilai header memberikan informasi berikut:
      + `x-amz-lex-slots`— Versi slot dan nilai yang dikodekan base64:

        ```
        {"PickupTime":null,"FlowerType":"roses","PickupDate":"2017-03-18"}
        ```
      + `x-amz-lex-session-attributes`— Versi atribut sesi yang dikodekan base64 ({})

      Klien memutar audio di badan respons.

1. Pengguna mengatakan: 6 sore

   1. Klien (konsol) mengirimkan [PostContent](API_runtime_PostContent.md) permintaan berikut ke Amazon Lex: 

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30="
      Content-Type: "text/plain; charset=utf-8"
      Accept: "audio/mpeg"
      
      
      Request body
      {{input stream ("6 pm")}}
      ```

      Badan permintaan adalah aliran audio input pengguna (“6 pm”). `sessionAttributes`Sisa-sisa kosong.

   1. Amazon Lex menafsirkan aliran input dalam konteks maksud saat ini (ingat bahwa ia telah meminta pengguna ini untuk informasi yang berkaitan dengan slot). `PickupTime` Ini pertama kali memperbarui nilai slot untuk maksud saat ini. 

      Sekarang Amazon Lex mendeteksi bahwa ia memiliki informasi untuk semua slot. Namun, `OrderFlowers` intent dikonfigurasi dengan pesan konfirmasi. Oleh karena itu, Amazon Lex memerlukan konfirmasi eksplisit dari pengguna sebelum dapat melanjutkan untuk memenuhi maksud. Ini mengirimkan respons dengan header berikut yang meminta konfirmasi sebelum memesan bunga:

      ```
      x-amz-lex-dialog-state:ConfirmIntent
      x-amz-lex-input-transcript:six p. m.
      x-amz-lex-intent-name:OrderFlowers
      x-amz-lex-message:Okay, your roses will be ready for pickup by 18:00 on 2017-03-18.  Does this sound okay?
      x-amz-lex-session-attributes:e30=
      x-amz-lex-slots:eyJQaWNrdXBUaW1lIjoiMTg6MDAiLCJGbG93ZXJUeXBlIjoicm9zaSdzIiwiUGlja3VwRGF0ZSI6IjIwMTctMDMtMTgifQ==
      x-amzn-RequestId:083ca360-0b6a-11e7-b447-eb69face3e6f
      ```

      Nilai header memberikan informasi berikut:
      + `x-amz-lex-slots`— Versi slot dan nilai yang dikodekan base64:

        ```
        {"PickupTime":"18:00","FlowerType":"roses","PickupDate":"2017-03-18"}
        ```
      + `x-amz-lex-session-attributes`— Versi atribut sesi yang dikodekan base64 ({})

      Klien memutar audio di badan respons.

1. Pengguna mengatakan: Ya

   1. Klien (konsol) mengirimkan [PostContent](API_runtime_PostContent.md) permintaan berikut ke Amazon Lex: 

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/content HTTP/1.1
      x-amz-lex-session-attributes: "e30="
      Content-Type: "audio/x-l16; sample-rate=16000; channel-count=1"
      Accept: "audio/mpeg"
      
      
      Request body
      {{input stream ("Yes")}}
      ```

      Badan permintaan adalah aliran audio input pengguna (“Ya”). `sessionAttributes`Sisa-sisa kosong.

   1. Amazon Lex menafsirkan aliran input dan memahami bahwa pengguna ingin melanjutkan pesanan. `OrderFlowers`Maksud dikonfigurasi dengan `ReturnIntent` sebagai aktivitas pemenuhan. Ini mengarahkan Amazon Lex untuk mengembalikan semua data maksud ke klien. Amazon Lex mengembalikan respons dengan berikut: 

      

      ```
      x-amz-lex-dialog-state:ReadyForFulfillment
      x-amz-lex-input-transcript:yes
      x-amz-lex-intent-name:OrderFlowers
      x-amz-lex-session-attributes:e30=
      x-amz-lex-slots:eyJQaWNrdXBUaW1lIjoiMTg6MDAiLCJGbG93ZXJUeXBlIjoicm9zaSdzIiwiUGlja3VwRGF0ZSI6IjIwMTctMDMtMTgifQ==
      ```

      Header `x-amz-lex-dialog-state` respons diatur ke`ReadyForFulfillment`. Klien kemudian dapat memenuhi niat tersebut.

1. Sekarang, uji ulang botnya. Untuk membuat konteks (pengguna) baru, pilih tautan **Hapus** di konsol. Berikan data untuk `OrderFlowers` maksud, dan sertakan beberapa data yang tidak valid. Contoh: 
   + Melati sebagai jenis bunga (bukan salah satu jenis bunga yang didukung)
   + Kemarin sebagai hari ketika Anda ingin mengambil bunga

   Perhatikan bahwa bot menerima nilai-nilai ini karena Anda tidak memiliki kode untuk menginisialisasi dan memvalidasi data pengguna. Di bagian selanjutnya, Anda menambahkan fungsi Lambda untuk melakukan ini. Perhatikan hal berikut tentang fungsi Lambda:
   + Ini memvalidasi data slot setelah setiap input pengguna. Itu memenuhi niat di akhir. Artinya, bot memproses pesanan bunga dan mengembalikan pesan ke pengguna alih-alih hanya mengembalikan data slot ke klien. Untuk informasi selengkapnya, lihat [Menggunakan Fungsi Lambda](using-lambda.md).
   + Ini juga menetapkan atribut sesi. Untuk informasi selengkapnya tentang atribut sesi, lihat[PostText](API_runtime_PostText.md). 

      Setelah Anda menyelesaikan bagian Memulai, Anda dapat melakukan latihan tambahan ([Contoh Tambahan: Membuat Amazon Lex Bots](additional-exercises.md)). [Pesan Perjalanan](ex-book-trip.md)menggunakan atribut sesi untuk berbagi informasi lintas maksud untuk terlibat dalam percakapan dinamis dengan pengguna.

**Langkah Selanjutnya**  
[Langkah 3: Buat Fungsi Lambda (Konsol)](gs-bp-create-lambda-function.md)