

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

# Contoh pengiriman SMS atau pesan suara menggunakan SMS AWS End User Messaging
<a name="send-sms-voice-message"></a>

Anda dapat menggunakan AWS End User Messaging SMS API untuk mengirim pesan langsung dari aplikasi Anda. Pesan transaksional adalah pesan yang Anda kirim ke penerima tertentu.

Bagian ini mencakup contoh kode untuk mengirim [pesan SMS](#sms-voice-v2-messages-sms) dan [pesan suara](#sms-voice-v2-messages-voice).

**penting**  
Untuk menggunakan sumber daya bersama, Anda harus menggunakan Nama Sumber Daya Amazon (ARN) lengkap.

**Topics**
+ [Mengirim pesan SMS menggunakan SMS AWS End User Messaging](#sms-voice-v2-messages-sms)
+ [Mengirim pesan suara menggunakan SMS Pesan Pengguna AWS Akhir](#sms-voice-v2-messages-voice)

## Mengirim pesan SMS menggunakan SMS AWS End User Messaging
<a name="sms-voice-v2-messages-sms"></a>

Jika Anda menggunakan sumber daya bersama maka Anda harus menggunakan Nama Sumber Daya Amazon (ARN) lengkap dari sumber daya tersebut. Anda dapat menggunakan contoh kode berikut untuk mengirim pesan SMS menggunakan file AWS SDK untuk Python (Boto3).

```
import boto3
from botocore.exceptions import ClientError


def send_sms_message(sms_voice_v2_client, configuration_set, context_keys,
                     country_parameters, destination_number, dry_run, keyword,
                     max_price, message_body, message_type, origination_number,
                     ttl):
    try:
        response = sms_voice_v2_client.send_text_message(
            ConfigurationSetName=configuration_set,
            Context=context_keys,
            DestinationCountryParameters=country_parameters,
            DestinationPhoneNumber=destination_number,
            DryRun=dry_run,
            Keyword=keyword,
            MaxPrice=max_price,
            MessageBody=message_body,
            MessageType=message_type,
            OriginationIdentity=origination_number,
            TimeToLive=ttl
        )

    except ClientError as e:
        print(e.response)
    else:
        return response['MessageId']


def main():
    configuration_set = "MyConfigurationSet"
    context_keys = {"key1": "value1"}
    country_parameters = {
        "IN_TEMPLATE_ID": "TEMPLATE01234",
        "IN_ENTITY_ID": "ENTITY98765"
    }
    destination_number = "+14255550168"
    dry_run = False
    keyword = "MyKeyword"
    max_price = "2.00"
    message_body = ("This is a test message sent from AWS End User Messaging SMS "
                    "using the AWS SDK for Python (Boto3). ")
    message_type = "TRANSACTIONAL"
    origination_number = "+12065550183"
    ttl = 120

    print(
        f"Sending text message to {destination_number}.")

    message_id = send_sms_message(
        boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys,
        country_parameters, destination_number, dry_run, keyword, max_price,
        message_body, message_type, origination_number, ttl)

    print(f"Message sent!\nMessage ID: {message_id}")


if __name__ == '__main__':
    main()
```

Dalam contoh kode sebelumnya, buat perubahan fungsi berikut: `main()`
+ Ubah nilai `configuration_set` ke nama atau Amazon Resource Name (ARN) dari set konfigurasi yang ingin Anda gunakan untuk mengirim pesan ini.
+ Ubah nilai `context_keys` ke kunci dan nilai yang ingin Anda gunakan saat mengirim pesan ini. Tombol ini muncul dalam catatan peristiwa yang terkait dengan pesan ini.
+ Jika Anda menggunakan ID pengirim terdaftar untuk mengirim pesan ke pelanggan di India, ubah nilainya `country_parameters` agar sesuai dengan ID Entitas terdaftar dan ID Templat yang Anda terima saat mendaftarkan ID pengirim Anda.
**penting**  
Jika Anda tidak menggunakan ID pengirim terdaftar untuk mengirim pesan ke pelanggan di India, hilangkan parameter ini sepenuhnya. Jika ya, Anda juga harus menghapus baris yang sesuai dalam `send_sms_message` fungsi.
+ Ubah nilai `destination_number` ke nomor telepon yang ingin Anda kirimi pesan.
+ Jika Anda ingin menjalankan operasi ini tanpa mengirim pesan apa pun, ubah nilai `dry_run` ke`True`.
+ Ubah nilai `max_price` ke jumlah maksimum uang yang ingin Anda belanjakan, dalam Dolar AS, untuk mengirim setiap bagian pesan pesan ini. Bagian pesan berisi hingga 140 byte informasi. Untuk informasi selengkapnya, lihat [Batas karakter SMS](sms-limitations-character.md).
+ Ubah nilai `message_body` untuk menyertakan pesan yang ingin Anda kirim. Panjang maksimum pesan tergantung pada karakter mana yang terkandung dalam pesan tersebut. Untuk informasi selengkapnya tentang pengkodean karakter SMS, lihat[Batas karakter SMS](sms-limitations-character.md).
+ Ubah nilai `message_type` untuk mewakili kategori pesan yang sesuai. Nilai yang valid adalah TRANSAKSIONAL (untuk pesan yang kritis atau sensitif terhadap waktu) dan PROMOSI (untuk pesan yang tidak kritis atau sensitif terhadap waktu).
+ Ubah nilai `origination_number` ke nomor telepon yang ingin Anda gunakan untuk mengirim pesan. Nomor telepon harus dalam format E.164.
+ Ubah nilai `ttl` ke jumlah waktu, dalam hitungan detik, bahwa SMS Pesan Pengguna AWS Akhir harus mencoba untuk menyampaikan pesan. Anda dapat mengatur nilai TTL hingga 259200 detik (72 jam).

## Mengirim pesan suara menggunakan SMS Pesan Pengguna AWS Akhir
<a name="sms-voice-v2-messages-voice"></a>

Anda dapat menggunakan contoh kode berikut untuk mengirim pesan suara menggunakan AWS SDK untuk Python (Boto3).

```
import boto3
from botocore.exceptions import ClientError


def send_voice_message(sms_voice_v2_client, configuration_set, context_keys,
                       destination_number, dry_run, max_price, message_body,
                       message_type, origination_number, ttl, voice_id):
    try:
        response = sms_voice_v2_client.send_voice_message(
            ConfigurationSetName=configuration_set,
            Context=context_keys,
            DestinationPhoneNumber=destination_number,
            DryRun=dry_run,
            MaxPricePerMinute=max_price,
            MessageBody=message_body,
            MessageBodyTextType=message_type,
            OriginationIdentity=origination_number,
            TimeToLive=ttl,
            VoiceId=voice_id
        )

    except ClientError as e:
        print(e.response)
    else:
        return response['MessageId']


def main():
    configuration_set = "MyConfigurationSet"
    context_keys = {"key1":"value1"}
    destination_number = "+12065550123"
    dry_run = False
    max_price = "2.00"
    message_body = (
        "<speak>"
        "This is a test message sent from <emphasis>AWS End User Messaging SMS</emphasis>"
        "using the <break strength='weak'/> AWS SDK untuk Python (Boto3). "
        "<amazon:effect phonation='soft'>Thank you for listening."
        "</amazon:effect>"
        "</speak>")
    message_type = "SSML"
    origination_number = "+18445550142"
    ttl = 120
    voice_id = "MATTHEW"

    print(
        f"Sending voice message with AWS End User Messaging SMS from {origination_number} to {destination_number}.")

    message_id = send_voice_message(
        boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys,
        destination_number, dry_run, max_price, message_body, message_type,
        origination_number, ttl, voice_id)

    print(f"Message sent!\nMessage ID: {message_id}")


if __name__ == '__main__':
    main()
```

Dalam contoh kode sebelumnya, buat perubahan fungsi berikut: `main()`
+ Ubah nilai `configuration_set` ke nama atau Amazon Resource Name (ARN) dari set konfigurasi yang ingin Anda gunakan untuk mengirim pesan ini.
+ Ubah nilai `context_keys` ke kunci dan nilai yang ingin Anda gunakan saat mengirim pesan ini. Tombol ini muncul dalam catatan peristiwa yang terkait dengan pesan ini.
+ Ubah nilai `destination_number` ke nomor telepon yang ingin Anda kirimi pesan.
+ Ubah nilai `max_price` ke jumlah maksimum uang yang ingin Anda habiskan per menit mengirim pesan ini.
+ Ubah nilai `message_body` untuk menyertakan pesan yang ingin Anda kirim. Pesan Anda dapat berisi hingga 6.000 karakter.
+ Jika Anda ingin menggunakan skrip teks biasa daripada skrip berformat SSML, ubah nilainya menjadi. `message_type` `TEXT`
+ Ubah nilai `origination_number` ke nomor telepon yang ingin Anda gunakan untuk mengirim pesan. Nomor telepon harus dalam format E.164.
+ Jika Anda ingin menjalankan operasi ini tanpa mengirim pesan apa pun, ubah nilai `dry_run` ke`True`.
+ Ubah nilai `ttl` ke jumlah waktu, dalam hitungan detik, bahwa SMS Pesan Pengguna AWS Akhir harus mencoba untuk menyampaikan pesan. Anda dapat mengatur nilai TTL hingga 259200 detik (72 jam).
+ Ganti `MATTHEW` dengan nama suara Amazon Polly yang ingin Anda gunakan untuk mengirim pesan. Untuk daftar lengkap suara yang didukung, lihat [SendVoiceMessage](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_SendVoiceMessage.html#pinpoint-SendVoiceMessage-request-VoiceId)di *SMS dan Suara, Referensi API versi 2*. Jika Anda tidak menentukan suara, pesan Anda dikirim menggunakan suara “MATTHEW”.