

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API または CLI を使用してアウトバウンドキャンペーンを作成する
<a name="create-campaigns-api-cli"></a>

CLI または Amazon Connect アウトバウンドキャンペーン API AWS を使用して、アウトバウンドキャンペーンをプログラムで作成および管理できます。 [Amazon Connect ](https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Outbound_Campaigns_V2.html) このトピックでは、 CLI を使用して Connect Customer アウトバウンドキャンペーンを作成し、キャンペーンフローを定義し、ライフサイクルコマンドを参照する方法について説明します。

## 前提条件
<a name="create-campaigns-api-cli-prereqs"></a>

API または CLI を使用してキャンペーンを作成する前に、以下があることを確認してください。
+ [アウトバウンド呼び出しが有効になってい](enable-outbound-calls.md)る Connect Customer インスタンス。
+ アウトバウンドキャンペーン用に設定された AWS KMS キー。「[AWS KMS キーを作成する](enable-outbound-campaigns.md#create-kms-key-campaigns)」を参照してください。
+ インスタンスで有効になっているアウトバウンドキャンペーン。「[アウトバウンドキャンペーンを設定する](enable-outbound-campaigns.md#configure-outbound-campaigns)」を参照してください。
+ キャンペーン受信者の [Customer Profiles セグメント](segmentation-admin-website.md) ARN。
+ エージェントで作成されたメッセージテンプレートはナレッジベースをサポートします。詳細については、[「メッセージテンプレートの作成](https://docs.aws.amazon.com/connect/latest/adminguide/create-message-templates.html)」を参照してください。
+ CLI AWS バージョン 2 がインストールされ、設定されています。詳細については、「 [AWS CLI のインストール](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

## キャンペーンフローを作成する
<a name="create-campaigns-api-cli-flows"></a>

キャンペーンフローは、各受信者に対して実行されるアクションのシーケンスを定義します。[CreateContactFlow](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html) API を使用してフローを作成し、フロータイプを に設定します`CAMPAIGN`。各アクションタイプの詳細については、「」を参照してください[ジャーニーフローブロックの定義](journey-flow-block-definitions.md)。

### シンプルなフロー (再試行なし)
<a name="create-campaigns-api-cli-flows-simple"></a>

シンプルなフローは、配信ステータスをチェックせずに、各受信者に 1 つの通信を送信します。これは最もシンプルなフロー構造です。

```
{
  "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": {}
    }
  ]
}
```

### 配信ステータスチェックと再試行を含むフロー
<a name="create-campaigns-api-cli-flows-retry"></a>

配信ステータスをチェックし、失敗時に再試行するフローの場合は、次の構造を使用します。フローは通信を送信し、配信受信を待機し、通信ステータスを取得し、結果に基づいて分岐します。

再試行フローの主なアクションは次のとおりです。

1. **SendSMS**、**SendOutboundEmail**、または **PutDialRequest** - アウトバウンド通信を送信します。

1. **Wait** — 配信受信を待機します。

1. **GetOutboundCommunicationStatus** — 最新の通信の配信ステータスを取得します。

1. **比較** — 結果に基づいて配信受信とブランチを評価します (バウンス時に再試行、成功時に終了など）。

1. **EndFlowExecution** — フローを終了します。すべてのフローパスは、このアクションで終わる必要があります。

次の例は、SMS を送信し、配信受信を待機し、ステータスをチェックし、メッセージがバウンスされた場合に E メールで再試行する`MANAGED`キャンペーンのフローを示しています。

```
{
  "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": {}
    }
  ]
}
```

**重要**  
フローが複数のチャネルタイプ (SMS や E メールなど) を使用している場合は、キャンペーンの作成時に `--channel-subtype-config`パラメータにすべてのチャネルを含めます。
配信ステータスをチェック`MANAGED`するタイプのキャンペーンで使用されるフローの場合、必要なアクションシーケンスは **Wait** → **GetOutboundCommunicationStatus** → **Compare** です。`Wait` アクションは、指定された期間フローを一時停止して、配信受信が到着する時間を確保します。`GetOutboundCommunicationStatus` アクションは配信ステータスを取得します。`Compare` アクションは結果に基づいて分岐します。
の `OutboundCommunicationIds`パラメータは を参照`GetOutboundCommunicationStatus`する必要があります`$.OutboundCommunication.Latest.Id`。`Compare` アクションの配信受信リファレンスは、同じキーを使用する必要があります。例: `$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce`。
`MANAGED` 音声チャネルを使用する キャンペーンでは、 `PutDialRequest`アクション`dialCriteriaRules`で が必要です。  

  ```
  {
    "Identifier": "PutDialRequest",
    "Type": "PutDialRequest",
    "Parameters": {
      "dialCriteriaRules": [
        {
          "type": "CheckSegmentMembershipForCustomerProfile",
          "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment"
        }
      ]
    },
    ...
  }
  ```

## キャンペーンフローバージョンを作成する
<a name="create-campaigns-api-cli-version"></a>

キャンペーンフローを作成したら、フローのバージョンを作成する必要があります。キャンペーンを作成するときは、バージョニングされたフロー ARN が必要です。[CreateContactFlowVersion](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowVersion.html) API を使用してバージョンを作成します。

バージョニングされたフロー ARN にはバージョンサフィックスが含まれます。例: `arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1`

詳細については、[create-contact-flow-version CLI リファレンス](https://docs.aws.amazon.com/cli/latest/reference/connect/create-contact-flow-version.html)を参照してください。

## アウトバウンドキャンペーンを作成する
<a name="create-campaigns-api-cli-create"></a>

`create-campaign` コマンドを使用してキャンペーンを作成します。次の例では、エージェントレスアウトバウンドモードで SMS キャンペーンを作成します。

```
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
```

成功すると、コマンドはキャンペーン ID と ARN を返します。

```
{
  "id": "campaign-id",
  "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id"
}
```

**注記**  
`--type` パラメータはキャンペーンタイプを指定します。アウトバウンドキャンペーン`MANAGED`に使用します。マルチステップ、マルチチャネルジャーニー`JOURNEY`に を使用します。「」を参照してください[ビジュアルジャーニービルダー](create-a-multi-step-and-multi-channel-journey.md)。

**注記**  
を指定`--communication-limits-override`して、受信者に連絡できる回数を制御することもできます。パラメータの完全なリストについては、[「create-campaign CLI reference](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/create-campaign.html)」を参照してください。

キャンペーンライフサイクルオペレーション (開始、停止、一時停止、再開、削除) を管理するには、[AWS connectcampaignsv2 の CLI リファレンス](https://docs.aws.amazon.com/cli/latest/reference/connectcampaignsv2/index.html)を参照してください。