

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

# Buat kampanye keluar menggunakan API atau CLI
<a name="create-campaigns-api-cli"></a>

Anda dapat membuat dan mengelola kampanye keluar secara terprogram menggunakan AWS CLI atau [Amazon](https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Outbound_Campaigns_V2.html) Connect Outbound Campaigns API. Topik ini menjelaskan cara membuat kampanye keluar Connect Customer, menentukan alur kampanye, dan mereferensikan perintah siklus hidup menggunakan CLI.

## Prasyarat
<a name="create-campaigns-api-cli-prereqs"></a>

Sebelum Anda membuat kampanye menggunakan API atau CLI, pastikan Anda memiliki yang berikut:
+ Instans Connect Customer dengan [panggilan keluar diaktifkan](enable-outbound-calls.md).
+  AWS KMS Kunci yang dikonfigurasi untuk kampanye keluar. Lihat [Buat sebuah AWS KMS kunci](enable-outbound-campaigns.md#create-kms-key-campaigns).
+ Kampanye keluar diaktifkan pada instans Anda. Lihat [Konfigurasikan kampanye keluar](enable-outbound-campaigns.md#configure-outbound-campaigns).
+ [Segmen Profil Pelanggan](segmentation-admin-website.md) ARN untuk penerima kampanye Anda.
+ Templat pesan yang dibuat di Amazon Q Anda di basis pengetahuan Connect. Untuk informasi selengkapnya, lihat [Membuat templat pesan](https://docs.aws.amazon.com/connect/latest/adminguide/create-message-templates.html).
+  AWS CLI versi 2 diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat [Menginstal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

## Buat alur kampanye
<a name="create-campaigns-api-cli-flows"></a>

Alur kampanye menentukan urutan tindakan yang dijalankan untuk setiap penerima. Anda membuat alur menggunakan [CreateContactFlow](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html)API dengan tipe aliran yang disetel ke`CAMPAIGN`. Untuk informasi rinci tentang setiap jenis tindakan, lihat[Definisi blok aliran perjalanan](journey-flow-block-definitions.md).

### Aliran sederhana (tidak ada percobaan ulang)
<a name="create-campaigns-api-cli-flows-simple"></a>

Aliran sederhana mengirimkan satu komunikasi ke setiap penerima tanpa memeriksa status pengiriman. Ini adalah struktur aliran paling sederhana:

```
{
  "Version": "2019-10-30",
  "StartAction": "SendSMS",
  "Actions": [
    {
      "Identifier": "SendSMS",
      "Type": "SendSMS",
      "Parameters": {
        "Message": {
          "MessageSourceType": "TEMPLATE",
          "TemplatedMessage": {
            "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id",
            "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-template-id"
          }
        },
        "SourceEndpoint": {
          "Address": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id",
          "Type": "CONNECT_PHONENUMBER_ARN"
        }
      },
      "Transitions": {
        "NextAction": "EndFlow",
        "Conditions": [],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    },
    {
      "Identifier": "EndFlow",
      "Type": "EndFlowExecution",
      "Parameters": {}
    }
  ]
}
```

### Alur dengan pemeriksaan status pengiriman dan percobaan ulang
<a name="create-campaigns-api-cli-flows-retry"></a>

Untuk aliran yang memeriksa status pengiriman dan mencoba lagi pada kegagalan, gunakan struktur berikut. Aliran mengirimkan komunikasi, menunggu tanda terima pengiriman, mengambil status komunikasi, dan kemudian cabang berdasarkan hasilnya.

Tindakan utama dalam alur coba lagi adalah:

1. **SendSMS**, **SendOutboundEmail**, atau **PutDialRequest**—Mengirim komunikasi keluar.

1. **Tunggu** —Menunggu tanda terima pengiriman.

1. **GetOutboundCommunicationStatus**—Mengambil status pengiriman komunikasi terbaru.

1. **Bandingkan** —Mengevaluasi tanda terima pengiriman dan cabang berdasarkan hasil (misalnya, coba lagi saat bouncing, akhiri kesuksesan).

1. **EndFlowExecution**—Mengakhiri aliran. Semua jalur aliran harus diakhiri dengan tindakan ini.

Contoh berikut menunjukkan alur untuk `MANAGED` kampanye yang mengirim SMS, menunggu tanda terima pengiriman, memeriksa status, dan mencoba ulang dengan email jika pesan terpental:

```
{
  "Version": "2019-10-30",
  "StartAction": "SendSMS",
  "Actions": [
    {
      "Identifier": "SendSMS",
      "Type": "SendSMS",
      "Parameters": {
        "Message": {
          "MessageSourceType": "TEMPLATE",
          "TemplatedMessage": {
            "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id",
            "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-sms-template-id"
          }
        },
        "SourceEndpoint": {
          "Address": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id",
          "Type": "CONNECT_PHONENUMBER_ARN"
        }
      },
      "Transitions": {
        "NextAction": "Wait",
        "Conditions": [],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    },
    {
      "Identifier": "Wait",
      "Type": "Wait",
      "Parameters": {
        "TimeLimitSeconds": "900"
      },
      "Transitions": {
        "NextAction": "GetOutboundCommunicationStatus",
        "Conditions": [
          {
            "NextAction": "GetOutboundCommunicationStatus",
            "Condition": {
              "Operator": "Equals",
              "Operands": ["WaitCompleted"]
            }
          }
        ],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    },
    {
      "Identifier": "GetOutboundCommunicationStatus",
      "Type": "GetOutboundCommunicationStatus",
      "Parameters": {
        "OutboundCommunicationIds": ["$.OutboundCommunication.Latest.Id"]
      },
      "Transitions": {
        "NextAction": "Compare",
        "Conditions": [],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    },
    {
      "Identifier": "Compare",
      "Type": "Compare",
      "Parameters": {
        "ComparisonValue": "$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce"
      },
      "Transitions": {
        "NextAction": "EndFlow",
        "Conditions": [
          {
            "NextAction": "SendEmail",
            "Condition": {
              "Operator": "Exists",
              "Operands": []
            }
          }
        ],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingCondition"
          }
        ]
      }
    },
    {
      "Identifier": "SendEmail",
      "Type": "SendOutboundEmail",
      "Parameters": {
        "EmailMessage": {
          "MessageSourceType": "TEMPLATE",
          "TemplatedMessage": {
            "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id",
            "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-email-template-id"
          }
        },
        "FromEmailAddress": {
          "EmailAddress": "noreply@example.com"
        }
      },
      "Transitions": {
        "NextAction": "EndFlow",
        "Conditions": [],
        "Errors": [
          {
            "NextAction": "EndFlow",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    },
    {
      "Identifier": "EndFlow",
      "Type": "EndFlowExecution",
      "Parameters": {}
    }
  ]
}
```

**penting**  
Jika alur Anda menggunakan beberapa jenis saluran (misalnya, SMS dan email), sertakan semua saluran dalam `--channel-subtype-config` parameter saat membuat kampanye.
Untuk alur yang digunakan dalam kampanye dengan jenis `MANAGED` yang memeriksa status pengiriman, urutan tindakan yang diperlukan adalah: **Tunggu** → **GetOutboundCommunicationStatus**→ **Bandingkan**. `Wait`Tindakan menjeda aliran selama durasi tertentu untuk memungkinkan waktu tanda terima pengiriman tiba. `GetOutboundCommunicationStatus`Tindakan mengambil status pengiriman. `Compare`Aksi bercabang berdasarkan hasil.
`OutboundCommunicationIds`Parameter dalam `GetOutboundCommunicationStatus` harus referensi`$.OutboundCommunication.Latest.Id`. Referensi tanda terima pengiriman dalam `Compare` tindakan harus menggunakan kunci yang sama. Sebagai contoh: `$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce`.
`MANAGED`kampanye yang menggunakan saluran suara memerlukan `dialCriteriaRules` dalam `PutDialRequest` tindakan:  

  ```
  {
    "Identifier": "PutDialRequest",
    "Type": "PutDialRequest",
    "Parameters": {
      "dialCriteriaRules": [
        {
          "type": "CheckSegmentMembershipForCustomerProfile",
          "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment"
        }
      ]
    },
    ...
  }
  ```

## Membuat versi alur kampanye
<a name="create-campaigns-api-cli-version"></a>

Setelah membuat alur kampanye, Anda harus membuat versi alur. ARN alur berversi diperlukan saat membuat kampanye. Gunakan [CreateContactFlowVersion](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowVersion.html)API untuk membuat versi.

ARN aliran berversi menyertakan akhiran versi. Misalnya: `arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1`

Untuk informasi selengkapnya, lihat referensi CLI [create-contact-flow-version](https://docs.aws.amazon.com/cli/latest/reference/connect/create-contact-flow-version.html).

## Buat kampanye keluar
<a name="create-campaigns-api-cli-create"></a>

Gunakan `create-campaign` perintah untuk membuat kampanye. Contoh berikut membuat kampanye SMS dengan mode keluar tanpa agen:

```
aws connectcampaignsv2 create-campaign \
  --name "My SMS Campaign" \
  --connect-instance-id "your-instance-id" \
  --type MANAGED \
  --connect-campaign-flow-arn "arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1" \
  --source '{"customerProfilesSegmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment"}' \
  --channel-subtype-config '{
    "sms": {
      "outboundMode": {"agentless": {}},
      "defaultOutboundConfig": {
        "connectSourcePhoneNumberArn": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id",
        "wisdomTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-template-id"
      }
    }
  }' \
  --schedule '{"startTime": "2026-07-01T09:00:00", "endTime": "2026-07-01T17:00:00", "refreshFrequency": "PT30M"}' \
  --communication-time-config '{
    "localTimeZoneConfig": {"defaultTimeZone": "America/New_York"},
    "sms": {
      "openHours": {
        "dailyHours": {
          "MONDAY": [{"startTime": "T09:00", "endTime": "T17:00"}],
          "TUESDAY": [{"startTime": "T09:00", "endTime": "T17:00"}],
          "WEDNESDAY": [{"startTime": "T09:00", "endTime": "T17:00"}],
          "THURSDAY": [{"startTime": "T09:00", "endTime": "T17:00"}],
          "FRIDAY": [{"startTime": "T09:00", "endTime": "T17:00"}]
        }
      }
    }
  }' \
  --region us-east-1
```

Setelah berhasil, perintah mengembalikan ID kampanye dan ARN:

```
{
  "id": "campaign-id",
  "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id"
}
```

**catatan**  
`--type`Parameter menentukan jenis kampanye. Gunakan `MANAGED` untuk kampanye keluar. Gunakan `JOURNEY` untuk perjalanan multi-langkah dan multi-kanal — lihat. [Pembangun Perjalanan Visual](create-a-multi-step-and-multi-channel-journey.md)

**catatan**  
Anda juga dapat menentukan `--communication-limits-override` untuk mengontrol berapa kali penerima dapat dihubungi. Untuk daftar lengkap parameter, lihat referensi [CLI create-campaign](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/create-campaign.html).

Untuk mengelola operasi siklus hidup kampanye (mulai, hentikan, jeda, lanjutkan, hapus), lihat referensi [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/index.html) untuk connectcampaignsv2.