Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez une campagne sortante à l'aide de l'API ou de la CLI
Vous pouvez créer et gérer des campagnes sortantes par programmation à l'aide de l' AWS interface de ligne de commande ou de l'API Amazon Connect Outbound Campaigns. Cette rubrique explique comment créer une campagne sortante Connect Customer, définir les flux de campagne et référencer les commandes du cycle de vie à l'aide de l'interface de ligne de commande.
Conditions préalables
Avant de créer une campagne à l'aide de l'API ou de l'interface de ligne de commande, assurez-vous de disposer des éléments suivants :
-
Une instance Connect Customer avec les appels sortants activés.
-
Une AWS KMS clé configurée pour les campagnes sortantes. Consultez Créez un AWS KMS clé.
-
Campagnes sortantes activées sur votre instance. Consultez Configuration des campagnes sortantes.
-
Un ARN du segment des profils clients pour les destinataires de votre campagne.
-
Les modèles de message créés dans votre base de connaissances d'assistance aux agents. Pour plus d'informations, voir Création de modèles de message.
-
La version 2 de la AWS CLI est installée et configurée. Pour plus d'informations, consultez la section Installation de la AWS CLI.
Créez un flux de campagne
Les flux de campagne définissent la séquence d'actions exécutées pour chaque destinataire. Vous créez des flux à l'aide de l'CreateContactFlowAPI avec le type de flux défini surCAMPAIGN. Pour obtenir des informations détaillées sur chaque type d'action, consultezDéfinitions des blocs Journey Flow.
Flux simple (aucune nouvelle tentative)
Un flux simple envoie une seule communication à chaque destinataire sans vérifier l'état de la livraison. Voici la structure de flux la plus simple :
{ "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": {} } ] }
Flux avec vérification de l'état de livraison et nouvelles tentatives
Pour les flux qui vérifient l'état de livraison et réessaient en cas d'échec, utilisez la structure suivante. Le flux envoie une communication, attend un accusé de réception, récupère l'état de la communication, puis se divise en fonction du résultat.
Les principales actions d'un flux de nouvelles tentatives sont les suivantes :
-
Envoyer des SMS SendOutboundEmail, ou PutDialRequest : envoie la communication sortante.
-
Attendre : attend le reçu de livraison.
-
GetOutboundCommunicationStatus—Récupère l'état de livraison de la communication la plus récente.
-
Comparer : évalue le reçu de livraison et les succursales en fonction du résultat (par exemple, nouvelle tentative en cas de rebond, fin en cas de succès).
-
EndFlowExecution—Interrompt le flux. Tous les chemins de flux doivent se terminer par cette action.
L'exemple suivant illustre le flux d'une MANAGED campagne qui envoie un SMS, attend un accusé de réception, vérifie le statut et réessaie avec un e-mail si le message est renvoyé :
{ "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": {} } ] }
Important
-
Si votre flux utilise plusieurs types de canaux (par exemple, SMS et e-mail), incluez tous les canaux dans le
--channel-subtype-configparamètre lors de la création de la campagne. -
Pour les flux utilisés dans les campagnes
MANAGEDdont le type vérifie l'état de livraison, la séquence d'actions requise est la suivante : Attendre GetOutboundCommunicationStatus → → Comparer. L'Waitaction interrompt le flux pendant une durée spécifiée afin de laisser le temps au reçu de livraison d'arriver. L'GetOutboundCommunicationStatusaction récupère le statut de livraison. L'Compareaction se ramifie en fonction du résultat. -
Le
OutboundCommunicationIdsparamètre dansGetOutboundCommunicationStatusdoit faire référence$.OutboundCommunication.Latest.Id. Les références des bons de livraison dansCompareles actions doivent utiliser la même clé. Par exemple :$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce. -
MANAGEDles campagnes qui utilisent des canauxdialCriteriaRulesvocauxPutDialRequestnécessitent :{ "Identifier": "PutDialRequest", "Type": "PutDialRequest", "Parameters": { "dialCriteriaRules": [ { "type": "CheckSegmentMembershipForCustomerProfile", "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment" } ] }, ... }
Création d'une version du flux de campagne
Après avoir créé un flux de campagne, vous devez créer une version de celui-ci. L'ARN du flux versionné est requis lors de la création d'une campagne. Utilisez l'CreateContactFlowVersionAPI pour créer une version.
L'ARN de flux versionné inclut un suffixe de version. Par exemple : arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1
Pour plus d'informations, consultez la référence de la CLI create-contact-flow-version.
Création d'une campagne sortante
Utilisez la create-campaign commande pour créer une campagne. L'exemple suivant crée une campagne SMS avec le mode sortant sans agent :
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
En cas de succès, la commande renvoie l'ID et l'ARN de la campagne :
{ "id": "campaign-id", "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id" }
Note
Le --type paramètre spécifie le type de campagne. À utiliser MANAGED pour les campagnes sortantes. À utiliser JOURNEY pour des voyages en plusieurs étapes et multicanaux, voir. Générateur de parcours visuel
Note
Vous pouvez également spécifier --communication-limits-override pour contrôler le nombre de fois qu'un destinataire peut être contacté. Pour obtenir la liste complète des paramètres, consultez la référence de l'interface de ligne de commande create-campaign.
Pour gérer les opérations liées au cycle de vie des campagnes (démarrer, arrêter, suspendre, reprendre, supprimer), consultez la référence AWS CLI pour connectcampaignsv2.