View a markdown version of this page

Créez une campagne sortante à l'aide de l'API ou de la CLI - Client Amazon Connect

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 :

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 :

  1. Envoyer des SMS SendOutboundEmail, ou PutDialRequest  : envoie la communication sortante.

  2. Attendre  : attend le reçu de livraison.

  3. GetOutboundCommunicationStatus—Récupère l'état de livraison de la communication la plus récente.

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

  5. 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-config paramètre lors de la création de la campagne.

  • Pour les flux utilisés dans les campagnes MANAGED dont 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 OutboundCommunicationIds paramètre dans GetOutboundCommunicationStatus doit faire référence$.OutboundCommunication.Latest.Id. Les références des bons de livraison dans Compare les actions doivent utiliser la même clé. Par exemple : $.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce.

  • MANAGEDles campagnes qui utilisent des canaux dialCriteriaRules vocaux PutDialRequest né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.