

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 Connect Outbound Campaigns API. ](https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Outbound_Campaigns_V2.html) Topik ini menjelaskan cara membuat kampanye keluar Connect Customer, menentukan alur kampanye, dan referensi perintah siklus hidup menggunakan CLI.

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

Sebelum membuat kampanye menggunakan API atau CLI, pastikan Anda memiliki yang berikut:
+ Instans Connect Customer dengan [ panggilan keluar diaktifkan](enable-outbound-calls.md).
+ K AWS KMS unci yang dikonfigurasi untuk kampanye keluar. Lihat [Buat sebuah AWS KMS kunci](enable-outbound-campaigns.md#create-kms-key-campaigns).
+ Kampanye keluar diaktifkan di instans Anda. Lihat [Konfigurasikan kampanye keluar](enable-outbound-campaigns.md#configure-outbound-campaigns).
+ Segmen [ Profil Pelang ](segmentation-admin-website.md) gan ARN untuk penerima kampanye Anda.
+ Templat pesan yang dibuat di basis pengetahuan bantuan agen Anda. 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).

## Membuat 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 disetel ke`CAMPAIGN`. Untuk informasi terperinci tentang setiap jenis tindakan, lihat[Definisi blok alur perjalanan](journey-flow-block-definitions.md).

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

Alur 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 alur yang memeriksa status pengiriman dan coba lagi jika gagal, gunakan struktur berikut. Alur 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 dari komunikasi terbaru.

1. **Bandingkan ** —Mengevaluasi tanda terima pengiriman dan cabang berdasarkan hasilnya (misalnya, coba lagi saat bouncing, berakhir saat berhasil).

1. **EndFlowExecution**—Menghentikan 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 lagi 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 aliran 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: Tun ** ggu ** → ** GetOutboundCommunicationStatus ** → Band ** ingkan**. T `Wait` indakan menghentikan aliran selama durasi tertentu untuk memberikan waktu bagi tanda terima pengiriman tiba. T `GetOutboundCommunicationStatus` indakan mengambil status pengiriman. Cabang `Compare` tindakan 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` `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 tersebut. Alur berversi ARN diperlukan saat membuat kampanye. Gunakan [ CreateContactFlowVersion ](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowVersion.html) API untuk membuat versi.

Alur berversi ARN 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
```

Jika 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 outbound. Gunakan `JOURNEY` untuk perjalanan multi-langkah dan multi-saluran — lihat. [Pembuat 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 untuk connect ](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/index.html) campaignsv2.