

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
<a name="create-campaigns-api-cli"></a>

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. ](https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Outbound_Campaigns_V2.html) 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
<a name="create-campaigns-api-cli-prereqs"></a>

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](enable-outbound-calls.md).
+ Une AWS KMS clé configurée pour les campagnes sortantes. Consultez [Créez un AWS KMS clé](enable-outbound-campaigns.md#create-kms-key-campaigns).
+ Campagnes sortantes activées sur votre instance. Consultez [Configuration des campagnes sortantes](enable-outbound-campaigns.md#configure-outbound-campaigns).
+ Un [ ARN du segment des profils ](segmentation-admin-website.md) 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](https://docs.aws.amazon.com/connect/latest/adminguide/create-message-templates.html).
+ 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

## Créez un flux de campagne
<a name="create-campaigns-api-cli-flows"></a>

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'[CreateContactFlow](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html)API avec le type de flux défini sur`CAMPAIGN`. Pour obtenir des informations détaillées sur chaque type d'action, consultez[Définitions des blocs Journey Flow](journey-flow-block-definitions.md).

### Flux simple (aucune nouvelle tentative)
<a name="create-campaigns-api-cli-flows-simple"></a>

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
<a name="create-campaigns-api-cli-flows-retry"></a>

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.

1. **Attendre ** : attend le reçu de livraison.

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

1. **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).

1. **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'`Wait`action interrompt le flux pendant une durée spécifiée afin de laisser le temps au reçu de livraison d'arriver. L'`GetOutboundCommunicationStatus`action récupère le statut de livraison. L'`Compare`action 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`.
`MANAGED`les 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
<a name="create-campaigns-api-cli-version"></a>

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'[CreateContactFlowVersion](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowVersion.html)API 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. ](https://docs.aws.amazon.com/cli/latest/reference/connect/create-contact-flow-version.html)

## Création d'une campagne sortante
<a name="create-campaigns-api-cli-create"></a>

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](create-a-multi-step-and-multi-channel-journey.md)

**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. ](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/create-campaign.html)

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 ](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/index.html) connectcampaignsv2.