> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SparkPost を設定する

## 概要

この記事は、プライマリアカウントの管理者（サブアカウントのユーザーではない）を対象としています。SparkPost および SparkPost Enterprise のサブアカウント機能について紹介します。サブアカウント機能を使用すると、個別の事業部門、メールストリーム、または顧客（メールサービスプロバイダーの場合）を、すべて SparkPost アカウント内からサポートできます。サブアカウントを使用すると、これらの各ユニットに SparkPost メッセージングサービス API への直接アクセスを許可できます。

## 用語

| 用語 | 定義 |
| - | - |
| プライマリアカウント | すべてのサブアカウントの元となる最上位の組織を指します。 |
| サブアカウント | 個別の事業部門、メールストリーム、または個々の顧客をサポートするために作成する個別のエンティティです。 |
| サブアカウントアセット | 抑制リスト、API キー、送信ドメイン、テンプレートなど、サブアカウントのみに属するデータ要素です。 |

## サブアカウント機能の概要

次のことが可能になります。

* 個々のサブアカウントのプロビジョニングとアクセス管理（API キー、許可された送信ドメインなどの提供を含む）
* サブアカウントごとにアプリでレポートを実行する
* サブアカウントごとに生のメッセージイベントデータを取得する
* Metrics API を使用してサブアカウントごとに集計統計を取得する
* サブアカウントごとに抑制リストを自動的に分離する
* 特定のサブアカウントの生イベントデータのみを受信する Webhook を作成する
* Webhook データストリーム内の各生イベントでサブアカウントを識別する
* サブアカウントごとにテンプレートを作成、編集、表示、使用する

さらに、サブアカウントのユーザーは次のことができます。

* SMTP 経由でメッセージを投入する
* REST API トランスミッション経由でメッセージを投入する（インラインテンプレートおよびインラインの単一/複数受信者のみ）
* API 経由で独自の送信ドメインをセットアップする
* API 経由で生のメッセージイベントデータを取得する
* API 経由で抑制リストを表示・管理する
* API 経由で独自の Webhook を作成する
* API 経由でテンプレートを作成、編集、表示、使用する
* UI 経由で Signals Analytics にアクセスする

## ユースケース

サブアカウントは、ニーズに応じてさまざまな方法で使用できます。サブアカウントをセットアップする最も一般的な理由は、各ユニットが（異なる送信ドメインと API キーを使用して）SparkPost に個別にアクセス・使用できるようにし、それに応じてレポートデータを分離することです。

以下は、サブアカウントを使用する一般的なユースケースの候補です。

* 複数の独自の顧客に対するサービスプロバイダーである。
* 互いに独立して運営される独自の社内事業部門がある。
* ミッションクリティカルな特定のメールストリーム/キャンペーンがあり、そのデータを他のメールストリーム/キャンペーンとは別にトラッキング・隔離したい。

## プライマリアカウント：サブアカウントの管理

### サブアカウントの作成

社内の管理者は、必要な数だけサブアカウントを作成できます。サブアカウントの作成は、アプリまたはサブアカウント API のいずれかで行えます。サブアカウントが最初に作成されると、アプリまたは API で初期 API キーを作成しないことを選択していない限り（すぐ下の注を参照）、選択した権限でそのサブアカウント固有の API キーが作成されます。追加のサブアカウント API キーは、アプリを使用して作成する必要があります。

**注**：サブアカウントを最初に作成する際に、API キーの初期作成をスキップするオプションがあります。この操作は、アプリまたは API で行えます。以下は、アプリでサブアカウント API キーの初期作成をスキップしているスクリーンショットです。「create API key」というチェックボックスがオフになっているため、アプリからすべての API キーオプションが削除されていることに注目してください。

<img src="https://mintcdn.com/moengage/Bd87UYpsGgaHFmzr/images/partner_26835292621972.png?fit=max&auto=format&n=Bd87UYpsGgaHFmzr&q=85&s=d9bd9c7171bcf2d0bf4f0b1549f5112f" alt="1.png" width="4644" height="2138" data-path="images/partner_26835292621972.png" />

「setup\_api\_key」ブール文字列を使用して、サブアカウントの初期作成時に API キーの生成をスキップする方法に関するドキュメントについては、こちらをクリックしてください。

**注**：サブアカウントを他のサブアカウントの下にネストすることはできません。

アプリでのサブアカウントの作成は次のように表示されます。

<img src="https://mintcdn.com/moengage/Bd87UYpsGgaHFmzr/images/partner_26835292630932.png?fit=max&auto=format&n=Bd87UYpsGgaHFmzr&q=85&s=7581478d12bad56c84c220fa7c12b242" alt="2.png" width="3632" height="1684" data-path="images/partner_26835292630932.png" />

以下は、サブアカウント API キーでサポートされている権限のリストです。

* SMTP 経由でアウトバウンドメッセージを送信する
* REST API トランスミッション経由でアウトバウンドメッセージを送信する（インラインテンプレートおよびインラインの単一/複数受信者のみ）
* 送信ドメイン（読み取り/書き込み）
* トラッキングドメイン（読み取り/書き込み）
* Message Events API（読み取り専用）
* 抑制リスト（読み取り/書き込み）
* イベント Webhook（読み取り/書き込み）
* テンプレート（読み取り/書き込み/プレビュー）

### デフォルト IP プールの設定

**注**：専用 IP がない場合は、デフォルト IP プールを設定しないでください。

サブアカウントを作成した後、プライマリアカウントはサブアカウントにデフォルト IP プールを割り当てることができます。これにより、サブアカウントが投入するすべてのメッセージは、自動的にその IP プールを使用します。つまり、サブアカウントのトランスミッションで ip\_pool 値を指定する必要はありません。割り当てられたデフォルト IP プールとは異なる ip\_pool 値を指定しようとすると、サブアカウントはエラーを受け取ります。サブアカウントのデフォルト IP プールの割り当ては、サブアカウントのアプリまたはサブアカウント API エンドポイントのいずれかで実行できます。

**注**：IP プール ID のキー/フィールドに設定された値に対しては、最小限の検証のみが行われます。不一致エラーが発生した場合、そのサブアカウントから試行されたすべてのメッセージが拒否されます。

**注**：サブアカウントにデフォルト IP プールを設定しない場合、サブアカウントはアカウントの任意の IP プールを使用できます。サブアカウントのトランスミッションで IP プールが指定されていない場合、SparkPost はアカウントレベルのデフォルト IP プールを使用します。アカウントに専用 IP がない場合は、SparkPost の共有 IP プールが使用されます。

### 権限

プライマリアカウントの Admin ユーザーと Developer ユーザーは、サブアカウントを作成できます。プライマリアカウントの Templates ユーザーと Reporting ユーザーは、すべてのサブアカウントに関する情報を表示できます。Reporting ユーザーは、必要に応じて、プライマリアカウントではなく特定のサブアカウントに割り当てることができます。詳細については、以下の「サブアカウントの UI アクセス」を参照してください。

ユーザーロールの詳細はこちらをご覧ください。

### サブアカウントのステータス

管理者は、サブアカウント名を編集したり、サブアカウントのステータスを変更したりすることもできます。サブアカウントには 3 種類のステータスがあります。

* **Active** - サブアカウントは、API キーで付与されたすべての権限を使用できます
* **Suspended** - サブアカウントの権限は読み取り専用に変更されます。サブアカウントはメッセージを送信できなくなり、作成、編集、削除の操作も使用できなくなります。この状態でも、サブアカウントはアセットを表示・取得できます。
* **Terminated** - このステータスは Suspended と同じように機能しますが、恒久的なステータス変更を意味します。プライマリアカウントは、このステータスを使用して、サブアカウントが有効な顧客/事業部門/メッセージストリームではなくなったことを示すことができます。現在、サブアカウントの削除はサポートされていません。

### サブアカウントのユーザーに提供するもの

顧客/サブアカウントのユーザーに提供する必要があるのは、サブアカウントの API キーのみです。サブアカウントの作成時に作成されたデフォルトの API キーによって許可されるすべての操作に、このキーを使用します。

サブアカウントのユーザーが SparkPost UI に直接アクセスできるようにしたい場合は、必要に応じて Subaccount Reporting User のログインを作成できます。

## プライマリアカウント：サブアカウントごとのレポート

プライマリアカウントは、アプリで単一のサブアカウントごとにレポートをフィルタリングできます。これらのレポートには次のものが含まれます。

* Summary
* Bounces
* Rejections
* Accepted
* Delayed
* Engagement

サブアカウントのクエリ文字列を追加すると、プライマリアカウントは API でも単一のサブアカウントごとにレポートをフィルタリングできます。これには、次に含まれるデータが該当します。

* Message Events API
* Metrics API

サブアカウントのイベントデータは、Webhook と Message Events API を介して提供されます。subaccount\_id のキー/値ペアは、イベントがどのサブアカウントに帰属するかを示します。この属性を使用して、SparkPost の外部でサブアカウントごとに生イベントをフィルタリング/管理できます。特定のサブアカウントの生イベントデータのみをストリーミングする Webhook を作成できることに注意してください。

## プライマリアカウント：サブアカウントに代わって操作する

以下に示す各 API について、プライマリアカウントはサブアカウントに代わっていくつかの操作を実行できます。サブアカウントに代わってアクションを実行する場合は、選択したサブアカウントに関連付けられたサブアカウント ID を値として設定した X-MSYS-SUBACCOUNT HTTP ヘッダーを含める必要があります（SMTP 投入は例外です。以下を参照）。

### 送信ドメイン

プライマリアカウントは、X-MSYS-SUBACCOUNT HTTP ヘッダーを含めることで、アプリまたは送信ドメイン API を使用して、サブアカウントに代わって送信ドメインをプロビジョニングできます。

送信ドメインが作成されると、X-MSYS-SUBACCOUNT HTTP ヘッダー（API）またはアプリのサブアカウントフィールドで指定されたサブアカウントに関連付けられます。API 呼び出しにヘッダーが含まれていない場合、送信ドメインは代わりにプライマリアカウントに関連付けられます。

送信ドメインを別のサブアカウントに関連付けたい場合は、送信ドメインを削除し、目的のサブアカウント ID を割り当てて再作成する必要があります。

**注**：プライマリアカウントは送信ドメインを作成し、プライマリアカウントに割り当てたままにすることができます。その後、プライマリアカウントは API またはアプリでフラグを設定して、その送信ドメインをすべてのサブアカウントとプライマリアカウントで使用できることを示せます。API ではこのフィールドは「shared with subaccounts」と呼ばれ、アプリでは「share with subaccounts 」というラベルのチェックボックスがあります。プライマリアカウントとすべてのサブアカウントの両方が同じ送信ドメインを使用できるようにするには、これらのいずれかを有効にする必要があります。

### トラッキングドメイン

プライマリアカウントは、アプリと API の両方で、サブアカウントのトラッキングドメインに対して CRUD（作成/読み取り/更新/削除）操作を実行できます。

* プライマリアカウントは、作成時にサブアカウントにトラッキングドメインを割り当てることができます。
* プライマリアカウントは、トラッキングドメインのリストをサブアカウントごとにフィルタリングできます。
* プライマリアカウントは、DNS レコードへのアクセス権があれば、サブアカウントのトラッキングドメインを検証できます。

プライマリアカウントは、トラッキングドメインを送信ドメインにリンクできます。このオプションは送信ドメインのページにあります。注：送信ドメインとトラッキングドメインの両方が、同じサブアカウントに割り当てられている必要があります。また、「共有」送信ドメインにリンクされたトラッキングドメインも、すべてのサブアカウントで使用できます。

アプリのトラッキングドメインのページで「Hide Subaccounts」チェックボックスがオンになっている場合、プライマリアカウントのトラッキングドメインのみが表示されます。

プライマリアカウントは、サブアカウントのデフォルトのトラッキングドメインを設定できます。デフォルトとして設定できるのは、検証済みのトラッキングドメインのみです。注：サブアカウントには、複数のトラッキングドメインを割り当てることができます。サブアカウントに関連付けられたトラッキングドメインがない場合、プライマリアカウントのデフォルトのトラッキングドメインが使用されます。

### 抑制リスト

プライマリアカウントは、X-MSYS-SUBACCOUNT HTTP ヘッダーを含めて抑制リスト API を使用することで、サブアカウントの抑制リストを更新できます。X-MSYS-SUBACCOUNT HTTP ヘッダーを含まない抑制リスト API 呼び出しは、プライマリアカウントの抑制リストに対して実行されます。

サブアカウントのトラフィックはサブアカウントの抑制リストに対してのみチェックされ、プライマリアカウントの抑制リストに対してはチェックされません。プライマリアカウントがすべてのサブアカウントでアドレスを抑制したい場合は、各サブアカウントの抑制リストをそれに応じて更新する必要があります。

### Transmissions API

プライマリアカウントは、X-MSYS-SUBACCOUNT HTTP ヘッダーを含めることで、Transmission API を使用してサブアカウントとして送信できます。ヘッダーが存在しない場合、トランスミッションはプライマリアカウントとして実行されます。

### SMTP 投入

プライマリアカウントは、TLS の auth-password フィールドに SMTP 権限を持つサブアカウントの API キーを指定することで、サブアカウントの SMTP に代わってトラフィックを送信できます。注：プライマリアカウントは、標準の「SMTP\_Injection」ユーザーにサブアカウント ID を付加することで、プライマリアカウントの API キーを使用して送信できます。この操作の実行方法の詳細については、ドキュメントを参照してください。

### イベント Webhook

プライマリアカウントは、X-MSYS-SUBACCOUNT HTTP ヘッダーを含めることで、Webhooks API を使用してサブアカウントとして Webhook を作成できます。ヘッダーが 0 の場合、サブアカウント以外のイベントのみがポストされます。ヘッダーが存在しない場合、Webhook にはアカウントのすべてのイベントが含まれます。

アプリ内で新しい Webhook を作成する際、サブアカウントフィールドを空白のままにすると、作成された Webhook にはアカウントのすべてのイベントが含まれます。Primary Account を選択すると、Webhook にはサブアカウント以外のイベントのみが含まれます。サブアカウントを選択すると、Webhook にはそのサブアカウントのイベントのみが含まれます。

<img src="https://mintcdn.com/moengage/Bd87UYpsGgaHFmzr/images/partner_26835292651284.png?fit=max&auto=format&n=Bd87UYpsGgaHFmzr&q=85&s=aa2ae036be84b5daee478882e9620eb6" alt="3.png" width="4484" height="2724" data-path="images/partner_26835292651284.png" />

### テンプレート

プライマリアカウントは、API でテンプレートを作成し、X-MSYS-SUBACCOUNT HTTP ヘッダーを使用して単一のサブアカウントに割り当てるか、プライマリアカウントの API キーを使用してすべてのサブアカウントと共有できます。以下のスクリーンショットのように、SparkPost アプリの「Templates」ページを使用して、サブアカウントに代わってテンプレートを作成することもできます。

<img src="https://mintcdn.com/moengage/Bd87UYpsGgaHFmzr/images/partner_26835284436884.png?fit=max&auto=format&n=Bd87UYpsGgaHFmzr&q=85&s=bfdeb6f38f14f975f9bc90ae9ea6e1ab" alt="4.png" width="4676" height="2918" data-path="images/partner_26835284436884.png" />

サブアカウントのテンプレート使用に関する**注**：プライマリアカウントがテンプレートを作成し、サブアカウントと共有することを選択しなかった場合、そのテンプレートを使用できるのはプライマリアカウントのみです。テンプレートがすべてのサブアカウントと共有されている場合、すべてのサブアカウントがテンプレートを使用できますが、編集権限を持つのはプライマリアカウントのみです。プライマリアカウントがサブアカウントに代わってテンプレートを作成し、単一のサブアカウントに割り当てた場合、プライマリアカウントとサブアカウントの両方がそのテンプレートを使用・編集できます。

## サブアカウントのセルフサービス

サブアカウントは、システムの操作、データ、アセットへのアクセスが制限されています。アクセスは、サブアカウントに提供する API キーの権限に限定されます。サブアカウントは、Message Events API から取得される自身のメッセージイベントデータのみを取得できます。

* 以下の API はサブアカウントのセルフサービスをサポートしています。これらは、プライマリアカウントによって適切な権限が割り当てられている場合にのみ、サブアカウントで使用できます。\
  SMTP API - SMTP 投入
* Transmission API - REST 投入（インラインテンプレートおよび単一/複数のインライン受信者のみ）
* Message Events API
* Sending Domains API
* Tracking Domains API
* Suppression List API
* Event Webhooks API
* Templates API

サブアカウントのユーザーに提供される送信ドメインとトラッキングドメインの機能は、作成、編集、削除のほか、自身の送信ドメイン/トラッキングドメインの検証です。サブアカウントは、固有の抑制リストを編集・取得したり、独自のテンプレートを作成、編集、削除したりすることもできます。

**注**：上記のレポートに対して API リクエストを行う場合、サブアカウントはペイロードでサブアカウント ID を指定する必要はありません。サブアカウント ID は関連付けられた API キーに紐付けられているため、含めた場合でも、値にかかわらず常に上書きされます。この制限により、サブアカウントが別のサブアカウント ID を偽装して、他のサブアカウントやプライマリアカウントのデータやアセットにアクセスすることはできません。

## サブアカウントの UI アクセス

\*アクセスは制限されています。アカウントでこのオプションを有効にするには、サポートチームまたはテクニカルアカウントマネージャーにお問い合わせください。

「Reporting」ロールを持つユーザーは、特定のサブアカウントに割り当てることができます。これらのユーザーは、SparkPost UI 内でそのサブアカウントに関する情報にのみアクセスできます。Signals アナリティクスとイベントデータにアクセスできます。また、特定のサブアカウントに関連付けられた、またはすべてのサブアカウントと共有されたテンプレートとスニペットへの読み取り専用アクセス権も持ちます。

その他の留意事項：

* サブアカウントの Reporting ユーザーは、アプリで自身のサブアカウント名と ID を確認できます。
* Reporting ユーザーをサブアカウントに割り当てられるのは、アカウントの作成時のみです。既存のユーザーを特定のサブアカウントに割り当てたい場合は、ユーザーを削除して再追加する必要があります。
* Reporting ユーザーを別のサブアカウントに切り替えたり、プライマリアカウントに変更したりすることはできません。これらの変更を行いたい場合は、ユーザーを削除して再追加する必要があります。
* Reporting ユーザーは、単一のサブアカウントにのみ割り当てることができます。

サブアカウントの UI アクセスは、社内では無料で使用でき、再販契約を通じて顧客に提供することもできます。アカウントでこのオプションを有効にするには、サポートチームまたはテクニカルアカウントマネージャーにお問い合わせください。

サブアカウントの作成、一覧表示、編集に関する完全なドキュメントは、こちらの API ドキュメントで確認できます。上記のサポートされている API 呼び出しのドキュメントにも、サブアカウントの追加オプションが含まれています。
