

**サポート終了通知:** 2026 年 10 月 30 日に、 AWS は Amazon Pinpoint のサポートを終了します。2026 年 10 月 30 日を過ぎると、Amazon Pinpoint コンソールまたは Amazon Pinpoint のリソース (エンドポイント、セグメント、キャンペーン、ジャーニー、分析) にアクセスできなくなります。詳細については、「[Amazon Pinpoint のサポート終了](https://docs.aws.amazon.com/console/pinpoint/migration-guide)」を参照してください。**注:** SMS、音声、モバイルプッシュ、OTP、電話番号の検証に関連する APIs は、この変更の影響を受けず、 AWS エンドユーザーメッセージングでサポートされています。

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

# ウェブフックまたは Lambda 関数を使用して Amazon Pinpoint でカスタムチャネルを作成する
<a name="channels-custom"></a>

Amazon Pinpoint には、プッシュ通知、E メール、SMS、音声チャンネルによるメッセージの送信の組み込みサポートが含まれています。カスタムチャンネルを作成することで、Amazon Pinpoint が他のチャンネル経由でメッセージを送信するように設定することもできます。Amazon Pinpoint のカスタムチャンネルを使用すると、サードパーティーサービスを含む、API を持つサービスを通じてメッセージを送信できます。APIs を操作するには、ウェブフックを使用するか、 AWS Lambda 関数を呼び出します。

カスタムチャンネルキャンペーンを送信するセグメントには、すべてのタイプのエンドポイント (つまり、`ChannelType` 属性の値が EMAL、VOICE、SMS、CUSTOM、またはさまざまなプッシュ通知エンドポイントタイプの 1 つであるエンドポイント) を含めることができます。

## ウェブフックを使用する
<a name="channels-custom-webhook-create"></a>

ウェブフックを使用してカスタムチャンネルメッセージを送信する場合、ウェブフックの URL は「https://」で始まる必要があります。Webhook URL には、英数字と次の記号のみを含めることができます。ハイフン (-)、ピリオド (.)、アンダースコア (\$1)、チルダ (\$1)、疑問符 (?)、スラッシュ (/)、ポンドまたはハッシュ記号 (\$1)、セミコロン (:)。URL は [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986) に準拠している必要があります。

Webhook URL を指定するキャンペーンを作成すると、Amazon Pinpoint はその URL に HTTP `HEAD` を発行します。`HEAD` リクエストに対する応答には、`X-Amz-Pinpoint-AccountId` というヘッダーが含まれている必要があります。このヘッダーの値は、 AWS アカウント ID と等しくなければなりません。

## Lambda 関数 を使用する
<a name="channels-custom-LAM-create"></a>

Lambda 関数を作成してカスタムチャネルメッセージを送信する場合は、まず Amazon Pinpoint が出力するデータに慣れておくことをお勧めします。Amazon Pinpoint キャンペーンがカスタムチャンネル経由でメッセージを送信すると、次の例のようなターゲット Lambda 関数にペイロードが送信されます。

```
{
  "Message":{},
  "Data":"The payload that's provided in the CustomMessage object in MessageConfiguration",
  "ApplicationId":"3a9b1f4e6c764ba7b031e7183example",
  "CampaignId":"13978104ce5d6017c72552257example",
  "TreatmentId":"0",
  "ActivityId":"575cb1929d5ba43e87e2478eeexample",
  "ScheduledTime":"2020-04-08T19:00:16.843Z",
  "Endpoints":{
    "1dbcd396df28ac6cf8c1c2b7fexample":{
      "ChannelType":"EMAIL",
      "Address":"mary.major@example.com",
      "EndpointStatus":"ACTIVE",
      "OptOut":"NONE",
      "Location":{
        "City":"Seattle",
        "Country":"USA"
      },
      "Demographic":{
        "Make":"OnePlus",
        "Platform":"android"
      },
      "EffectiveDate":"2020-04-01T01:05:17.267Z",
      "Attributes":{
        "CohortId":[
          "42"
        ]
      },
      "CreationDate":"2020-04-01T01:05:17.267Z"
    }
  }
}
```

イベントデータは次の属性を提供します。
+ `ApplicationId` – キャンペーンが属する Amazon Pinpoint プロジェクトの ID。
+ `CampaignId` – Lambda 関数を呼び出した Amazon Pinpoint キャンペーンの ID。
+ `TreatmentId` – キャンペーンバリアントの ID。標準キャンペーンを作成した場合、この値は常に 0 です。A/B テストキャンペーンを作成した場合、この値は 0～4 の整数です。
+ `ActivityId` – キャンペーンによって実行中のアクティビティの ID。
+ `ScheduledTime` – Amazon Pinpoint がキャンペーンを実行した時刻。ISO 8601 形式で表示されます。
+ `Endpoints` – キャンペーンのターゲットとなったエンドポイントのリスト。各ペイロードには、最大 50 のエンドポイントを含めることができます。キャンペーンの送信先セグメントに 50 以上のエンドポイントが含まれている場合、Amazon Pinpoint はすべてのエンドポイントが処理されるまで、繰り返し関数を呼び出します (最大で一度に 50 のエンドポイント)。

このサンプルデータは、カスタムチャンネルの Lambda 関数を作成およびテストするときに使用できます。