

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

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

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. ](enable-outbound-calls.md)
+ Una AWS KMS chiave configurata per le campagne in uscita. Consulta [Crea un AWS KMS Chiave](enable-outbound-campaigns.md#create-kms-key-campaigns).
+ Campagne in uscita abilitate sulla tua istanza. Consulta [Configurazione di campagne in uscita](enable-outbound-campaigns.md#configure-outbound-campaigns).
+ Un [ ARN del segmento ](segmentation-admin-website.md) 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](https://docs.aws.amazon.com/connect/latest/adminguide/create-message-templates.html).
+ La versione 2 della AWS CLI è stata installata e configurata. Per ulteriori informazioni, vedere [ Installazione della AWS](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) CLI.

## Crea un flusso di campagna
<a name="create-campaigns-api-cli-flows"></a>

I flussi delle campagne definiscono la sequenza di azioni eseguite per ciascun destinatario. Crei flussi utilizzando l'[CreateContactFlow](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html)API con il tipo di flusso impostato su`CAMPAIGN`. Per informazioni dettagliate su ciascun tipo di azione, consulta[Definizioni dei blocchi Journey Flow](journey-flow-block-definitions.md).

### Flusso semplice (nessun tentativo)
<a name="create-campaigns-api-cli-flows-simple"></a>

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

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.

1. **Attendi**: attende la ricevuta di consegna.

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

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

1. **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'`Wait`azione sospende il flusso per una durata specificata per consentire l'arrivo della ricevuta di consegna. L'`GetOutboundCommunicationStatus`azione recupera lo stato della consegna. L'`Compare`azione 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`.
`MANAGED`le campagne che utilizzano i canali vocali richiedono `dialCriteriaRules` nell'`PutDialRequest`azione:  

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

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

## Creazione di una campagna in uscita
<a name="create-campaigns-api-cli-create"></a>

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

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

Per gestire le operazioni del ciclo di vita della campagna (avvio, arresto, pausa, ripresa, eliminazione), consulta il riferimento CLI [AWS per connectcampaignsv2. ](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/index.html)