Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea una campagna in uscita utilizzando l'API o la CLI
Puoi creare e gestire campagne in uscita in modo programmatico utilizzando la AWS CLI o l'API Amazon Connect Outbound Campaigns. https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Outbound_Campaigns_V2.html Questo argomento spiega come creare una campagna in uscita di Connect Customer, definire i flussi delle campagne e fare riferimento ai comandi del ciclo di vita utilizzando la CLI.
Prerequisiti
Prima di creare una campagna utilizzando l'API o la CLI, assicurati di disporre di quanto segue:
-
Un'istanza Connect Customer con chiamate in uscita abilitate.
-
Una AWS KMS chiave configurata per le campagne in uscita. Consulta Crea un AWS KMS Chiave.
-
Campagne in uscita abilitate sulla tua istanza. Consulta Configurazione di campagne in uscita.
-
Un ARN del segmento Customer Profiles per i destinatari della tua campagna.
-
I modelli di messaggio creati nella knowledge base di assistenza per gli agenti. Per ulteriori informazioni, consulta Creare modelli di messaggio.
-
La versione 2 della AWS CLI è stata installata e configurata. Per ulteriori informazioni, vedere Installazione della AWS CLI.
Crea un flusso di campagna
I flussi delle campagne definiscono la sequenza di azioni eseguite per ciascun destinatario. Crei flussi utilizzando l'CreateContactFlowAPI con il tipo di flusso impostato suCAMPAIGN. Per informazioni dettagliate su ciascun tipo di azione, consultaDefinizioni dei blocchi Journey Flow.
Flusso semplice (nessun tentativo)
Un flusso semplice invia una singola comunicazione a ciascun destinatario senza controllare lo stato della consegna. Questa è la struttura di flusso più semplice:
{ "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": {} } ] }
Flusso con controllo dello stato di consegna e tentativi
Per i flussi che controllano lo stato della consegna e riprovano in caso di errore, utilizza la struttura seguente. Il flusso invia una comunicazione, attende una ricevuta di consegna, recupera lo stato della comunicazione e quindi si dirama in base al risultato.
Le azioni chiave in un flusso di tentativi sono:
-
Invia SMS o PutDialRequest: invia SendOutboundEmail la comunicazione in uscita.
-
Attendi: attende la ricevuta di consegna.
-
GetOutboundCommunicationStatus—Recupera lo stato di consegna della comunicazione più recente.
-
Confronta: valuta la ricevuta di consegna e le filiali in base al risultato (ad esempio, riprova in caso di rimbalzo, fine in caso di successo).
-
EndFlowExecution—Termina il flusso. Tutti i percorsi di flusso devono terminare con questa azione.
L'esempio seguente mostra un flusso per una MANAGED campagna che invia un SMS, attende una ricevuta di consegna, controlla lo stato e riprova con un'email se il messaggio è stato respinto:
{ "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": {} } ] }
Importante
-
Se il flusso utilizza più tipi di canali (ad esempio SMS ed e-mail), includi tutti i canali nel
--channel-subtype-configparametro durante la creazione della campagna. -
Per i flussi utilizzati nelle campagne con tipi
MANAGEDche controllano lo stato di consegna, la sequenza di azioni richiesta è: Attendi GetOutboundCommunicationStatus → → Confronta. L'Waitazione sospende il flusso per una durata specificata per consentire l'arrivo della ricevuta di consegna. L'GetOutboundCommunicationStatusazione recupera lo stato della consegna. L'Compareazione si ramifica in base al risultato. -
Il
OutboundCommunicationIdsparametro inGetOutboundCommunicationStatusdeve fare riferimento$.OutboundCommunication.Latest.Id. I riferimenti delle ricevute di consegna nelleCompareazioni devono utilizzare la stessa chiave. Ad esempio:$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce. -
MANAGEDle campagne che utilizzano i canali vocali richiedonodialCriteriaRulesnell'PutDialRequestazione:{ "Identifier": "PutDialRequest", "Type": "PutDialRequest", "Parameters": { "dialCriteriaRules": [ { "type": "CheckSegmentMembershipForCustomerProfile", "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment" } ] }, ... }
Crea una versione del flusso della campagna
Dopo aver creato un flusso di campagna, devi creare una versione del flusso. L'ARN del flusso con versione è richiesto quando si crea una campagna. Usa l'CreateContactFlowVersionAPI per creare una versione.
Il flusso con versione ARN include un suffisso di versione. Ad esempio, arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1
Per ulteriori informazioni, consulta il riferimento alla CLI create-contact-flow-version.
Creazione di una campagna in uscita
Usa il comando per creare una campagna. create-campaign L'esempio seguente crea una campagna SMS con modalità in uscita senza agenti:
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
In caso di successo, il comando restituisce l'ID e l'ARN della campagna:
{ "id": "campaign-id", "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id" }
Nota
Il --type parametro specifica il tipo di campagna. Da utilizzare MANAGED per le campagne in uscita. Utilizzalo JOURNEY per percorsi in più fasi e multicanale: vedi. Visual Journey Buil
Nota
Puoi anche specificare --communication-limits-override per controllare quante volte un destinatario può essere contattato. Per l'elenco completo dei parametri, consulta il riferimento alla CLI di create-campaign.
Per gestire le operazioni del ciclo di vita della campagna (avvio, arresto, pausa, ripresa, eliminazione), consulta il riferimento CLI AWS per connectcampaignsv2.