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 mereferensikan perintah siklus hidup menggunakan CLI.

Prasyarat

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

Buat alur kampanye

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

Aliran sederhana (tidak ada percobaan ulang)

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

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.

  2. Tunggu —Menunggu tanda terima pengiriman.

  3. GetOutboundCommunicationStatus—Mengambil status pengiriman komunikasi terbaru.

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

  5. 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: TungguGetOutboundCommunicationStatusBandingkan. WaitTindakan menjeda aliran selama durasi tertentu untuk memungkinkan waktu tanda terima pengiriman tiba. GetOutboundCommunicationStatusTindakan mengambil status pengiriman. CompareAksi bercabang 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 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

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

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

Setelah 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 keluar. Gunakan JOURNEY untuk perjalanan multi-langkah dan multi-kanal — lihat. Pembangun 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 connectcampaignsv2.