Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie eine ausgehende Kampagne mithilfe der API oder CLI
Mit der AWS CLI oder der Amazon Connect Outbound Campaigns API können Sie ausgehende Kampagnen programmgesteuert erstellen und verwalten. In diesem Thema wird erklärt, wie Sie mithilfe der CLI eine ausgehende Connect Customer-Kampagne erstellen, Kampagnenabläufe definieren und auf Lebenszyklusbefehle verweisen.
Voraussetzungen
Bevor Sie eine Kampagne mit der API oder CLI erstellen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Eine Connect Customer-Instanz mit aktivierten ausgehenden Anrufen.
-
Ein AWS KMS Schlüssel, der für ausgehende Kampagnen konfiguriert ist. Siehe Erstellen Sie ein AWS KMS Schlüssel.
-
Ausgehende Kampagnen sind auf Ihrer Instanz aktiviert. Siehe Konfigurieren ausgehender Kampagnen.
-
Ein Kundenprofilsegment ARN für Ihre Kampagnenempfänger.
-
Nachrichtenvorlagen, die in Ihrer Amazon Q in Connect-Wissensdatenbank erstellt wurden. Weitere Informationen finden Sie unter Nachrichtenvorlagen erstellen.
-
Die AWS CLI Version 2 wurde installiert und konfiguriert. Weitere Informationen finden Sie unter Installation der AWS CLI.
Erstellen Sie einen Kampagnenablauf
Kampagnenabläufe definieren die Reihenfolge der Aktionen, die für jeden Empfänger ausgeführt werden. Sie erstellen Flows mithilfe der CreateContactFlowAPI, wobei der Flow-Typ auf eingestellt istCAMPAIGN. Ausführliche Informationen zu den einzelnen Aktionstypen finden Sie unterDefinitionen von Journey-Flow-Blocks.
Einfacher Ablauf (keine Wiederholungen)
Ein einfacher Ablauf sendet eine einzige Mitteilung an jeden Empfänger, ohne den Lieferstatus zu überprüfen. Dies ist die einfachste Flussstruktur:
{ "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": {} } ] }
Ablauf mit Überprüfung des Lieferstatus und Wiederholungsversuchen
Verwenden Sie für Flows, die den Lieferstatus überprüfen und es bei einem Fehler erneut versuchen, die folgende Struktur. Der Flow sendet eine Kommunikation, wartet auf eine Empfangsbestätigung, ruft den Kommunikationsstatus ab und verzweigt sich dann auf der Grundlage des Ergebnisses.
Die wichtigsten Aktionen in einem Wiederholungsablauf sind:
-
Sendet SMS SendOutboundEmail, oder PutDialRequest— Sendet die ausgehende Kommunikation.
-
Warten — Wartet auf den Lieferschein.
-
GetOutboundCommunicationStatus— Ruft den Lieferstatus der letzten Kommunikation ab.
-
Vergleichen — Wertet den Lieferschein und die Verzweigungen anhand des Ergebnisses aus (z. B. bei Abmeldung erneut versuchen, bei Erfolg beenden).
-
EndFlowExecution— Beendet den Ablauf. Alle Flow-Pfade müssen mit dieser Aktion enden.
Das folgende Beispiel zeigt einen Ablauf für eine MANAGED Kampagne, die eine SMS sendet, auf eine Empfangsbestätigung wartet, den Status überprüft und es erneut mit einer E-Mail versucht, falls die Nachricht zurückgesendet wurde:
{ "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": {} } ] }
Wichtig
-
Wenn Ihr Flow mehrere Kanaltypen verwendet (z. B. SMS und E-Mail), schließen Sie bei der Erstellung der Kampagne alle Kanäle in den
--channel-subtype-configParameter ein. -
Für Flows, die in Kampagnen verwendet werden
MANAGED, deren Typ den Lieferstatus überprüft, lautet die erforderliche Reihenfolge der Aktionen: Warten GetOutboundCommunicationStatus→ Vergleichen. DieWaitAktion unterbricht den Ablauf für eine bestimmte Dauer, um genügend Zeit bis zum Eintreffen des Lieferscheins zu haben. DieGetOutboundCommunicationStatusAktion ruft den Lieferstatus ab. DieCompareAktion verzweigt sich je nach Ergebnis. -
Der
OutboundCommunicationIdsParameter inGetOutboundCommunicationStatusmuss referenzieren$.OutboundCommunication.Latest.Id. Bei Verweisen auf Lieferscheine inCompareAktionen muss derselbe Schlüssel verwendet werden. Beispiel:$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce. -
MANAGEDKampagnen, die Sprachkanäle verwenden, erforderndialCriteriaRulesfür diePutDialRequestAktion:{ "Identifier": "PutDialRequest", "Type": "PutDialRequest", "Parameters": { "dialCriteriaRules": [ { "type": "CheckSegmentMembershipForCustomerProfile", "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment" } ] }, ... }
Erstellen Sie eine Kampagnenablaufversion
Nachdem Sie einen Kampagnenflow erstellt haben, müssen Sie eine Version des Flows erstellen. Der versionierte Flow-ARN ist beim Erstellen einer Kampagne erforderlich. Verwenden Sie die CreateContactFlowVersionAPI, um eine Version zu erstellen.
Der versionierte Flow-ARN enthält ein Versionssuffix. Beispiel: arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1
Weitere Informationen finden Sie in der CLI-Referenz create-contact-flow-version.
Erstellen einer ausgehenden Kampagne
Verwenden Sie den create-campaign Befehl, um eine Kampagne zu erstellen. Im folgenden Beispiel wird eine SMS-Kampagne im ausgehenden Modus ohne Agenten erstellt:
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
Bei Erfolg gibt der Befehl die Kampagnen-ID und den ARN zurück:
{ "id": "campaign-id", "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id" }
Anmerkung
Der --type Parameter gibt den Kampagnentyp an. Wird MANAGED für ausgehende Kampagnen verwendet. Verwenden Sie es JOURNEY für mehrstufige, kanalübergreifende Reisen — siehe. Visual Journey Builder
Anmerkung
Sie können auch festlegen--communication-limits-override, wie oft ein Empfänger kontaktiert werden kann. Die vollständige Liste der Parameter finden Sie in der Create-Campaign-CLI-Referenz.
Informationen zur Verwaltung von Vorgängen im Kampagnenlebenszyklus (Starten, Stoppen, Pausieren, Wiederaufnehmen, Löschen) finden Sie in der AWS CLI-Referenz für connectcampaignsv2.