View a markdown version of this page

Buat kampanye keluar menggunakan API atau CLI - Pelanggan Amazon Connect

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

Anda dapat membuat dan mengelola kampanye keluar secara terprogram menggunakan AWS CLI atau Amazon Connect Outbound Campaigns API. Topik ini menjelaskan cara membuat kampanye keluar Connect Customer, menentukan alur kampanye, dan referensi perintah siklus hidup menggunakan CLI.

Prasyarat

Sebelum membuat kampanye menggunakan API atau CLI, pastikan Anda memiliki yang berikut:

Membuat alur kampanye

Alur kampanye menentukan urutan tindakan yang dijalankan untuk setiap penerima. Anda membuat alur menggunakan CreateContactFlow API dengan tipe aliran disetel keCAMPAIGN. Untuk informasi terperinci tentang setiap jenis tindakan, lihatDefinisi blok alur perjalanan.

Aliran sederhana (tidak ada percobaan ulang)

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

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.

  2. Tunggu —Menunggu tanda terima pengiriman.

  3. GetOutboundCommunicationStatus—Mengambil status pengiriman dari komunikasi terbaru.

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

  5. 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.

  • OutboundCommunicationIdsParameter 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.

  • MANAGEDkampanye 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

Setelah membuat alur kampanye, Anda harus membuat versi alur tersebut. Alur berversi ARN diperlukan saat membuat kampanye. Gunakan CreateContactFlowVersion 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.

Buat kampanye keluar

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

--typeParameter menentukan jenis kampanye. Gunakan MANAGED untuk kampanye outbound. Gunakan JOURNEY untuk perjalanan multi-langkah dan multi-saluran — lihat. Pembuat Perjalanan Visual

catatan

Anda juga dapat menentukan --communication-limits-override untuk mengontrol berapa kali penerima dapat dihubungi. Untuk daftar lengkap parameter, lihat referensi CLI create-campaign.

Untuk mengelola operasi siklus hidup kampanye (mulai, hentikan, jeda, lanjutkan, hapus), lihat referensi AWS CLI untuk connect campaignsv2.