

**Pemberitahuan akhir dukungan:** Pada 30 Oktober 2026, AWS akan mengakhiri dukungan untuk Amazon Pinpoint. Setelah 30 Oktober 2026, Anda tidak akan lagi dapat mengakses konsol Amazon Pinpoint atau sumber daya Amazon Pinpoint (titik akhir, segmen, kampanye, perjalanan, dan analitik). Untuk informasi selengkapnya, lihat [Amazon Pinpoint akhir dukungan.](https://docs.aws.amazon.com/console/pinpoint/migration-guide) **Catatan:** APIs terkait dengan SMS, suara, push seluler, OTP, dan validasi nomor telepon tidak terpengaruh oleh perubahan ini dan didukung oleh AWS End User Messaging.

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

# Tutorial
<a name="tutorials"></a>

Tutorial di bagian ini dimaksudkan untuk menunjukkan kepada pengguna Amazon Pinpoint baru bagaimana menyelesaikan beberapa tugas penting. Jika Anda baru mengenal Amazon Pinpoint, atau hanya tidak terbiasa dengan fitur-fitur tertentu, tutorial ini adalah tempat yang baik untuk memulai.

Tutorial dalam panduan ini mencakup tugas-tugas yang berorientasi pada pengembang atau pemirsa administrator sistem. Tutorial ini menunjukkan kepada Anda cara melakukan tugas dengan menggunakan Amazon Pinpoint API, the AWS SDKs, dan. AWS CLI

**Topics**
+ [Menggunakan Postman dengan Amazon Pinpoint](tutorials-using-postman.md)
+ [Siapkan sistem pendaftaran SMS](tutorials-two-way-sms.md)

# Tutorial: Menggunakan Postman dengan Amazon Pinpoint API
<a name="tutorials-using-postman"></a>

Tukang pos adalah alat populer untuk pengujian APIs di lingkungan easy-to-use grafis. Anda dapat menggunakan Postman untuk mengirim permintaan API ke REST API apa pun, dan untuk menerima tanggapan atas permintaan Anda. Menggunakan Postman adalah cara mudah untuk menguji dan memecahkan masalah panggilan yang Anda lakukan ke Amazon Pinpoint API. Tutorial ini mencakup prosedur untuk mengatur dan menggunakan Postman dengan Amazon Pinpoint.

**catatan**  
Tukang pos dikembangkan oleh perusahaan pihak ketiga. Ini tidak dikembangkan atau didukung oleh Amazon Web Services (AWS). Untuk mempelajari lebih lanjut tentang menggunakan Tukang Pos, atau untuk bantuan terkait masalah yang terkait dengan Tukang Pos, lihat [Pusat Dukungan](https://support.postman.com/hc/en-us) di situs web Postman.

## Tentang tutorial ini
<a name="tutorials-using-postman-about"></a>

Bagian ini berisi ikhtisar tutorial ini.

**Audiens yang Dituju**  
Tutorial ini ditujukan untuk pengembang dan pelaksana sistem. Anda tidak harus terbiasa dengan Amazon Pinpoint atau Postman untuk menyelesaikan langkah-langkah dalam tutorial ini. Anda harus nyaman mengelola kebijakan IAM dan memodifikasi contoh kode JSON.

Prosedur dalam tutorial ini dirancang untuk mencegah pengguna baru menggunakan operasi API yang dapat menghapus sumber daya Amazon Pinpoint secara permanen. Pengguna tingkat lanjut dapat menghapus batasan ini dengan memodifikasi kebijakan yang terkait dengan penggunanya.

**Fitur yang Digunakan**  
Tutorial ini mencakup contoh penggunaan untuk fitur Amazon Pinpoint berikut:
+ Berinteraksi dengan Amazon Pinpoint API dengan menggunakan Postman

**Waktu yang dibutuhkan**  
Diperlukan waktu sekitar 15 menit untuk menyelesaikan tutorial ini.

**Pembatasan Regional**  
Tidak ada batasan regional yang terkait dengan penggunaan solusi ini.

**Biaya Penggunaan Sumber Daya**  
Tidak ada biaya untuk membuat AWS akun. Namun, dengan menerapkan solusi ini, Anda mungkin dikenakan biaya AWS penggunaan jika Anda menggunakan Postman untuk melakukan salah satu hal berikut:
+ Kirim email, SMS, push seluler, atau pesan suara
+ Membuat dan mengirim kampanye
+ Gunakan fitur validasi nomor telepon

Untuk informasi selengkapnya tentang tagihan yang terkait dengan penggunaan Amazon Pinpoint, lihat [harga Amazon Pinpoint](https://aws.amazon.com/pinpoint/pricing/).

# Prasyarat untuk menggunakan Postman dengan Amazon Pinpoint
<a name="tutorials-using-postman-prerequisites"></a>

Sebelum Anda memulai tutorial ini, lengkapi prasyarat berikut:
+ Anda harus memiliki AWS akun. Untuk membuat AWS akun, buka [https://console.aws.amazon.com/](https://console.aws.amazon.com/)dan pilih **Buat AWS akun baru**.
+ Pastikan akun yang Anda gunakan untuk masuk Konsol Manajemen AWS dapat membuat kebijakan dan peran IAM baru.
+ Pastikan Anda memiliki setidaknya satu proyek contoh yang dibuat yang mengaktifkan email dan identitas email terverifikasi. Lihat [Membuat project Amazon Pinpoint dengan dukungan email di Panduan](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-setup-create.html) Pengguna *Amazon Pinpoint*.
+ Pastikan Anda memiliki ID AWS Akun. ID AWS Akun Anda dapat ditemukan di sudut kanan atas konsol atau Anda dapat menggunakan antarmuka baris perintah (CLI). Lihat [Menemukan ID AWS Akun Anda](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindAccountId).
+ Anda harus mengunduh dan menginstal Postman di komputer Anda. Anda dapat mengunduh Postman dari situs web [Postman](https://www.getpostman.com).
+ Setelah Anda menginstal Postman di komputer Anda, buat akun Postman. Saat pertama kali memulai aplikasi Postman, Anda diminta untuk masuk atau membuat akun baru. Ikuti instruksi yang diberikan oleh Postman untuk masuk ke akun Anda atau membuat akun jika Anda belum memilikinya.

**Berikutnya**: [Buat kebijakan dan peran IAM](tutorials-using-postman-iam-user.md)

# Buat kebijakan dan peran IAM untuk digunakan dengan Amazon Pinpoint
<a name="tutorials-using-postman-iam-user"></a>

Saat Anda menggunakan Postman untuk menguji Amazon Pinpoint API, langkah pertama adalah membuat pengguna. Di bagian ini, Anda membuat kebijakan yang memungkinkan pengguna berinteraksi dengan semua sumber daya Amazon Pinpoint. Kemudian, Anda membuat pengguna dan melampirkan kebijakan langsung ke pengguna.

## Buat kebijakan IAM
<a name="tutorials-using-postman-iam-user-create-policy"></a>

Pelajari cara membuat kebijakan IAM. Pengguna dan peran yang menggunakan kebijakan ini dapat berinteraksi dengan semua sumber daya di Amazon Pinpoint API. Ini juga menyediakan akses ke sumber daya yang terkait dengan Amazon Pinpoint Email API, serta Amazon Pinpoint SMS dan Voice API.

**Untuk membuat kebijakan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Kebijakan** dan kemudian pilih **Buat kebijakan**.

1. Di **Editor kebijakan** pilih **JSON**. Hapus JSON apa pun yang ada di **editor Kebijakan** sehingga kosong. Salin dan tempel JSON berikut ke **editor Kebijakan** dan kemudian di **editor Kebijakan** ganti semua instance *123456789012* dengan ID Anda Akun AWS .

    Akun AWS ID Anda dapat ditemukan di sudut kanan atas konsol, atau Anda dapat menggunakan CLI, lihat [Menemukan ID AWS akun Anda](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindAccountId).
**catatan**  
Untuk melindungi data di akun Amazon Pinpoint Anda, kebijakan ini hanya menyertakan izin yang memungkinkan Anda membaca, membuat, dan memodifikasi sumber daya. Itu tidak termasuk izin yang memungkinkan Anda untuk menghapus sumber daya. Anda dapat mengubah kebijakan ini dengan menggunakan editor visual di konsol IAM. Untuk informasi selengkapnya, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) di Panduan Pengguna IAM. Anda juga dapat menggunakan [CreatePolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html)operasi di IAM API untuk memperbarui kebijakan ini.  
Selain itu, kebijakan ini mencakup izin yang memungkinkan Anda berinteraksi dengan `sms-voice` layanan `ses` dan layanan, selain `mobiletargeting` layanan. `sms-voice`Izin `ses` dan memungkinkan Anda untuk berinteraksi dengan Amazon Pinpoint Email API dan Amazon Pinpoint SMS dan Voice API, masing-masing. `mobiletargeting`Izin memungkinkan Anda berinteraksi dengan Amazon Pinpoint API.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "mobiletargeting:Update*",
                   "mobiletargeting:Get*",
                   "mobiletargeting:Send*",
                   "mobiletargeting:Put*",
                   "mobiletargeting:Create*"
               ],
               "Resource": [
                   "arn:aws:mobiletargeting:*:123456789012:apps/*",
                   "arn:aws:mobiletargeting:*:123456789012:apps/*/campaigns/*",
                   "arn:aws:mobiletargeting:*:123456789012:apps/*/segments/*"
               ]
           },
           {
               "Sid": "VisualEditor1",
               "Effect": "Allow",
               "Action": [
                   "mobiletargeting:TagResource",
                   "mobiletargeting:PhoneNumberValidate",
                   "mobiletargeting:ListTagsForResource",
                   "mobiletargeting:CreateApp"
               ],
               "Resource": "arn:aws:mobiletargeting:*:123456789012:*"
           },
           {
               "Sid": "VisualEditor2",
               "Effect": "Allow",
               "Action": [
                   "ses:TagResource",
                   "ses:Send*",
                   "ses:Create*",
                   "ses:Get*",
                   "ses:List*",
                   "ses:Put*",
                   "ses:Update*",
                   "sms-voice:SendVoiceMessage",
                   "sms-voice:List*",
                   "sms-voice:Create*",
                   "sms-voice:Get*",
                   "sms-voice:Update*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   Pilih **Berikutnya**.

1. Untuk **nama Kebijakan**, masukkan nama untuk kebijakan, seperti**PostmanAccessPolicy**. Pilih **Buat kebijakan**.

1. (Opsional) Anda dapat menambahkan tag ke kebijakan dengan memilih **Tambah Tag**.

1. Pilih **Berikutnya: Tinjauan**.

## Mmebuat pengguna IAM
<a name="tutorials-using-postman-iam-user-create-user"></a>

**Awas**  
Pengguna IAM memiliki kredensi jangka panjang, yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan.

Setelah membuat kebijakan, Anda dapat membuat pengguna dan melampirkan kebijakan tersebut. Saat Anda membuat pengguna, IAM menyediakan serangkaian kredensional yang memungkinkan Postman menjalankan operasi Amazon Pinpoint API.

**Untuk membuat pengguna**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di konsol IAM, di panel navigasi, pilih **Pengguna**, lalu pilih **Buat** pengguna.

1. Di bawah **Rincian pengguna****, untuk nama Pengguna**, masukkan nama yang mengidentifikasi pengguna, seperti**PostmanUser**. Lalu pilih **Selanjutnya**.

1. Di bawah **Setel izin**, untuk **opsi Izin**, pilih **Lampirkan kebijakan** secara langsung. 

1. Di bawah **Kebijakan izin**, pilih kebijakan (**PostmanAccessPolicy**) yang Anda buat di [Membuat kebijakan IAM](#tutorials-using-postman-iam-user-create-policy). Lalu pilih **Selanjutnya**.

1. Pada halaman **Tinjau dan buat**, secara opsional tambahkan tag yang membantu Anda mengidentifikasi pengguna. Untuk informasi selengkapnya tentang penggunaan tag, lihat [Menandai sumber daya IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di Panduan Pengguna *IAM*. 

1. Saat Anda siap membuat pengguna, pilih **Buat pengguna**.

## Buat kunci akses
<a name="tutorials-using-postman-iam-user-create-key"></a>

**Awas**  
Skenario ini mengharuskan pengguna IAM dengan akses terprogram dan kredensi jangka panjang, yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan. Kunci akses dapat diperbarui jika perlu. Untuk informasi selengkapnya, lihat [Memperbarui kunci akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/id-credentials-access-keys-update.html) di *Panduan Pengguna IAM*.

 IAM menyediakan serangkaian kredensi yang dapat Anda gunakan untuk memungkinkan Postman menjalankan operasi Amazon Pinpoint API.

**Untuk membuat pengguna**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. **Di konsol IAM, di panel navigasi, pilih Pengguna.** Pilih user (**PostmanUser**) yang dibuat di [Buat pengguna IAM](#tutorials-using-postman-iam-user-create-user), lalu pilih tab **Security credentials**.

1. Pada bagian **Access key**, pilih **Buat access key**.

1. Pada halaman **Praktik & alternatif terbaik kunci Akses**, pilih **Aplikasi yang berjalan di luar AWS**. 

   Lalu pilih **Selanjutnya**.

1. (Opsional) Anda dapat menambahkan tag deskripsi ke kebijakan.

1. Pilih **Buat access key**.

1. Pada halaman **Ambil kunci akses**, salin kredenal yang ditampilkan di kolom kunci Akses dan **kunci akses** **Rahasia**.
**catatan**  
Anda harus memberikan ID kunci akses dan kunci akses rahasia nanti dalam tutorial ini. Ini adalah satu-satunya saat Anda dapat melihat kunci akses rahasia. Kami menyarankan Anda menyalinnya dan menyimpannya di lokasi yang aman.

1. Setelah Anda menyimpan kedua kunci, pilih **Selesai**.

**Berikutnya**: [Mengatur Postman](tutorials-using-postman-configuration.md)

# Siapkan Postman untuk digunakan dengan Amazon Pinpoint
<a name="tutorials-using-postman-configuration"></a>

Sekarang setelah Anda membuat pengguna yang dapat mengakses Amazon Pinpoint API, Anda dapat mengatur Postman. Di bagian ini, Anda membuat satu atau lebih lingkungan di Postman. Selanjutnya, Anda mengimpor koleksi yang berisi templat permintaan untuk setiap operasi di Amazon Pinpoint API.

## Buat ruang kerja Postman
<a name="tutorials-using-postman-configuration-create-workspace"></a>

Di Postman, *ruang kerja* adalah wadah organisasi untuk proyek dan lingkungan. Di bagian ini, Anda membuat setidaknya satu ruang kerja untuk digunakan dengan Amazon Pinpoint.

**Buat ruang kerja**

Di Postman, pilih tindakan lainnya pilih **File**, lalu pilih **Baru**.

1. Pada jendela **Create New**, pilih **Workspace**.

1. Masukkan nama, ringkasan, dan atur visibilitas ke pribadi. Kemudian pilih **Create Workspace**.

## Buat lingkungan Postman
<a name="tutorials-using-postman-configuration-create-environments"></a>

Dalam Postman, *lingkungan* adalah seperangkat variabel yang disimpan sebagai pasangan kunci-nilai. Anda dapat menggunakan lingkungan untuk mengubah konfigurasi permintaan yang Anda buat melalui Postman, tanpa harus mengubah permintaan API itu sendiri.

Di bagian ini, Anda membuat setidaknya satu lingkungan untuk digunakan dengan Amazon Pinpoint. Setiap lingkungan yang Anda buat berisi serangkaian variabel yang spesifik untuk akun Anda dalam satu Wilayah AWS. Jika Anda menggunakan prosedur di bagian ini untuk membuat lebih dari satu lingkungan, Anda dapat mengubah antar Wilayah dengan memilih lingkungan yang berbeda dari menu **Lingkungan** di Tukang Pos.

**Untuk membuat lingkungan**

1. Di Postman, pilih menu tindakan lainnya, pilih **File**, lalu pilih **Baru**.

1. Pada jendela **Create New**, pilih **Environment**.

1. Pada jendela **KELOLA LINGKUNGAN**, untuk **Nama Lingkungan**, masukkan**Amazon Pinpoint - *Region Name***. Ganti *Region Name* dengan salah satu nilai berikut:
   + AS Timur (Virginia Utara)
   + US West (Oregon)
   + Asia Pasifik (Mumbai)
   + Asia Pasifik (Sydney)
   + Europe (Frankfurt)
   + Eropa (Irlandia)
**catatan**  
Minimal, Anda hanya perlu membuat satu lingkungan untuk satu Wilayah AWS, dan itu Wilayah AWS harus berisi satu proyek. Jika Anda belum membuat proyek di salah satu yang terdaftar sebelumnya Wilayah AWS, lihat [Membuat proyek Amazon Pinpoint dengan dukungan email di Panduan](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-setup-create.html) Pengguna *Amazon Pinpoint*.

1. Buat enam variabel baru:`endpoint`,`region`,`serviceName`,`accountId`,`accessKey`, dan`secretAccessKey`. Gunakan tabel berikut untuk menentukan nilai mana yang akan dimasukkan dalam kolom **Nilai Awal** dan **Nilai Saat Ini** untuk setiap variabel.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/tutorials-using-postman-configuration.html)

   Setelah Anda membuat variabel-variabel ini, jendela **MANAGE** ENVIRONMENTS menyerupai contoh yang ditunjukkan pada gambar berikut.  
![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Postman_Tutorial_2.1_4.png)

   Setelah selesai, pilih **Simpan**.
**penting**  
Kunci akses yang ditunjukkan pada gambar sebelumnya adalah fiktif. Jangan bagikan kunci akses IAM Anda dengan orang lain.  
Tukang pos menyertakan fitur yang memungkinkan Anda untuk berbagi dan mengekspor lingkungan. Jika Anda menggunakan fitur-fitur ini, pastikan untuk tidak membagikan ID kunci akses dan kunci akses rahasia Anda dengan siapa pun yang seharusnya tidak memiliki akses ke kredensyal ini.  
Untuk informasi selengkapnya, lihat [Praktik terbaik IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

1. (Opsional) Ulangi langkah 1-4 untuk setiap lingkungan tambahan yang ingin Anda buat.
**Tip**  
Di Postman, Anda dapat membuat lingkungan sebanyak yang Anda butuhkan. Anda dapat menggunakan lingkungan dengan cara berikut:  
Buat lingkungan terpisah untuk setiap Wilayah tempat Anda harus menguji Amazon Pinpoint API.
Buat lingkungan yang terkait dengan yang berbeda Akun AWS.
Buat lingkungan yang menggunakan kredensional yang terkait dengan pengguna lain.

1. Setelah Anda selesai membuat lingkungan, lanjutkan ke bagian berikutnya.

## Buat koleksi Amazon Pinpoint di Postman
<a name="tutorials-using-postman-configuration-create-pinpoint-collection"></a>

Di Postman, *koleksi* adalah sekelompok permintaan API. Permintaan dalam koleksi biasanya disatukan oleh tujuan bersama. Di bagian ini, Anda membuat koleksi baru yang berisi templat permintaan untuk setiap operasi di Amazon Pinpoint API.

**Untuk membuat koleksi Amazon Pinpoint**

1. Di Postman, pilih menu tindakan lainnya, pilih **File**, lalu pilih **Impor**.

1. Pada jendela **Impor**, pilih **Impor Dari Tautan**, lalu masukkan URL berikut: [https://raw.githubusercontent.com/awsdocs/amazon-pinpoint-developer-guide/master/Amazon](https://raw.githubusercontent.com/awsdocs/amazon-pinpoint-developer-guide/master/Amazon%20Pinpoint.postman_collection.json) %20pinpoint.postman\$1collection.json. 

   Pilih **Impor**. Postman mengimpor koleksi Amazon Pinpoint, yang berisi 120 contoh permintaan.

## Uji konfigurasi Tukang Pos Anda
<a name="tutorials-using-postman-configuration-test-operation"></a>

Setelah Anda mengimpor koleksi Amazon Pinpoint, kami sarankan Anda melakukan tes cepat untuk memverifikasi bahwa semua komponen telah dikonfigurasi dengan benar. Anda dapat menguji konfigurasi Anda dengan mengirimkan permintaan. `GetApps` Permintaan ini mengembalikan daftar semua proyek yang ada di akun Amazon Pinpoint Anda saat ini. Wilayah AWS Permintaan ini tidak memerlukan konfigurasi tambahan, jadi ini adalah cara yang baik untuk menguji konfigurasi Anda.

**Untuk menguji konfigurasi koleksi Amazon Pinpoint**

1. **Di panel navigasi kiri, pilih **Koleksi**, perluas koleksi **Amazon** Pinpoint, lalu perluas folder Apps.**

1. Dalam daftar permintaan, pilih **GetApps**.

1. Gunakan pemilih **Lingkungan** untuk memilih lingkungan yang Anda buat di lingkungan [Create Postman](#tutorials-using-postman-configuration-create-environments).

1. Pilih **Kirim**. Jika permintaan berhasil dikirim, panel respons menampilkan status. `200 OK` Anda melihat respons yang menyerupai contoh pada gambar berikut.  
![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Postman_Tutorial_2.3_3.png)
**catatan**  
Jika Anda tidak memiliki proyek apa pun yang dibuat di Wilayah AWS Amazon Pinpoint kembali. `{ "Item": [] }`

   Tanggapan ini menampilkan daftar semua proyek Amazon Pinpoint yang ada di akun Anda di Wilayah yang Anda pilih pada langkah 3.

### Pemecahan masalah
<a name="tutorials-using-postman-configuration-test-operation-troubleshooting"></a>

Ketika Anda mengirimkan permintaan Anda, Anda mungkin melihat kesalahan. Lihat daftar berikut untuk beberapa kesalahan umum yang mungkin Anda temui, dan untuk langkah-langkah yang dapat Anda ambil untuk mengatasinya.


| Pesan kesalahan | Masalah | Resolusi | 
| --- | --- | --- | 
|  Tidak bisa mendapatkan respons apa pun Ada kesalahan saat menghubungkan ke https://%7B%7Bendpoint%7D%7D/v1/apps.  |  Tidak ada nilai saat ini untuk `{{endpoint}}` variabel, yang diatur ketika Anda memilih lingkungan.  | Gunakan pemilih lingkungan untuk memilih lingkungan. | 
|  Token keamanan yang disertakan dalam permintaan tidak valid.  |  Tukang pos tidak dapat menemukan nilai saat ini dari ID kunci akses atau kunci akses rahasia Anda.  |  Pilih ikon roda gigi di dekat pemilih lingkungan, lalu pilih lingkungan saat ini. Verifikasi bahwa `secretAccessKey` nilai `accessKey` dan muncul di kolom **NILAI AWAL dan NILAI** **SAAT INI**, dan Anda memasukkan kredensialnya dengan benar.  | 
|  “Message”: “User: arn:aws:iam: :123456789012:user/ tidak berwenang untuk melakukan: mobiletargeting: on resource: arn:aws:mobiletargeting:us-west- 2:123456789012PinpointPostmanUser: \$1” GetApps   |  Kebijakan IAM yang terkait dengan pengguna Anda tidak menyertakan izin yang sesuai.  |  [Verifikasi bahwa pengguna Anda memiliki izin yang dijelaskan dalam [kebijakan Buat IAM](tutorials-using-postman-iam-user.md#tutorials-using-postman-iam-user-create-policy), dan Anda memberikan kredensyal yang benar saat membuat lingkungan di ruang kerja Create Postman.](#tutorials-using-postman-configuration-create-environments)  | 

**Berikutnya**: [Kirim permintaan tambahan](tutorials-using-postman-sample-requests.md)

# Kirim permintaan ke Amazon Pinpoint API
<a name="tutorials-using-postman-sample-requests"></a>

Setelah selesai mengonfigurasi dan menguji Postman, Anda dapat mulai mengirim permintaan tambahan ke Amazon Pinpoint API. Bagian ini mencakup informasi yang harus Anda ketahui sebelum mulai mengirim permintaan. Ini juga mencakup dua permintaan sampel yang menjelaskan cara menggunakan koleksi Amazon Pinpoint.

**penting**  
Saat Anda menyelesaikan prosedur di bagian ini, Anda mengirimkan permintaan ke Amazon Pinpoint API. Permintaan ini membuat sumber daya baru di akun Amazon Pinpoint Anda, mengubah sumber daya yang ada, mengirim pesan, mengubah konfigurasi proyek Amazon Pinpoint Anda, dan menggunakan fitur Amazon Pinpoint lainnya. Berhati-hatilah saat Anda melaksanakan permintaan ini.

## Contoh dalam koleksi Amazon Pinpoint Postman
<a name="tutorials-using-postman-sample-requests-about"></a>

Anda harus mengonfigurasi sebagian besar operasi dalam koleksi Amazon Pinpoint Postman sebelum Anda dapat menggunakannya. Untuk `GET` dan `DELETE` operasi, Anda biasanya hanya perlu memodifikasi variabel yang diatur pada tab **Pra-permintaan Script**.

**catatan**  
Bila Anda menggunakan kebijakan IAM yang ditampilkan di [Buat kebijakan IAM](tutorials-using-postman-iam-user.md#tutorials-using-postman-iam-user-create-policy), Anda tidak dapat menjalankan `DELETE` permintaan apa pun yang disertakan dalam koleksi ini.

Misalnya, `GetCampaign` operasi mengharuskan Anda untuk menentukan a `projectId` dan a`campaignId`. Pada tab **Pra-permintaan Script**, kedua variabel ini hadir, dan diisi dengan nilai contoh. Hapus nilai contoh dan ganti dengan nilai yang berlaku untuk proyek dan kampanye Amazon Pinpoint Anda.

Dari variabel-variabel ini, yang paling umum digunakan adalah `projectId` variabel. Nilai untuk variabel ini harus menjadi pengidentifikasi unik untuk proyek yang permintaan Anda terapkan. Untuk mendapatkan daftar pengidentifikasi ini untuk proyek Anda, lihat respons terhadap `GetApps` permintaan yang Anda kirim pada langkah sebelumnya dari tutorial ini. Dalam tanggapan itu, `Id` bidang menyediakan pengenal unik untuk sebuah proyek. Untuk mempelajari lebih lanjut tentang `GetApps` operasi dan arti dari setiap bidang dalam respons, lihat [Aplikasi di Referensi](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps.html) *API Amazon Pinpoint*.

**catatan**  
Di Amazon Pinpoint, “proyek” sama dengan “aplikasi” atau “aplikasi”.

Untuk `POST` dan `PUT` operasi, Anda juga harus memodifikasi badan permintaan untuk menyertakan nilai yang ingin Anda kirim ke API. Misalnya, ketika Anda mengirimkan `CreateApp` permintaan, yang merupakan `POST` permintaan, Anda harus menentukan nama untuk proyek yang Anda buat. Anda dapat memodifikasi permintaan pada tab **Tubuh**. Dalam contoh ini, ganti nilai di sebelahnya `"Name"` dengan nama proyek. Jika Anda ingin menambahkan tag ke proyek, Anda dapat menentukannya di `tags` objek. Atau, jika Anda tidak ingin menambahkan tag, Anda dapat menghapus seluruh `tags` objek.

**catatan**  
`UntagResource`Operasi ini juga mengharuskan Anda untuk menentukan parameter URL. Anda dapat menentukan parameter ini pada tab **Params**. Ganti **nilai di kolom VALUE** dengan tag yang ingin Anda hapus untuk sumber daya yang ditentukan.

## Contoh permintaan: Buat proyek dengan menggunakan `CreateApp` operasi
<a name="tutorials-using-postman-sample-requests-createapp"></a>

Sebelum Anda membuat segmen dan kampanye di Amazon Pinpoint, Anda harus terlebih dahulu membuat proyek. Di Amazon Pinpoint, sebuah *proyek* terdiri dari segmen, kampanye, konfigurasi, dan data yang disatukan oleh tujuan bersama. Misalnya, Anda dapat menggunakan proyek untuk memuat semua konten yang terkait dengan aplikasi tertentu, atau dengan merek atau inisiatif pemasaran tertentu. Saat Anda menambahkan informasi pelanggan ke Amazon Pinpoint, informasi tersebut terkait dengan proyek.

**Untuk membuat proyek dengan mengirimkan permintaan CreateApp API**

1. Pada menu **Lingkungan**, pilih tempat Wilayah AWS Anda ingin membuat proyek.  
![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Postman_Tutorial_Environments.png)

    Dalam contoh ini, Postman telah dikonfigurasi sehingga menu **Lingkungan** menunjukkan empat opsi berikut:
   + AS Timur (Virginia Utara)
   + AS Barat (Oregon)
   + Eropa (Frankfurt)
   + Eropa (Irlandia)

1. Di folder **Aplikasi**, pilih **CreateApp**operasi>.  
![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Postman_Tutorial_3.2_2.png)

   Folder **Apps** dalam koleksi Amazon Pinpoint Postman diperluas dan menampilkan permintaan berikut:
   + `GetApp`
   + `GetApps`
   + `CreateApp`
   + `DeleteApp`

1. Pada tab **Body**, di samping`"Name"`, ganti nilai placeholder (`"string"`) dengan nama untuk kampanye, seperti. **"MySampleProject"**

1. Hapus koma setelah nama kampanye, lalu hapus seluruh `tags` objek pada baris 3 hingga 5. Ketika Anda selesai, permintaan Anda harus menyerupai contoh yang ditampilkan dalam cuplikan kode berikut.

   ```
   {
       "Name": "MySampleProject"
   }
   ```

   Postman dikonfigurasi untuk mengirim permintaan sebagai payload JSON mentah.

1. Pilih **Kirim**. Jika kampanye berhasil dibuat, panel respons akan menampilkan status. `201 Created`

   ```
   {
       "Name": "MySampleProject"
       "Id": "12345678901234567890123456789012",
       "Arn": "arn:aws:mobiletargeting:us-east-1:123456789012:apps/12345678901234567890123456789012",
       "tags": {}
   }
   ```

## Contoh: Kirim email dengan menggunakan `SendMessages` operasi
<a name="tutorials-using-postman-sample-requests-sendmessages"></a>

Sangat umum untuk menggunakan Amazon Pinpoint `SendMessages` API untuk mengirim pesan transaksional. Salah satu keuntungan mengirim pesan dengan menggunakan `SendMessages` API sebagai lawan membuat kampanye, adalah Anda dapat mengirim pesan ke alamat apa pun, seperti alamat email, nomor telepon, atau token perangkat. Alamat yang Anda kirimi pesan tidak harus ada di akun Amazon Pinpoint Anda. Mari kita bandingkan metode ini dengan mengirim pesan dengan membuat kampanye. Sebelum mengirim kampanye di Amazon Pinpoint, Anda harus menambahkan titik akhir ke akun Amazon Pinpoint, membuat segmen, membuat kampanye, dan menjalankan kampanye.

Contoh di bagian ini menunjukkan cara mengirim pesan email transaksional langsung ke alamat email tertentu. Anda dapat mengubah permintaan ini untuk mengirim pesan melalui saluran lain, seperti SMS, push seluler, atau suara.

**Untuk mengirim pesan email dengan mengirimkan permintaan SendMessages**

1. Verifikasi bahwa saluran email diaktifkan untuk proyek dan alamat email atau domain yang ingin Anda gunakan untuk mengirim dan menerima pesan dikonfigurasi. *Untuk informasi selengkapnya, lihat [Mengaktifkan dan menonaktifkan saluran email](pinpoint/latest/userguide/channels-email-setup.html) dan [Memverifikasi identitas email di Panduan Pengguna](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html) Amazon Pinpoint.*
**catatan**  
Untuk menyelesaikan prosedur di bagian ini, Anda harus memverifikasi dan alamat email

1. Pada menu **Lingkungan**, pilih Wilayah AWS yang ingin Anda kirimi pesan.

   Dalam contoh ini, Postman telah dikonfigurasi sehingga menu **Lingkungan** menunjukkan empat opsi berikut:
   + AS Timur (Virginia Utara)
   + AS Barat (Oregon)
   + Eropa (Frankfurt)
   + Eropa (Irlandia)

1. Di folder **Pesan**, pilih **SendMessages**operasi.  
![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Postman_Tutorial_3.3_3.png)

1. Pada tab **Pra-permintaan Script**, ganti nilai `projectId` variabel dengan ID proyek yang sudah ada di Wilayah yang Anda pilih di langkah 2 bagian ini.

1. Pada tab **Body**, hapus permintaan contoh yang ditampilkan di editor permintaan. Tempel kode berikut:

   ```
   {
       "MessageConfiguration":{
           "EmailMessage":{
               "FromAddress":"sender@example.com",
               "SimpleEmail":{
                   "Subject":{
                       "Data":"Sample Amazon Pinpoint message"
                   },
                   "HtmlPart":{
                       "Data":"<h1>Test message</h1><p>This is a sample message sent from <a href=\"https://aws.amazon.com/pinpoint\">Amazon Pinpoint</a> using the SendMessages API.</p>"
                   },
                   "TextPart":{
                       "Data":"This is a sample message sent from Amazon Pinpoint using the SendMessages API."
                   }
               }
           }
       },
       "Addresses":{
           "recipient@example.com": {
               "ChannelType": "EMAIL"
           }
       }
   }
   ```

1. Pada kode sebelumnya, ganti *sender@example.com* dengan alamat email terverifikasi Anda. Ganti *recipient@example.com* dengan alamat email terverifikasi yang ingin Anda kirimi pesan.
**catatan**  
Jika akun Anda masih dalam kotak pasir email Amazon Pinpoint, Anda hanya dapat mengirim email ke alamat atau domain yang diverifikasi di akun Amazon Pinpoint Anda. Untuk informasi selengkapnya tentang menghapus akun Anda dari kotak pasir, lihat [Meminta akses produksi untuk email di Panduan](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-setup-production-access.html) Pengguna *Amazon Pinpoint*.

1. Pilih **Kirim**. Jika pesan berhasil dikirim, panel respons menampilkan status. `200 OK`

   ```
   {
       "ApplicationId": "12345678901234567890123456789012",
       "RequestId": "<sampleValue>",
       "Result": {
           "recipient@example.com": {
               "DeliveryStatus": "SUCCESSFUL",
               "StatusCode": 200,
               "StatusMessage": "<sampleValue>",
               "MessageId": "<sampleValue>"
           }
       }
   }
   ```

# Siapkan sistem pendaftaran SMS di Amazon Pinpoint
<a name="tutorials-two-way-sms"></a>

Pesan SMS (pesan teks) adalah cara yang bagus untuk mengirim pesan sensitif waktu ke pelanggan Anda menggunakan Amazon Pinpoint. Banyak orang menyimpan ponsel mereka di dekatnya setiap saat, dan pesan SMS cenderung menarik perhatian orang lebih dari pemberitahuan push, email, atau panggilan telepon.

Cara umum untuk menangkap nomor ponsel pelanggan adalah dengan menggunakan formulir berbasis web. Setelah Anda memverifikasi nomor telepon pelanggan dan mengonfirmasi langganan mereka, Anda dapat mulai mengirim pesan SMS promosi, transaksional, dan informasi kepada pelanggan tersebut.

Tutorial ini menunjukkan cara mengatur formulir web untuk menangkap informasi kontak pelanggan. Formulir web mengirimkan informasi ini ke Amazon Pinpoint. Selanjutnya, Amazon Pinpoint memverifikasi bahwa nomor telepon valid, dan menangkap metadata lain yang terkait dengan nomor telepon. Setelah itu, Amazon Pinpoint mengirimkan pesan kepada pelanggan yang meminta mereka untuk mengonfirmasi langganan mereka. Setelah pelanggan mengonfirmasi langganan mereka, Amazon Pinpoint memilih mereka untuk menerima pesan Anda.

Diagram arsitektur berikut menunjukkan aliran data dalam solusi ini.

![\[\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_Architecture.png)


## Tentang keikutsertaan ganda
<a name="tutorials-two-way-sms-double-opt-in"></a>

Tutorial ini menunjukkan cara mengatur sistem opt-in ganda di Amazon Pinpoint yang menggunakan pesan SMS dua arah.

Dalam sistem keikutsertaan ganda SMS, pelanggan memberi Anda nomor telepon mereka dengan mengirimkannya dalam formulir web atau dalam aplikasi Anda. Saat menerima permintaan dari pelanggan, Anda membuat titik akhir baru di Amazon Pinpoint. Titik akhir yang baru harus dipilih keluar dari komunikasi Anda. Selanjutnya, Anda mengirim pesan ke nomor telepon itu. Dalam pesan Anda, Anda meminta penerima untuk mengonfirmasi langganan mereka dengan membalas dengan kata atau frasa tertentu (seperti “Ya” atau “Konfirmasi”). Jika pelanggan menanggapi pesan dengan kata atau frasa yang Anda tentukan, Anda mengubah status titik akhir menjadi opted-in. Jika tidak, jika pelanggan tidak merespons atau mereka merespons dengan kata atau frasa yang berbeda, Anda dapat meninggalkan titik akhir dengan status opted-out.

## Tentang solusi ini
<a name="tutorials-two-way-sms-about"></a>

Bagian ini berisi informasi tentang solusi yang Anda sedang membangun dalam tutorial ini.

**Audiens yang Dituju**  
Tutorial ini ditujukan untuk pengembang dan pemirsa pelaksana sistem. Anda tidak harus terbiasa dengan Amazon Pinpoint untuk menyelesaikan langkah-langkah dalam tutorial ini. Namun, Anda harus nyaman mengelola kebijakan IAM, membuat fungsi Lambda di Node.js, dan menerapkan konten web.

**Fitur yang Digunakan**  
Tutorial ini mencakup contoh penggunaan untuk fitur Amazon Pinpoint berikut:
+ Mengirim pesan SMS transaksional
+ Memperoleh informasi tentang nomor telepon dengan menggunakan validasi nomor telepon
+ Menerima pesan SMS masuk dengan menggunakan pesan SMS dua arah
+ Membuat segmen dinamis
+ Membuat kampanye
+ Berinteraksi dengan Amazon Pinpoint API dengan menggunakan AWS Lambda

**Waktu yang dibutuhkan**  
Diperlukan waktu sekitar satu jam untuk menyelesaikan tutorial ini. Setelah Anda menerapkan solusi ini, ada langkah-langkah tambahan yang dapat Anda ambil untuk menyempurnakan solusi agar sesuai dengan kasus penggunaan unik Anda.

**Pembatasan Regional**  
Tutorial ini mengharuskan Anda untuk menyewa kode panjang dengan menggunakan konsol Amazon Pinpoint. Anda dapat menggunakan konsol Amazon Pinpoint untuk menyewa kode panjang khusus yang berbasis di beberapa negara. Namun, hanya kode panjang yang berbasis di Kanada yang dapat digunakan untuk mengirim pesan SMS. (Anda dapat menggunakan kode panjang yang berbasis di negara dan wilayah lain untuk mengirim pesan suara.)

Kami mengembangkan contoh kode dalam tutorial ini dengan batasan ini dalam pikiran. Misalnya, contoh kode mengasumsikan bahwa nomor telepon penerima selalu memiliki 10 digit, dan kode negara 1. Jika Anda menerapkan solusi ini di negara atau wilayah selain Amerika Serikat atau Kanada, Anda harus memodifikasi contoh kode dengan tepat.

**Biaya Penggunaan Sumber Daya**  
Tidak ada biaya untuk membuat AWS akun. Namun, dengan menerapkan solusi ini, Anda mungkin dikenakan biaya berikut:
+ **Biaya sewa kode panjang** — Untuk menyelesaikan tutorial ini, Anda harus menyewa kode panjang. Kode panjang yang berbasis di Kanada berharga \$11,00 per bulan.
+ **Penggunaan validasi nomor telepon** — Solusi dalam tutorial ini menggunakan fitur validasi nomor telepon Amazon Pinpoint untuk memverifikasi bahwa setiap nomor yang Anda terima valid dan diformat dengan benar, dan untuk mendapatkan informasi tambahan tentang nomor telepon. Anda membayar \$10,006 untuk setiap permintaan validasi nomor telepon.
+ **Biaya pengiriman pesan** — Solusi dalam tutorial ini mengirimkan pesan SMS keluar. Anda membayar untuk setiap pesan yang Anda kirim melalui Amazon Pinpoint. Harga yang Anda bayar untuk setiap pesan tergantung pada negara atau wilayah penerima. Jika Anda mengirim pesan ke penerima di Amerika Serikat (tidak termasuk Wilayah AS), Anda membayar \$10,00645 per pesan. Jika Anda mengirim pesan ke penerima di Kanada, Anda membayar antara \$10,00109—\$10,02, tergantung pada operator dan lokasi penerima.
+ **Biaya penerimaan pesan** — Solusi ini juga menerima dan memproses pesan SMS yang masuk. Anda membayar untuk setiap pesan masuk yang dikirim ke nomor telepon yang terkait dengan akun Amazon Pinpoint Anda. Harga yang Anda bayar tergantung di mana nomor telepon penerima berada. Jika nomor penerima Anda berbasis di Amerika Serikat (tidak termasuk Wilayah AS), Anda membayar \$10,0075 per pesan masuk. Jika nomor Anda berbasis di Kanada, Anda membayar \$10,00155 per pesan masuk.
+ **Penggunaan Lambda** — Solusi ini menggunakan dua fungsi Lambda yang berinteraksi dengan Amazon Pinpoint API. Ketika Anda memanggil fungsi Lambda, Anda akan dikenakan biaya berdasarkan jumlah permintaan untuk fungsi Anda, untuk waktu yang diperlukan untuk mengeksekusi kode Anda, dan untuk jumlah memori yang digunakan fungsi Anda. Fungsi dalam tutorial ini menggunakan memori yang sangat sedikit, dan biasanya berjalan selama 1-3 detik. Beberapa atau semua penggunaan Anda atas solusi ini mungkin termasuk dalam tingkat penggunaan gratis Lambda. Untuk informasi lebih lanjut, lihat harga [Lambda](https://aws.amazon.com/lambda/pricing/).
+ **Penggunaan API Gateway** — Formulir web dalam solusi ini memanggil API yang dikelola oleh API Gateway. Untuk setiap juta panggilan ke API Gateway, Anda membayar \$13,50—\$13,70, tergantung pada Wilayah mana Anda AWS menggunakan Amazon Pinpoint. Untuk informasi selengkapnya, lihat [harga API Gateway](https://aws.amazon.com/api-gateway/pricing/).
+ **Biaya hosting web** — Solusi ini mencakup formulir berbasis web yang harus Anda host di situs web Anda. Harga yang Anda bayar untuk hosting konten ini tergantung pada penyedia hosting web Anda.

**catatan**  
Semua harga yang ditampilkan dalam daftar ini dalam Dolar AS (USD).

**Berikutnya**: [Prasyarat](tutorials-two-way-sms-prereqs.md)

# Prasyarat untuk mengatur SMS di Amazon Pinpoint
<a name="tutorials-two-way-sms-prereqs"></a>

Sebelum Anda memulai tutorial ini, Anda harus menyelesaikan prasyarat berikut:
+ Anda harus memiliki AWS akun. Untuk membuat AWS akun, buka [https://console.aws.amazon.com/](https://console.aws.amazon.com/)dan pilih **Buat AWS akun baru**.
+ Akun yang Anda gunakan untuk masuk harus dapat melakukan tugas-tugas berikut: Konsol Manajemen AWS 
  + Buat kebijakan dan peran IAM baru
  + Buat proyek Amazon Pinpoint baru
  + Buat fungsi Lambda baru
  + Buat yang baru APIs di API Gateway
+ Anda harus memiliki metode hosting dan penerbitan halaman web. Meskipun Anda dapat menggunakan AWS layanan untuk meng-host halaman web Anda, Anda tidak perlu melakukannya. 
**Tip**  
Untuk mempelajari selengkapnya tentang hosting halaman web menggunakan AWS layanan, lihat [Menghosting halaman web statis](https://aws.amazon.com/getting-started/hands-on/host-static-website/).

**Berikutnya**: [Mengatur Amazon Pinpoint](tutorials-two-way-sms-part-1.md)

# Mengatur SMS di Amazon Pinpoint
<a name="tutorials-two-way-sms-part-1"></a>

Sebelum Anda dapat mengatur pesan SMS, Anda memerlukan proyek Amazon Pinpoint. Di bagian ini, Anda melakukan hal berikut:
+ Buat proyek Amazon Pinpoint
+ Aktifkan saluran SMS dan sewa nomor telepon
+ Konfigurasikan pesan SMS dua arah

Sebelum Anda mulai, tinjau [prasyarat](tutorials-two-way-sms-prereqs.md).

## Buat proyek Amazon Pinpoint
<a name="tutorials-two-way-sms-part-1-create-project"></a>

Untuk memulai, Anda perlu membuat proyek Amazon Pinpoint. Di Amazon Pinpoint, sebuah *proyek* terdiri dari segmen, kampanye, konfigurasi, dan data yang disatukan oleh tujuan bersama. Misalnya, Anda dapat menggunakan proyek untuk memuat semua konten yang terkait dengan aplikasi tertentu, atau dengan merek atau inisiatif pemasaran tertentu. Saat Anda menambahkan informasi pelanggan ke Amazon Pinpoint, informasi tersebut terkait dengan proyek.

Langkah-langkah yang terlibat dalam membuat proyek baru berbeda tergantung pada apakah Anda telah membuat proyek di Amazon Pinpoint sebelumnya.

### Membuat proyek (pengguna Amazon Pinpoint baru)
<a name="tutorials-two-way-sms-part-1-create-project-opt-1"></a>

Langkah-langkah ini menjelaskan proses pembuatan proyek Amazon Pinpoint baru jika Anda belum pernah membuat proyek di Wilayah saat ini AWS .

**Untuk membuat proyek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Gunakan pemilih Wilayah untuk memilih AWS Wilayah yang ingin Anda gunakan, seperti yang ditunjukkan pada gambar berikut. Jika Anda tidak yakin, pilih Wilayah yang terletak paling dekat dengan Anda.  
![\[Drop down Region menunjukkan US East (Virginia N.) dipilih.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Region_Selector.png)

1. Di bawah **Memulai**, untuk **Nama**, masukkan nama untuk kampanye (seperti**SMSRegistration**), lalu pilih **Buat proyek**.

1. Pada halaman **Konfigurasi fitur**, pilih **Lewati langkah ini**.

1. Di panel navigasi, pilih **Semua proyek**.

1. Pada halaman **Semua proyek**, di samping proyek yang baru saja Anda buat, salin nilai yang ditampilkan di kolom **Project ID**.
**Tip**  
Anda perlu menggunakan ID ini di beberapa tempat berbeda dalam tutorial ini. Simpan ID proyek di tempat yang nyaman sehingga Anda dapat menyalinnya nanti.

### Membuat proyek (pengguna Amazon Pinpoint yang ada)
<a name="tutorials-two-way-sms-part-1-create-project-opt-2"></a>

Langkah-langkah ini menjelaskan proses pembuatan proyek Amazon Pinpoint baru jika Anda telah membuat proyek di Wilayah saat ini AWS .

**Untuk membuat proyek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Gunakan pemilih Wilayah untuk memilih AWS Wilayah yang ingin Anda gunakan, seperti yang ditunjukkan pada gambar berikut. Jika Anda tidak yakin, pilih Wilayah yang terletak paling dekat dengan Anda.  
![\[Drop down wilayah menunjukkan US East (Virginia N.) dipilih.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/Region_Selector.png)

1. Pada halaman **Semua proyek**, pilih **Buat proyek**.

1. Pada jendela **Buat proyek**, untuk **nama Proyek**, masukkan nama untuk proyek (seperti**SMSRegistration**). Pilih **Buat**.

1. Pada halaman **Konfigurasi fitur**, pilih **Lewati langkah ini**.

1. Di panel navigasi, pilih **Semua proyek**.

1. Pada halaman **Semua proyek**, di samping proyek yang baru saja Anda buat, salin nilai yang ditampilkan di kolom **Project ID**.
**Tip**  
Anda perlu menggunakan ID ini di beberapa tempat berbeda dalam tutorial ini. Simpan ID proyek di tempat yang nyaman sehingga Anda dapat menyalinnya nanti.

## Dapatkan nomor telepon khusus
<a name="tutorials-two-way-sms-part-1-set-up-channel"></a>

**catatan**  
Amazon Pinpoint telah memperbarui dokumentasi panduan pengguna mereka. Untuk mendapatkan informasi terbaru tentang cara membuat, mengonfigurasi, dan mengelola sumber daya SMS dan suara Anda, lihat [panduan pengguna SMS Pesan Pengguna AWS Akhir](https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-service.html) yang baru. 

Setelah Anda membuat proyek, Anda dapat mulai mengkonfigurasi fitur dalam proyek itu. Di bagian ini, Anda mengaktifkan saluran SMS, dan mendapatkan nomor telepon khusus untuk digunakan saat mengirim pesan SMS.

**catatan**  
Bagian ini mengasumsikan bahwa Anda menyewa nomor telepon 10DLC Amerika Serikat setelah pendaftaran merek dan kampanye, nomor Bebas Pulsa Amerika Serikat, atau kode panjang Kanada. Jika Anda mengikuti prosedur di bagian ini, tetapi memilih negara selain Amerika Serikat atau Kanada, Anda tidak akan dapat menggunakan nomor tersebut untuk mengirim pesan SMS. Untuk mempelajari selengkapnya tentang penyewaan kode panjang berkemampuan SMS di negara selain Amerika Serikat atau Kanada, [lihat Negara dan wilayah yang didukung (saluran SMS](https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html)) di AWS Panduan Pengguna SMS Pesan *Pengguna Akhir*.

Untuk mengaktifkan saluran SMS menggunakan konsol Amazon Pinpoint, ikuti langkah-langkah berikut:

**Aktifkan saluran SMS**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Di panel navigasi, di bawah **Settings** (Pengaturan), pilih **SMS and voice** (SMS dan suara).

1. Di samping **pengaturan SMS**, pilih **Edit**.

1. Di bawah **Pengaturan umum**, pilih **Aktifkan saluran SMS untuk proyek ini**, lalu pilih **Simpan perubahan**.

Untuk meminta nomor telepon menggunakan konsol SMS AWS End User Messaging, ikuti langkah-langkah berikut:

**Minta nomor telepon (Konsol)**

1. Buka konsol SMS AWS End User Messaging di [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).
**catatan**  
Pastikan Anda meminta nomor telepon Wilayah AWS yang sama dengan saat Anda membuat proyek Amazon Pinpoint.

1. Di panel navigasi, di bawah **Konfigurasi**, pilih **Nomor telepon**, lalu **Minta** pencetus.

1. Pada halaman **Pilih negara** untuk **negara tujuan Pesan** pilih Amerika Serikat atau Kanada. Pilih **Berikutnya**.

1. Pada bagian **Kasus penggunaan pesan**, masukkan yang berikut ini:
   + Di bawah **kemampuan Nomor** pilih **SMS**
**penting**  
Kemampuan untuk SMS dan Voice tidak dapat diubah setelah nomor telepon telah dibeli.
   + Untuk **pesan dua arah** pilih **Ya**.

1. Pilih **Berikutnya**.

1. Di bawah **Pilih jenis pencetus** pilih **kode Panjang** atau **10DLC**.

   Jika Anda memilih 10DLC dan sudah memiliki kampanye terdaftar, Anda dapat memilih kampanye dari **Associate ke** kampanye terdaftar.

1. Pilih **Berikutnya**.

1. Pada **Tinjauan dan permintaan** Anda dapat memverifikasi dan mengedit permintaan Anda sebelum mengirimkannya. Pilih **Minta**.

1. Jendela **Registrasi yang Diperlukan** dapat muncul tergantung pada jenis nomor telepon yang Anda minta. Nomor telepon Anda dikaitkan dengan pendaftaran ini dan Anda tidak dapat mengirim pesan sampai pendaftaran Anda disetujui. Untuk informasi selengkapnya tentang persyaratan pendaftaran, lihat [Pendaftaran](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html).

   1. Untuk **nama formulir Pendaftaran masukkan nama** yang ramah.

   1. Pilih **Mulai pendaftaran** untuk menyelesaikan pendaftaran nomor telepon atau **Daftar nanti**.
**penting**  
Nomor telepon Anda tidak dapat mengirim pesan sampai pendaftaran Anda disetujui.  
 Anda masih ditagih biaya sewa bulanan berulang untuk nomor telepon terlepas dari status pendaftaran. Untuk informasi selengkapnya tentang persyaratan pendaftaran, lihat [Pendaftaran](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html).

## Aktifkan SMS dua arah
<a name="tutorials-two-way-sms-part-1-enable-two-way"></a>

Sekarang setelah Anda memiliki nomor telepon khusus, Anda dapat mengatur SMS dua arah. Mengaktifkan SMS dua arah memungkinkan pelanggan Anda untuk menanggapi pesan SMS yang Anda kirimkan kepada mereka. Dalam solusi ini, Anda menggunakan SMS dua arah untuk memberi pelanggan Anda cara untuk mengonfirmasi bahwa mereka ingin berlangganan program SMS Anda.

Untuk mengaktifkan SMS dua arah menggunakan konsol SMS AWS End User Messaging, ikuti langkah-langkah berikut:

**Aktifkan SMS dua arah**

1. Buka konsol SMS AWS End User Messaging di [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. Di panel navigasi, di bawah **Konfigurasi**, pilih Nomor **telepon**.

1. Pada halaman **Nomor telepon** pilih nomor telepon.

1. Pada tab **SMS dua arah** pilih tombol **Edit pengaturan**.

1. Pada halaman **Edit pengaturan** pilih **Aktifkan pesan dua arah**.

1. Untuk **jenis Tujuan** pilih **Amazon SNS**.
   + **Topik Amazon SNS baru** - SMS Pesan Pengguna AWS Akhir membuat topik di akun Anda. Topik tersebut secara otomatis dibuat dengan semua izin yang diperlukan. *Untuk informasi selengkapnya tentang topik Amazon SNS, lihat [Mengonfigurasi Amazon SNS di panduan pengembang](https://docs.aws.amazon.com/sns/latest/dg/sns-configuring.html) Amazon SNS.* 
   + Untuk **tujuan pesan masuk** masukkan nama topik, seperti**SMSRegistrationFormTopic**.

1. Untuk **peran saluran dua arah** pilih **Gunakan kebijakan topik SNS**.

1. Pilih **Simpan perubahan**.

Gunakan konsol SMS Pesan Pengguna AWS Akhir untuk menambahkan kata kunci ke nomor telepon yang dikirimkan pelanggan kepada Anda untuk mengonfirmasi langganan mereka (seperti **Yes** atau**Confirm**).

**Tambahkan kata kunci**

1. Buka konsol SMS AWS End User Messaging di [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. Di panel navigasi, di bawah **Konfigurasi**, pilih Nomor **telepon**.

1. Pada halaman **Nomor telepon** pilih nomor telepon untuk menambahkan kata kunci.

1. Pada tab **Kata Kunci** pilih tombol **Tambah kata kunci**.

1. Di panel **Kata Kunci Kustom** tambahkan yang berikut ini:
   + **Kata kunci** — Kata kunci baru untuk ditambahkan (seperti **Yes** atau**Confirm**).
   + **Pesan respons** — Pesan untuk dikirim kembali ke penerima.
   + **Tindakan kata kunci** — Tindakan yang harus dilakukan ketika kata kunci diterima. Pilih **Respons otomatis**.

1. Pilih **Tambah kata kunci**.

**Berikutnya**: [Buat kebijakan dan peran IAM](tutorials-two-way-sms-part-2.md)

# Buat kebijakan dan peran IAM untuk digunakan dengan SMS di Amazon Pinpoint
<a name="tutorials-two-way-sms-part-2"></a>

Langkah selanjutnya dalam menerapkan solusi pendaftaran SMS di Amazon Pinpoint adalah mengonfigurasi kebijakan dan peran dalam AWS Identity and Access Management (IAM). Untuk solusi ini, Anda perlu membuat kebijakan yang menyediakan akses ke sumber daya tertentu yang terkait dengan Amazon Pinpoint. Anda kemudian membuat peran dan melampirkan kebijakan padanya. Kemudian dalam tutorial ini, Anda membuat AWS Lambda fungsi yang menggunakan peran ini untuk memanggil operasi tertentu di Amazon Pinpoint API.

## Buat kebijakan IAM
<a name="tutorials-two-way-sms-part-2-create-policy"></a>

Bagian ini menunjukkan cara membuat kebijakan IAM. Pengguna dan peran yang menggunakan kebijakan ini dapat melakukan hal berikut:
+ Gunakan fitur Validasi Nomor Telepon
+ Melihat, membuat, dan memperbarui titik akhir Amazon Pinpoint
+ Kirim pesan ke titik akhir Amazon Pinpoint

Dalam tutorial ini, Anda ingin memberi Lambda kemampuan untuk melakukan tugas-tugas ini. Namun, untuk keamanan tambahan, kebijakan ini menggunakan prinsip pemberian *hak istimewa paling sedikit*. Dengan kata lain, itu hanya memberikan izin yang diperlukan untuk menyelesaikan solusi ini, dan tidak lebih. Kebijakan ini dibatasi dengan cara-cara berikut:
+ Anda hanya dapat menggunakannya untuk memanggil API Validasi Nomor Telepon di Wilayah tertentu.
+ Anda hanya dapat menggunakannya untuk melihat, membuat, atau memperbarui titik akhir yang terkait dengan proyek Amazon Pinpoint tertentu.
+ Anda hanya dapat menggunakannya untuk mengirim pesan ke titik akhir yang terkait dengan proyek Amazon Pinpoint tertentu.

**Untuk membuat kebijakan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Kebijakan** dan kemudian pilih **Buat kebijakan**.

1. Pada tab **JSON**, tempel kode berikut.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:CreateLogGroup"
               ],
               "Resource": "arn:aws:logs:*:*:*"
           },
           {
               "Effect": "Allow",
               "Action": "mobiletargeting:SendMessages",
               "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "mobiletargeting:GetEndpoint",
                   "mobiletargeting:UpdateEndpoint",
                   "mobiletargeting:PutEvents"
               ],
               "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId/endpoints/*"
           },
           {
               "Effect": "Allow",
               "Action": "mobiletargeting:PhoneNumberValidate",
               "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:phone/number/validate"
           }
       ]
   }
   ```

------

   Pada contoh sebelumnya, lakukan hal berikut:
   + Ganti *region* dengan AWS Wilayah tempat Anda menggunakan Amazon Pinpoint, seperti `us-east-1` atau. `eu-central-1`
**Tip**  
Untuk daftar lengkap AWS Wilayah tempat Amazon Pinpoint tersedia, lihat [AWS wilayah dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/rande.html#pinpoint_region) di. *Referensi Umum AWS*
   + Ganti *accountId* dengan ID unik untuk AWS akun Anda.
   + Ganti *projectId* dengan ID unik proyek yang Anda buat di [Buat proyek Amazon Pinpoint dari tutorial](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project) ini.
**catatan**  
`logs`Tindakan memungkinkan Lambda untuk mencatat outputnya di CloudWatch Log.

1. Pilih **Berikutnya**.

1. Untuk **nama Kebijakan**, masukkan nama untuk kebijakan, seperti**RegistrationFormPolicy**. Pilih **Buat kebijakan**.

## Membuat peran IAM
<a name="tutorials-two-way-sms-part-2-create-role"></a>

**Untuk membuat peran**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di konsol IAM, di panel navigasi, pilih **Peran, lalu pilih **Buat** peran**.

1. Di bawah **Jenis entitas tepercaya**, pilih **AWS layanan**, lalu untuk **Layanan atau kasus pengguna** pilih **Lambda** dari daftar drop-down.

1. Pilih **Berikutnya**.

1. Di bawah **Kebijakan izin**, pilih atau cari kebijakan yang Anda buat di bagian sebelumnya, lalu pilih **Berikutnya**.

1. Di bawah **Detail peran****, untuk nama Peran**, masukkan nama untuk peran tersebut, seperti**SMSRegistrationForm**. Pilih **Buat peran**.

**Berikutnya**: [Buat fungsi Lambda](tutorials-two-way-sms-part-3.md)

# Buat fungsi Lambda untuk digunakan dengan pesan SMS Amazon Pinpoint
<a name="tutorials-two-way-sms-part-3"></a>

Bagian ini menunjukkan cara membuat dan mengonfigurasi dua fungsi Lambda untuk digunakan dengan pesan SMS Amazon Pinpoint. Kemudian, Anda menyiapkan API Gateway dan Amazon Pinpoint untuk menjalankan fungsi ini saat peristiwa tertentu terjadi. Kedua fungsi ini membuat dan memperbarui titik akhir dalam proyek Amazon Pinpoint yang Anda tentukan. Fungsi pertama juga menggunakan fitur validasi nomor telepon.

## Buat fungsi yang memvalidasi informasi pelanggan dan membuat titik akhir
<a name="tutorials-two-way-sms-part-3-create-register-function"></a>

Fungsi pertama mengambil input dari formulir pendaftaran Anda, yang diterimanya dari Amazon API Gateway Ini menggunakan informasi ini untuk mendapatkan informasi tentang nomor telepon pelanggan dengan menggunakan fitur [validasi nomor telepon](https://docs.aws.amazon.com/pinpoint/latest/developerguide/validate-phone-numbers.html) Amazon Pinpoint. Fungsi tersebut kemudian menggunakan data yang divalidasi untuk membuat titik akhir baru dalam proyek Amazon Pinpoint yang Anda tentukan. Secara default, titik akhir yang dibuat fungsi dipilih keluar dari komunikasi future dari Anda, tetapi status ini dapat diubah oleh fungsi kedua. Akhirnya, fungsi ini mengirimkan pesan kepada pelanggan yang meminta mereka untuk memverifikasi bahwa mereka ingin menerima komunikasi SMS dari Anda.

**Untuk membuat fungsi Lambda**

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. Di bawah **Buat fungsi**, pilih **Gunakan cetak biru**.

1. Di bidang pencarian, masukkan**hello**, lalu tekan Enter. Dalam daftar hasil, pilih fungsi `hello-world` Node.js, seperti yang ditunjukkan pada gambar berikut.   
![\[Halaman fungsi Buat menampilkan Gunakan cetak biru yang dipilih.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_LAM_Step1.5.png)

1. Di bagian **Informasi dasar**, lakukan hal berikut:
   + Untuk **Nama**, masukkan nama untuk fungsi tersebut, seperti**RegistrationForm**.
   + Untuk **Peran**, pilih **Pilih peran yang sudah ada**.
   + Untuk **peran yang ada**, pilih peran **SMSRegistrationFormulir** yang Anda buat di [Buat peran IAM](tutorials-two-way-sms-part-2.md#tutorials-two-way-sms-part-2-create-role).

   Setelah selesai, pilih **Create function**.

1. Untuk **Sumber kode** hapus fungsi sampel di editor kode, lalu tempel kode berikut:

   ```
   import { PinpointClient, PhoneNumberValidateCommand, UpdateEndpointCommand, SendMessagesCommand } from "@aws-sdk/client-pinpoint"; // ES Modules import
   const pinClient = new PinpointClient({region: process.env.region});  
   
   // Make sure the SMS channel is enabled for the projectId that you specify.
   // See: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-setup.html
   var projectId = process.env.projectId;
   
   // You need a dedicated long code in order to use two-way SMS. 
   // See: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-voice-manage.html#channels-voice-manage-request-phone-numbers
   var originationNumber = process.env.originationNumber;
   
   // This message is spread across multiple lines for improved readability.
   var message = "ExampleCorp: Reply YES to confirm your subscription. 2 msgs per "
               + "month. No purchase req'd. Msg&data rates may apply. Terms: "
               + "example.com/terms-sms";
               
   var messageType = "TRANSACTIONAL";
   
   export const handler = async (event, context) => {
     console.log('Received event:', event);
     await validateNumber(event);
   };
   
   async function validateNumber (event) {
     var destinationNumber = event.destinationNumber;
     if (destinationNumber.length == 10) {
       destinationNumber = "+1" + destinationNumber;
     }
     var params = {
       NumberValidateRequest: {
         IsoCountryCode: 'US',
         PhoneNumber: destinationNumber
       }
     };
     try{
       const PhoneNumberValidateresponse = await pinClient.send( new  PhoneNumberValidateCommand(params));
       console.log(PhoneNumberValidateresponse);
        if (PhoneNumberValidateresponse['NumberValidateResponse']['PhoneTypeCode'] == 0) {
           await createEndpoint(PhoneNumberValidateresponse, event.firstName, event.lastName, event.source);
           
         } else {
           console.log("Received a phone number that isn't capable of receiving "
                      +"SMS messages. No endpoint created.");
         }
     }catch(err){
       console.log(err);
     }
   }
   
   async function createEndpoint(data, firstName, lastName, source) {
     var destinationNumber = data['NumberValidateResponse']['CleansedPhoneNumberE164'];
     var endpointId = data['NumberValidateResponse']['CleansedPhoneNumberE164'].substring(1);
     
     var params = {
       ApplicationId: projectId,
       // The Endpoint ID is equal to the cleansed phone number minus the leading
       // plus sign. This makes it easier to easily update the endpoint later.
       EndpointId: endpointId,
       EndpointRequest: {
         ChannelType: 'SMS',
         Address: destinationNumber,
         // OptOut is set to ALL (that is, endpoint is opted out of all messages)
         // because the recipient hasn't confirmed their subscription at this
         // point. When they confirm, a different Lambda function changes this 
         // value to NONE (not opted out).
         OptOut: 'ALL',
         Location: {
           PostalCode:data['NumberValidateResponse']['ZipCode'],
           City:data['NumberValidateResponse']['City'],
           Country:data['NumberValidateResponse']['CountryCodeIso2'],
         },
         Demographic: {
           Timezone:data['NumberValidateResponse']['Timezone']
         },
         Attributes: {
           Source: [
             source
           ]
         },
         User: {
           UserAttributes: {
             FirstName: [
               firstName
             ],
             LastName: [
               lastName
             ]
           }
         }
       }
     };
     try{
       const UpdateEndpointresponse = await pinClient.send(new UpdateEndpointCommand(params));
       console.log(UpdateEndpointresponse);
       await sendConfirmation(destinationNumber);
     }catch(err){
       console.log(err);
     }  
   }
   
   async function sendConfirmation(destinationNumber) {
     var params = {
       ApplicationId: projectId,
       MessageRequest: {
         Addresses: {
           [destinationNumber]: {
             ChannelType: 'SMS'
           }
         },
         MessageConfiguration: {
           SMSMessage: {
             Body: message,
             MessageType: messageType,
             OriginationNumber: originationNumber
           }
         }
       }
     };
     try{
       const SendMessagesCommandresponse = await pinClient.send(new SendMessagesCommand(params));
       console.log("Message sent! " 
             + SendMessagesCommandresponse['MessageResponse']['Result'][destinationNumber]['StatusMessage']);
     }catch(err){
       console.log(err);
     }
   }
   ```

1. Pada tab **Konfigurasi** untuk **variabel Lingkungan**, pilih **Edit** dan kemudian **Tambahkan variabel lingkungan**, lakukan hal berikut:
   + Di baris pertama, buat variabel dengan kunci dari**originationNumber**. Selanjutnya, atur nilainya ke nomor telepon kode panjang khusus yang Anda terima di [Langkah 1.2](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-set-up-channel).
**catatan**  
Pastikan untuk menyertakan tanda plus (\$1) dan kode negara untuk nomor telepon. Jangan sertakan karakter khusus lainnya, seperti tanda hubung (-), periode (.), atau tanda kurung.
   + Di baris kedua, buat variabel dengan kunci**projectId**. Selanjutnya, tetapkan nilai ke ID unik proyek yang Anda buat di [Langkah 1.1](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project).
   + Di baris ketiga, buat variabel dengan kunci**region**. Selanjutnya, tetapkan nilainya ke Wilayah tempat Anda menggunakan Amazon Pinpoint, seperti **us-east-1** atau. **us-west-2**

   Ketika Anda selesai, bagian **Variabel Lingkungan** harus menyerupai contoh yang ditunjukkan pada gambar berikut.  
![\[Variabel Lingkungan untuk OriginationNumber, ProjectID, dan region.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_LAM_Step1.7.png)

1. Di bagian atas halaman, pilih **Simpan**.

### Uji fungsi
<a name="tutorials-two-way-sms-part-3-create-register-function-test"></a>

Setelah Anda membuat fungsi, Anda harus mengujinya untuk memastikan bahwa itu dikonfigurasi dengan benar. Juga, pastikan bahwa peran IAM yang Anda buat memiliki izin yang sesuai.

**Untuk menguji fungsi**

1. Pilih tab **Uji**.

1. Pilih **Buat acara baru**, lakukan hal berikut:
   + Untuk **Nama peristiwa**, masukkan nama untuk peristiwa pengujian, seperti **MyPhoneNumber**.
   + Hapus kode contoh di editor kode. Tempel kode berikut:

     ```
     {
       "destinationNumber": "+12065550142",
       "firstName": "Carlos",
       "lastName": "Salazar",
       "source": "Registration form test"
     }
     ```
   + Dalam contoh kode sebelumnya, ganti nilai `destinationNumber``firstName`, dan `lastName` atribut dengan nilai yang ingin Anda gunakan untuk pengujian, seperti detail kontak pribadi Anda. Saat Anda menguji fungsi ini, ia mengirimkan pesan SMS ke nomor telepon yang Anda tentukan dalam `destinationNumber` atribut. Pastikan nomor telepon yang Anda tentukan dapat menerima pesan SMS.
   + Pilih **Buat**.

1. Pilih **Uji**.

1. Di bawah **Hasil eksekusi: berhasil**, pilih **Detail**. Di bagian **Keluaran log**, tinjau output dari fungsi tersebut. Pastikan fungsi berjalan tanpa kesalahan.

   Periksa perangkat yang terkait dengan `destinationNumber` yang Anda tentukan untuk memastikan bahwa perangkat tersebut menerima pesan pengujian.

1. Buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Pada halaman **Semua proyek**, pilih proyek yang Anda buat di [Buat proyek Amazon Pinpoint](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project).

1. Di panel navigasi, pilih **Segmen**. Pada **halaman Segmen**, pilih **Buat segmen**.

1. Di **Segmen grup 1**, di bawah **Tambahkan filter untuk menyempurnakan segmen Anda**, pilih **Filter menurut pengguna**.

1. Untuk **Pilih atribut pengguna**, pilih **FirstName**. Kemudian, untuk **Pilih nilai**, pilih nama depan yang Anda tentukan dalam acara pengujian.

   Bagian **estimasi Segmen** harus menunjukkan bahwa tidak ada titik akhir yang memenuhi syarat, dan satu titik akhir total, seperti yang ditunjukkan pada gambar berikut. Hasil ini diharapkan. Saat fungsi membuat titik akhir baru, titik akhir dipilih keluar. Segmen di Amazon Pinpoint secara otomatis mengecualikan titik akhir yang dipilih keluar.  
![\[Grup segmen menunjukkan titik akhir nol.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_LAM_Step8.9.png)

## Buat fungsi yang memilih pelanggan untuk komunikasi Anda
<a name="tutorials-two-way-sms-part-3-create-optin-function"></a>

Fungsi kedua hanya dijalankan ketika pelanggan membalas pesan yang dikirim oleh fungsi pertama. Jika balasan pelanggan menyertakan kata kunci yang Anda tentukan dalam [Aktifkan SMS dua arah](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-set-up-channel), fungsi akan memperbarui catatan titik akhir mereka untuk memilih mereka dalam komunikasi future. Amazon Pinpoint juga secara otomatis merespons dengan pesan yang Anda tentukan di [Aktifkan](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-set-up-channel) SMS dua arah.

Jika pelanggan tidak merespons, atau merespons dengan apa pun selain kata kunci yang ditunjuk, maka tidak ada yang terjadi. Titik akhir pelanggan tetap berada di Amazon Pinpoint, tetapi tidak dapat ditargetkan berdasarkan segmen.

**Untuk membuat fungsi Lambda**

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. Di bawah **fungsi Create**, pilih **Blueprints**.

1. Di bidang pencarian, masukkan**hello**, lalu tekan Enter. Dalam daftar hasil, pilih fungsi `hello-world` Node.js, seperti yang ditunjukkan pada gambar berikut. Pilih **Konfigurasi**.

1. Di bagian **Informasi dasar**, lakukan hal berikut:
   + Untuk **Nama**, masukkan nama untuk fungsi tersebut, seperti**RegistrationForm\$1OptIn**.
   + Untuk **Peran**, pilih **Pilih peran yang sudah ada**.
   + Untuk **peran yang ada**, pilih peran SMSRegistration Formulir yang Anda buat di [Buat peran IAM](tutorials-two-way-sms-part-2.md#tutorials-two-way-sms-part-2-create-role).

   Setelah selesai, pilih **Create function**.

1. Hapus fungsi sampel di editor kode, lalu tempel kode berikut:

   ```
   import { PinpointClient, UpdateEndpointCommand } from "@aws-sdk/client-pinpoint"; // ES Modules import
   
   // Create a new Pinpoint client instance with the region specified in the environment variables
   const pinClient = new PinpointClient({ region: process.env.region });
   
   // Get the Pinpoint project ID and the confirm keyword from environment variables
   const projectId = process.env.projectId;
   const confirmKeyword = process.env.confirmKeyword.toLowerCase();
   
   // This is the main handler function that is invoked when the Lambda function is triggered
   export const handler = async (event, context) => {
       console.log('Received event:', event);
   
       try {
           // Extract the timestamp, message, and origination number from the SNS event
           const timestamp = event.Records[0].Sns.Timestamp;
           const message = JSON.parse(event.Records[0].Sns.Message);
           const originationNumber = message.originationNumber;
           const response = message.messageBody.toLowerCase();
   
           // Check if the response message contains the confirm keyword
           if (response.includes(confirmKeyword)) {
               // If the confirm keyword is found, update the endpoint's opt-in status
               await updateEndpointOptIn(originationNumber, timestamp);
           }
       }catch (error) {
           console.error('An error occurred:', error);
           throw error; // Rethrow the error to handle it upstream
       }
   };
   
   // This function updates the opt-in status of a Pinpoint endpoint
   async function updateEndpointOptIn(originationNumber, timestamp) {
       // Extract the endpoint ID from the origination number
       const endpointId = originationNumber.substring(1);
   
        // Prepare the parameters for the UpdateEndpointCommand
       const params = {
           ApplicationId: projectId,
           EndpointId: endpointId,
           EndpointRequest: {
               Address: originationNumber,
               ChannelType: 'SMS',
               OptOut: 'NONE',
               Attributes: {
                   OptInTimestamp: [timestamp]
               },
           }
       };
   
       try {
           // Send the UpdateEndpointCommand to update the endpoint's opt-in status
           const updateEndpointResponse = await pinClient.send(new UpdateEndpointCommand(params));
           console.log(updateEndpointResponse);
           console.log(`Successfully changed the opt status of endpoint ID ${endpointId}`);
       } catch (error) {
           console.error('An error occurred while updating endpoint:', error);
           throw error; // Rethrow the error to handle it upstream
       }
   }
   ```

1. Di bawah **variabel Lingkungan**, lakukan hal berikut:
   + Di baris pertama, buat variabel dengan kunci dari**projectId**. Selanjutnya, tetapkan nilai ke ID unik proyek yang Anda buat di [Buat proyek Amazon Pinpoint](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project).
   + Di baris kedua, buat variabel dengan kunci**region**. Selanjutnya, tetapkan nilainya ke Wilayah tempat Anda menggunakan Amazon Pinpoint, seperti **us-east-1** atau. **us-west-2**
   + Di baris ketiga, buat variabel dengan kunci**confirmKeyword**. Selanjutnya, atur nilai ke kata kunci konfirmasi yang Anda buat di [Aktifkan SMS dua arah](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-set-up-channel).
**catatan**  
Kata kunci tidak peka huruf besar/kecil. Fungsi ini mengubah pesan masuk ke huruf kecil.

   Ketika Anda selesai, bagian **Variabel Lingkungan** harus menyerupai contoh yang ditunjukkan pada gambar berikut.  
![\[Variabel Lingkungan untuk ProjectID, region, dan confirmKeyword.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_LAM_Step2.7.png)

1. Di bagian atas halaman, pilih **Simpan**.

### Uji fungsi
<a name="tutorials-two-way-sms-part-3-create-optin-function-test"></a>

Setelah Anda membuat fungsi, Anda harus mengujinya untuk memastikan bahwa itu dikonfigurasi dengan benar. Juga, pastikan bahwa peran IAM yang Anda buat memiliki izin yang sesuai.

**Untuk menguji fungsi**

1. Pilih **Uji**.

1. Pada jendela **Configure test event**, lakukan hal berikut:

   1. Pilih **Buat peristiwa pengujian baru**.

   1. Untuk **Nama peristiwa**, masukkan nama untuk peristiwa pengujian, seperti **MyResponse**.

   1. Hapus kode contoh di editor kode. Tempel kode berikut:

      ```
      {
        "Records":[
          {
            "Sns":{
              "Message":"{\"originationNumber\":\"+12065550142\",\"messageBody\":\"Yes\"}",
              "Timestamp":"2019-02-20T17:47:44.147Z"
            }
          }
        ]
      }
      ```

      Dalam contoh kode sebelumnya, ganti nilai `originationNumber` atribut dengan nomor telepon yang Anda gunakan saat menguji fungsi Lambda sebelumnya. Ganti nilai `messageBody` dengan kata kunci SMS dua arah yang Anda tentukan di [Aktifkan SMS dua arah](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-enable-two-way). Secara opsional, Anda dapat mengganti nilai `Timestamp` dengan tanggal dan waktu saat ini.

   1. Pilih **Buat**.

1. Pilih **Uji**Lagi.

1. Di bawah **Hasil eksekusi: berhasil**, pilih **Detail**. Di bagian **Keluaran log**, tinjau output dari fungsi tersebut. Pastikan fungsi berjalan tanpa kesalahan.

1. Buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Pada halaman **Semua proyek**, pilih proyek yang Anda buat di [Buat proyek Amazon Pinpoint](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project).

1. Di panel navigasi, pilih **Segmen**. Pada **halaman Segmen**, pilih **Buat segmen**.

1. Di **Segmen grup 1**, di bawah **Tambahkan filter untuk menyempurnakan segmen Anda**, pilih **Filter menurut pengguna**.

1. Untuk **Pilih atribut pengguna**, pilih **FirstName**. Kemudian, untuk **Pilih nilai**, pilih nama depan yang Anda tentukan dalam acara pengujian.

   Bagian **estimasi Segmen** harus menunjukkan bahwa ada satu titik akhir yang memenuhi syarat, dan satu titik akhir total.

**Berikutnya**: [Mengatur Amazon API Gateway](tutorials-two-way-sms-part-4.md)

# Siapkan Amazon API Gateway untuk pesan SMS di Amazon Pinpoint
<a name="tutorials-two-way-sms-part-4"></a>

Di bagian ini, Anda membuat API baru dengan menggunakan Amazon API Gateway sebagai bagian dari pendaftaran SMS untuk Amazon Pinpoint. Formulir pendaftaran yang Anda terapkan dalam solusi ini memanggil API ini. API Gateway kemudian meneruskan informasi yang diambil pada formulir pendaftaran ke fungsi Lambda yang Anda buat dalam fungsi Buat [Lambda](tutorials-two-way-sms-part-3.md).

## Buat API
<a name="tutorials-two-way-sms-part-4-create-api"></a>

Pertama, Anda harus membuat API baru di API Gateway. Prosedur berikut menunjukkan cara membuat REST API baru.

**Untuk membuat API baru**

1. Buka konsol API Gateway di [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Pilih **Buat API**. Buat pilihan berikut:
   + Di bawah **Pilih protokol**, pilih **REST**.
   + Di bawah **Create new API**, pilih **New API**.
   + Di bawah **Pengaturan**, untuk **Nama**, masukkan nama, seperti**RegistrationForm**. Untuk **Deskripsi**, secara opsional masukkan beberapa teks yang menjelaskan tujuan API. Untuk **Jenis Titik Akhir**, pilih **Regional**. Kemudian, pilih **Create API**.

   Contoh pengaturan ini ditunjukkan pada gambar berikut.  
![\[Protokol disetel ke REST, Buat API baru yang disetel ke API Baru, nama API disetel ke RegistrationForm, dan Jenis Titik Akhir disetel ke Regional.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step2.png)

## Buat sumber daya
<a name="tutorials-two-way-sms-part-4-create-resource"></a>

Sekarang setelah Anda membuat API, Anda dapat mulai menambahkan sumber daya ke dalamnya. Setelah itu, Anda menambahkan metode POST ke sumber daya, dan memberi tahu API Gateway untuk meneruskan data yang Anda terima dari metode ini ke fungsi Lambda Anda.

1. Pada menu **Tindakan**, pilih **Buat Sumber Daya**. Di panel **Sumber Daya Anak Baru**, untuk **Nama Sumber Daya**, masukkan**register**, seperti yang ditunjukkan pada gambar berikut. Pilih **Buat Sumber Daya**.  
![\[Panel sumber daya anak baru dengan nama sumber daya ditetapkan untuk mendaftar.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step3.png)

1. Pada menu **Actions**, pilih **Create Method**. Dari menu yang muncul, pilih **POST**, seperti yang ditunjukkan pada gambar berikut. Kemudian pilih tombol **tanda centang**.  
![\[Panel metode buat dengan tanda centang dipilih.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step4.png)

1. Di panel **/register - POST - Setup**, buat pilihan berikut:
   + Untuk **jenis Integrasi**, pilih Fungsi **Lambda**.
   + Pilih **Gunakan Integrasi Proxy Lambda**.
   + Untuk **Wilayah Lambda**, pilih Wilayah tempat Anda membuat fungsi Lambda.
   + Untuk Fungsi **Lambda, pilih fungsi** yang Anda buat dalam RegisterEndpoint fungsi Buat [Lambda](tutorials-two-way-sms-part-3.md).

   Contoh pengaturan ini ditunjukkan pada gambar berikut.  
![\[Panel /register - POST - Pengaturan dengan Fungsi Lambda dipilih.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step5.png)

   Pilih **Simpan**. Pada jendela yang muncul, pilih **OK** untuk memberikan izin API Gateway untuk menjalankan fungsi Lambda Anda.

## Terapkan API
<a name="tutorials-two-way-sms-part-4-deploy-api"></a>

API sekarang siap digunakan. Pada titik ini, Anda harus menerapkannya untuk membuat titik akhir yang dapat diakses publik.

1. Pada menu **Tindakan**, pilih **Deploy API**. Pada jendela **Deploy API**, buat pilihan berikut:
   + Untuk **tahap Deployment**, pilih **[New Stage]**.
   + Untuk **nama Panggung**, masukkan**v1**.
   + Pilih **Deploy**.

   Contoh pilihan ini ditunjukkan pada gambar berikut.  
![\[Jendela API penerapan dengan nama Panggung disetel ke v1\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step6.png)

1. **Di panel **Editor Tahap v1**, pilih sumber daya **/register**, lalu pilih metode POST.** Salin alamat yang ditampilkan di sebelah **URL Invoke**, seperti yang ditunjukkan pada gambar berikut.  
![\[Panel Editor Tahap v1 yang menampilkan URL Invoke untuk disalin\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step7.png)

1. Pada panel navigasi, silakan pilih **Sumber Daya**. Dalam daftar sumber daya, pilih sumber daya **/register**. Terakhir, pada menu **Tindakan**, pilih **Aktifkan CORS**, seperti yang ditunjukkan pada gambar berikut.  
![\[Menu tarik-turun untuk Tindakan, menunjukkan Aktifkan CORS dipilih\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_APIGW_Step8.png)

1. Pada panel **Aktifkan CORS**, pilih **Aktifkan CORS dan ganti header CORS yang ada**.

**Berikutnya**: [Membuat dan menyebarkan formulir web](tutorials-two-way-sms-part-5.md)

# Membuat dan menyebarkan formulir web untuk menggunakan pesan SMS untuk Amazon Pinpoint
<a name="tutorials-two-way-sms-part-5"></a>

Semua komponen yang menggunakan AWS layanan untuk pesan SMS menggunakan Amazon Pinpoint sekarang tersedia. Langkah terakhir adalah membuat dan menyebarkan formulir web yang menangkap data pelanggan.

## Buat JavaScript handler formulir
<a name="tutorials-two-way-sms-part-5-create-form-handler"></a>

Di bagian ini, Anda membuat JavaScript fungsi yang mem-parsing konten formulir web yang Anda buat di bagian berikutnya. Setelah mengurai konten, fungsi ini mengirimkan data ke API yang Anda buat di [Mengatur Amazon API Gateway](tutorials-two-way-sms-part-4.md).

**Untuk membuat handler formulir**

1. Di editor teks, buat file baru.

1. Di editor, tempel kode berikut.

   ```
   $(document).ready(function() {
   
     // Handle form submission.
     $("#submit").click(function(e) {
   
       var firstName = $("#firstName").val(),
           lastName = $("#lastName").val(),
           source = window.location.pathname,
           optTimestamp = undefined,
           utcSeconds = Date.now() / 1000,
           timestamp = new Date(0),
           phone = $("#areaCode").val()
                 + $("#phone1").val()
                 + $("#phone2").val();
   
       e.preventDefault();
   
       if (firstName == "") {
         $('#form-response').html('<div class="mt-3 alert alert-info" role="alert">Please enter your first name.</div>');
       } else if (lastName == "") {
         $('#form-response').html('<div class="mt-3 alert alert-info" role="alert">Please enter your last name.</div>');
       } else if (phone.match(/[^0-9]/gi)) {
         $('#form-response').html('<div class="mt-3 alert alert-info" role="alert">Your phone number contains invalid characters. Please check the phone number that you supplied.</div>');
       } else if (phone.length < 10) {
         $('#form-response').html('<div class="mt-3 alert alert-info" role="alert">Please enter your phone number.</div>');
       } else if (phone.length > 10) {
         $('#form-response').html('<div class="mt-3 alert alert-info" role="alert">Your phone number contains too many digits. Please check the phone number that you supplied.</div>');
       } else {
         $('#submit').prop('disabled', true);
         $('#submit').html('<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>  Saving your preferences</button>');
   
         timestamp.setUTCSeconds(utcSeconds);
   
         var data = JSON.stringify({
           'destinationNumber': phone,
           'firstName': firstName,
           'lastName': lastName,
           'source': source,
           'optTimestamp': timestamp.toString()
         });
   
         $.ajax({
           type: 'POST',
           url: 'https://example.execute-api.us-east-1.amazonaws.com/v1/register',
           contentType: 'application/json',
           data: data,
           success: function(res) {
             $('#form-response').html('<div class="mt-3 alert alert-success" role="alert"><p>Congratulations! You&apos;ve successfully registered for SMS Alerts from ExampleCorp.</p><p>We just sent you a message. Follow the instructions in the message to confirm your subscription. We won&apos;t send any additional messages until we receive your confirmation.</p><p>If you decide you don&apos;t want to receive any additional messages from us, just reply to one of our messages with the keyword STOP.</p></div>');
             $('#submit').prop('hidden', true);
             $('#unsubAll').prop('hidden', true);
             $('#submit').text('Preferences saved!');
           },
           error: function(jqxhr, status, exception) {
             $('#form-response').html('<div class="mt-3 alert alert-danger" role="alert">An error occurred. Please try again later.</div>');
             $('#submit').text('Save preferences');
             $('#submit').prop('disabled', false);
           }
         });
       }
     });
   });
   ```

1. Pada contoh sebelumnya, ganti *https://example.execute-api.us-east-1.amazonaws.com/v1/register* dengan URL Invoke yang Anda peroleh di [Deploy](tutorials-two-way-sms-part-4.md#tutorials-two-way-sms-part-4-deploy-api) API.

1. Simpan file tersebut.

## Buat file formulir
<a name="tutorials-two-way-sms-part-5-create-form"></a>

Di bagian ini, Anda membuat file HTML yang berisi formulir yang digunakan pelanggan untuk mendaftar program SMS Anda. File ini menggunakan penangan JavaScript formulir yang Anda buat di bagian sebelumnya untuk mengirimkan data formulir ke fungsi Lambda Anda.

**penting**  
Ketika pengguna mengirimkan formulir ini, itu memicu fungsi Lambda yang memanggil beberapa operasi Amazon Pinpoint API. Pengguna jahat dapat meluncurkan serangan pada formulir Anda yang dapat menyebabkan sejumlah besar permintaan dibuat. Jika Anda berencana untuk menggunakan solusi ini untuk kasus penggunaan produksi, Anda harus mengamankannya dengan menggunakan sistem seperti [Google reCAPTCHA](https://www.google.com/recaptcha/about/).

**Untuk membuat formulir**

1. Di editor teks, buat file baru.

1. Di editor, tempel kode berikut.

   ```
   <!doctype html>
   <html lang="en">
   
   <head>
     <!-- Meta tags required by Bootstrap -->
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
   
     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
     <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
   
     <script type="text/javascript" src="SMSFormHandler.js"></script>
     <title>SMS Registration Form</title>
   </head>
   
   <body>
     <div class="container">
       <div class="row justify-content-center mt-3">
         <div class="col-md-6">
           <h1>Register for SMS Alerts</h1>
           <p>Enter your phone number below to sign up for PromotionName messages from ExampleCorp.</p>
           <p>We don't share your contact information with anyone else. For more information, see our <a href="http://example.com/privacy">Privacy Policy</a>.</p>
           <p>ExampleCorp alerts are only available to recipients in the United States.</p>
         </div>
       </div>
       <div class="row justify-content-center">
         <div class="col-md-6">
           <form>
             <div class="form-group">
               <label for="firstName" class="font-weight-bold">First name</label>
               <input type="text" class="form-control" id="firstName" placeholder="Your first name" required>
             </div>
             <div class="form-group">
               <label for="lastName" class="font-weight-bold">Last name</label>
               <input type="text" class="form-control" id="lastName" placeholder="Your last name" required>
             </div>
             <label for="areaCode" class="font-weight-bold">Phone number</label>
             <div class="input-group">
               <span class="h3">(&nbsp;</span>
               <input type="tel" class="form-control" id="areaCode" placeholder="Area code" required>
               <span class="h3">&nbsp;)&nbsp;</span>
               <input type="tel" class="form-control" id="phone1" placeholder="555" required>
               <span class="h3">&nbsp;-&nbsp;</span>
               <input type="tel" class="form-control" id="phone2" placeholder="0199" required>
             </div>
             <div id="form-response"></div>
             <button id="submit" type="submit" class="btn btn-primary btn-block mt-3">Submit</button>
           </form>
         </div>
       </div>
       <div class="row mt-3">
         <div class="col-md-12 text-center">
           <small class="text-muted">Copyright © 2019, ExampleCorp or its affiliates.</small>
         </div>
       </div>
     </div>
   </body>
   
   </html>
   ```

1. Pada contoh sebelumnya, ganti *SMSFormHandler.js* dengan path lengkap ke JavaScript file handler formulir yang Anda buat di bagian sebelumnya.

1. Simpan file tersebut.

## Unggah file formulir
<a name="tutorials-two-way-sms-part-5-upload-form"></a>

Sekarang Anda telah membuat formulir HTML dan penangan JavaScript formulir, langkah terakhir adalah mempublikasikan file-file ini ke internet. Bagian ini mengasumsikan bahwa Anda memiliki penyedia hosting web yang ada. Jika Anda tidak memiliki penyedia hosting yang ada, Anda dapat meluncurkan situs web dengan menggunakan Amazon Route 53, Amazon Simple Storage Service (Amazon S3), dan Amazon. CloudFront Untuk informasi selengkapnya, lihat [Menghosting situs web statis](https://aws.amazon.com/getting-started/hands-on/host-static-website/).

Jika Anda menggunakan penyedia hosting web lain, konsultasikan dokumentasi penyedia untuk informasi lebih lanjut tentang penerbitan halaman web.

## Uji formulir
<a name="tutorials-two-way-sms-part-5-test-form"></a>

Setelah Anda mempublikasikan formulir, Anda harus mengirimkan beberapa acara pengujian untuk memastikan bahwa itu berfungsi seperti yang diharapkan.

**Untuk menguji formulir pendaftaran**

1. Di browser web, buka lokasi di mana Anda mengunggah formulir pendaftaran. Jika Anda menggunakan contoh kode dari [Buat penangan JavaScript formulir](#tutorials-two-way-sms-part-5-create-form), Anda melihat formulir yang menyerupai contoh pada gambar berikut.  
![\[Formulir permintaan pelanggan dibuat pada langkah 5.1.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_Form_Step5.3.1.png)

1. Masukkan informasi kontak Anda di kolom **Nama depan**, **Nama belakang**, dan **Nomor telepon**.
**catatan**  
Saat Anda mengirimkan formulir, Amazon Pinpoint mencoba mengirim pesan ke nomor telepon yang Anda tentukan. Karena fungsi ini, Anda harus menggunakan nomor telepon asli untuk menguji solusi dari awal hingga akhir.  
Jika Anda menguji fungsi Lambda dalam fungsi Buat [Lambda](tutorials-two-way-sms-part-3.md), proyek Amazon Pinpoint Anda sudah berisi setidaknya satu titik akhir. Saat menguji formulir ini, Anda harus mengirimkan nomor telepon yang berbeda pada formulir, atau menghapus titik akhir yang ada dengan menggunakan operasi [DeleteEndpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html#DeleteEndpoint)API.

1. Periksa perangkat yang terkait dengan nomor telepon yang Anda tentukan untuk memastikan bahwa itu menerima pesan.

1. Buka konsol Amazon Pinpoint di. [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. Pada halaman **Semua proyek**, pilih proyek yang Anda buat di [Buat proyek Amazon Pinpoint](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-create-project).

1. Di panel navigasi, pilih **Segmen**. Pada **halaman Segmen**, pilih **Buat segmen**.

1. Di **Segmen grup 1**, di bawah **Tambahkan filter untuk menyempurnakan segmen Anda**, pilih **Filter menurut pengguna**.

1. Untuk **Pilih atribut pengguna**, pilih **FirstName**. Kemudian, untuk **Pilih nilai**, pilih nama depan yang Anda tentukan saat Anda mengirimkan formulir.

   Bagian **estimasi Segmen** harus menunjukkan bahwa tidak ada titik akhir yang memenuhi syarat, dan satu titik akhir (di bawah Total titik akhir), seperti yang ditunjukkan pada contoh berikut. Hasil ini diharapkan. Saat fungsi Lambda membuat titik akhir baru, titik akhir dipilih keluar secara default.  
![\[Segmen dengan nol dipilih di titik akhir.\]](http://docs.aws.amazon.com/id_id/pinpoint/latest/userguide/images/SMS_Reg_Tutorial_LAM_Step8.9.png)

1. Pada perangkat yang menerima pesan, balas pesan dengan kata kunci SMS dua arah yang Anda tentukan di [Aktifkan SMS dua arah](tutorials-two-way-sms-part-1.md#tutorials-two-way-sms-part-1-enable-two-way). Amazon Pinpoint segera mengirimkan pesan respons.

1. Di konsol Amazon Pinpoint, ulangi langkah 4 hingga 8. Kali ini, saat Anda membuat segmen, Anda akan melihat satu titik akhir yang memenuhi syarat, dan satu titik akhir total. Hasil ini diharapkan, karena titik akhir sekarang dipilih.

# Langkah selanjutnya
<a name="tutorials-two-way-sms-next-steps"></a>

Dengan menyelesaikan tutorial ini, Anda telah melakukan hal berikut:
+ Membuat proyek Amazon Pinpoint, mengkonfigurasi saluran SMS, dan memperoleh kode panjang khusus.
+ Membuat kebijakan IAM yang menggunakan hak istimewa paling kecil untuk memberikan hak akses, dan mengaitkan kebijakan itu dengan peran.
+ Membuat dua fungsi Lambda yang menggunakan PhoneNumberValidate, UpdateEndpoint, dan SendMessages operasi di Amazon Pinpoint API.
+ Membuat REST API menggunakan API Gateway.
+ Membuat dan menyebarkan formulir berbasis web yang mengumpulkan informasi kontak pelanggan.
+ Melakukan tes pada solusi untuk memastikannya bekerja.

Bagian ini membahas beberapa cara agar Anda dapat menggunakan informasi pelanggan yang Anda kumpulkan dengan menggunakan solusi ini. Ini juga mencakup beberapa saran cara Anda dapat menyesuaikan solusi ini agar sesuai dengan kasus penggunaan unik Anda.

## Buat segmen pelanggan
<a name="tutorials-two-way-sms-next-steps-create-segments"></a>

Semua detail pelanggan yang Anda kumpulkan melalui formulir ini disimpan sebagai titik akhir. Solusi ini menciptakan titik akhir yang berisi beberapa atribut yang dapat Anda gunakan untuk tujuan segmentasi.

Misalnya, solusi ini menangkap atribut endpoint yang disebut. `Source` Atribut ini berisi path lengkap ke lokasi di mana formulir di-host. Saat Anda membuat segmen, Anda dapat memfilter segmen berdasarkan titik akhir, dan kemudian menyaring filter lebih lanjut dengan memilih `Source` atribut.

Membuat segmen berdasarkan `Source` atribut dapat berguna dalam beberapa cara. Pertama, ini memungkinkan Anda untuk dengan cepat membuat segmen pelanggan yang mendaftar untuk menerima pesan SMS dari Anda. Selain itu, alat segmentasi di Amazon Pinpoint secara otomatis mengecualikan titik akhir yang tidak dipilih untuk menerima pesan.

`Source`Atribut ini juga berguna jika Anda memutuskan untuk meng-host formulir pendaftaran di beberapa lokasi berbeda. Misalnya, materi pemasaran Anda dapat merujuk ke formulir yang di-host di satu lokasi, sementara pelanggan yang menemukan formulir saat menjelajahi situs web Anda dapat melihat versi yang di-host di tempat lain. Ketika Anda melakukan ini, atribut Sumber untuk pelanggan yang mengisi formulir setelah melihat materi pemasaran Anda berbeda dari mereka yang mengisi formulir setelah menemukannya di situs web Anda. Anda dapat menggunakan perbedaan ini untuk membuat segmen yang berbeda, dan kemudian mengirim komunikasi yang disesuaikan ke masing-masing audiens tersebut.

## Kirim pesan kampanye yang dipersonalisasi
<a name="tutorials-two-way-sms-next-steps-send-campaigns"></a>

Setelah membuat segmen, Anda dapat mulai mengirim kampanye ke segmen tersebut. Saat membuat pesan kampanye, Anda dapat mempersonalisasikannya dengan menentukan atribut titik akhir yang ingin Anda sertakan dalam pesan. Misalnya, formulir web yang digunakan dalam solusi ini mengharuskan pelanggan untuk memasukkan nama depan dan belakang mereka. Nilai-nilai ini disimpan dalam catatan pengguna yang terkait dengan titik akhir.

Misalnya, jika Anda menggunakan operasi `GetEndpoint` API untuk mengambil informasi tentang titik akhir yang dibuat menggunakan solusi ini, Anda akan melihat bagian yang menyerupai contoh berikut:

```
  ...
  "User": {
    "UserAttributes": {
      "FirstName": [
        "Carlos"
      ],
      "LastName": [
        "Salazar"
      ]
    }
  }
  ...
```

Jika Anda ingin menyertakan nilai atribut ini dalam pesan kampanye, Anda dapat menggunakan notasi titik untuk merujuk ke atribut. Kemudian lampirkan seluruh referensi dalam kawat gigi keriting ganda. Misalnya, untuk menyertakan nama depan setiap penerima dalam pesan kampanye, sertakan string berikut dalam pesan:`{{User.UserAttributes.FirstName}}`. Ketika Amazon Pinpoint mengirim pesan, itu menggantikan string dengan nilai atribut. `FirstName`

## Gunakan formulir untuk mengumpulkan informasi tambahan
<a name="tutorials-two-way-sms-next-steps-collect-additional"></a>

Anda dapat memodifikasi solusi ini untuk mengumpulkan informasi tambahan pada formulir pendaftaran. Misalnya, Anda dapat meminta pelanggan untuk memberikan alamat mereka, dan kemudian menggunakan data alamat untuk mengisi`Location.City`,, `Location.Country``Location.Region`, dan `Location.PostalCode` bidang di `Endpoint` sumber daya. Mengumpulkan informasi alamat pada formulir pendaftaran dapat menghasilkan titik akhir yang berisi informasi yang lebih akurat. Untuk membuat perubahan ini, Anda perlu menambahkan bidang yang sesuai ke formulir web. Anda juga harus memodifikasi JavaScript kode untuk formulir untuk meneruskan nilai baru. Terakhir, Anda harus memodifikasi fungsi Lambda yang membuat titik akhir untuk menangani informasi baru yang masuk.

Anda juga dapat memodifikasi formulir sehingga mengumpulkan informasi kontak di saluran lain. Misalnya, Anda dapat menggunakan formulir untuk mengumpulkan alamat email pelanggan selain nomor telepon mereka. Untuk membuat perubahan ini, Anda perlu memodifikasi HTML dan JavaScript untuk formulir web. Anda juga harus memodifikasi fungsi Lambda yang membuat titik akhir sehingga menciptakan dua titik akhir terpisah (satu untuk titik akhir email, dan satu untuk titik akhir SMS). Anda juga harus memodifikasi fungsi Lambda sehingga menghasilkan nilai unik untuk `User.UserId` atribut, dan kemudian mengaitkan nilai itu dengan kedua titik akhir.

## Catat atribut tambahan untuk tujuan audit
<a name="tutorials-two-way-sms-next-steps-auditing"></a>

Solusi ini mencatat dua atribut berharga saat membuat dan memperbarui titik akhir. Pertama, ketika fungsi Lambda pertama awalnya membuat titik akhir, ia mencatat URL formulir itu sendiri dalam atribut. `Attributes.Source` Jika pelanggan merespons pesan, fungsi Lambda kedua membuat `Attributes.OptInTimestamp` atribut. Atribut ini berisi tanggal dan waktu yang tepat ketika pelanggan memberikan persetujuan mereka untuk menerima pesan dari Anda.

Kedua bidang ini dapat berguna jika Anda pernah diminta oleh operator seluler atau badan pengatur untuk memberikan bukti persetujuan pelanggan. Anda dapat mengambil informasi ini kapan saja dengan menggunakan operasi [GetEndpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html#GetEndpoint)API.

Anda juga dapat memodifikasi fungsi Lambda untuk merekam data tambahan yang mungkin berguna untuk tujuan audit, seperti alamat IP tempat permintaan pendaftaran dikirimkan.