View a markdown version of this page

Crea una campagna in uscita utilizzando l'API o la CLI - Cliente Amazon Connect

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:

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:

  1. Invia SMS o PutDialRequest: invia SendOutboundEmail la comunicazione in uscita.

  2. Attendi: attende la ricevuta di consegna.

  3. GetOutboundCommunicationStatus—Recupera lo stato di consegna della comunicazione più recente.

  4. 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).

  5. 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-config parametro durante la creazione della campagna.

  • Per i flussi utilizzati nelle campagne con tipi MANAGED che 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 OutboundCommunicationIds parametro in GetOutboundCommunicationStatus deve fare riferimento$.OutboundCommunication.Latest.Id. I riferimenti delle ricevute di consegna nelle Compare azioni devono utilizzare la stessa chiave. Ad esempio: $.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce.

  • MANAGEDle campagne che utilizzano i canali vocali richiedono dialCriteriaRules nell'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.