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

# 配信ツール

> 配信アカウント・シナリオの操作ツール

## 概要

配信系ツールでは、メール配信・LINE配信のアカウントとシナリオ（配信シーケンス）を管理できます。

```
配信アカウント
  └── シナリオ（ステップメール・LINE配信シーケンス）
```

アカウントのタイプは3種類あります。

| タイプ         | 説明         |
| ----------- | ---------- |
| `mail`      | メール配信専用    |
| `line`      | LINE配信専用   |
| `mail_line` | メール・LINE併用 |

## アカウント操作

### message\_account\_list

配信アカウントの一覧を取得します。タイプや名前で絞り込みできます。

**パラメータ:**

| パラメータ  | 型      | 必須 | 説明                                   |
| ------ | ------ | -- | ------------------------------------ |
| `type` | enum   | -  | 種類で絞り込み（`mail`, `line`, `mail_line`） |
| `name` | string | -  | アカウント名で部分一致検索                        |

**指示例:**

* 「配信アカウント一覧を見せて」
* 「LINE配信のアカウントを検索して」
* 「"メルマガ"を含むアカウントを探して」

***

### message\_account\_create

配信アカウントを新規作成します。

**パラメータ:**

| パラメータ  | 型      | 必須 | 説明                              |
| ------ | ------ | -- | ------------------------------- |
| `name` | string | 必須 | アカウント名（最大255文字）                 |
| `type` | enum   | 必須 | 種類（`mail`, `line`, `mail_line`） |

**指示例:**

* 「"新商品メルマガ"というメール配信アカウントを作成して」
* 「LINE配信用のアカウントを作って」

## シナリオ操作

### message\_scenario\_list

指定アカウント配下のシナリオ一覧を取得します。タイトルで部分一致検索できます。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明              |
| ------------ | ------ | -- | --------------- |
| `account_id` | string | 必須 | アカウントID         |
| `title`      | string | -  | 管理用シナリオ名で部分一致検索 |

**指示例:**

* 「このアカウントのシナリオ一覧を見せて」
* 「"セミナー"を含むシナリオを検索して」

***

### message\_scenario\_create

シナリオを新規作成します。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明                |
| ------------ | ------ | -- | ----------------- |
| `account_id` | string | 必須 | アカウントID           |
| `title`      | string | 必須 | 管理用シナリオ名（最大255文字） |
| `open_title` | string | -  | 公開用シナリオ名（最大255文字） |

<Tip>
  `open_title` はフォームの公開ページ等で表示されるタイトルです。未指定の場合は空（null）になります。
</Tip>

**指示例:**

* 「"無料メール講座"というシナリオを作成して」
* 「新しいステップメールのシナリオを追加して」

## メッセージ操作

シナリオ配下の配信メッセージ（メール・LINE・SMS・アクション）を作成・編集・削除します。

<Note>
  メッセージ系ツール（`message_list` / `message_create` / `message_get` / `message_update` / `message_delete` / `message_test_send` / `message_stats_get` / `message_scenario_stats_list`）はプレビュー機能です。仕様が変更される場合があります。
</Note>

### message\_list

指定シナリオ配下のメッセージ一覧を取得します。媒体・配信タイプ・ステータスで絞り込みできます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型       | 必須 | 説明                                                      |
| ------------- | ------- | -- | ------------------------------------------------------- |
| `account_id`  | string  | 必須 | アカウントID                                                 |
| `scenario_id` | string  | 必須 | シナリオID                                                  |
| `channel`     | enum    | -  | 媒体で絞り込み（`mail`, `line`, `sms`, `action`）                |
| `type`        | enum    | -  | 配信タイプで絞り込み（`broadcast`, `step`, `reminder`）             |
| `status`      | enum    | -  | ステータスで絞り込み（`draft`, `reserved`, `sending`, `completed`） |
| `page`        | integer | -  | ページ番号（デフォルト1）                                           |
| `per_page`    | integer | -  | 1ページあたりの件数（デフォルト20、最大100）                               |

**指示例:**

* 「このシナリオの配信メッセージ一覧を見せて」
* 「下書きのメールだけ表示して」

***

### message\_create

メッセージを新規作成します。`channel` と `type` は作成後に変更できません。`status=reserved`（予約）にすると配信安全制御・DKIM/SMS前提チェックが実行されます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

<Warning>
  `channel=mail` のメール本文には配信解除URL（`%cancel%` または `%cancelall%`）を必ず含めてください。含めないとバリデーションエラーになります。
</Warning>

**主要パラメータ:**

| パラメータ            | 型       | 必須   | 説明                                                            |
| ---------------- | ------- | ---- | ------------------------------------------------------------- |
| `account_id`     | string  | 必須   | アカウントID                                                       |
| `scenario_id`    | string  | 必須   | シナリオID                                                        |
| `channel`        | enum    | 必須   | 媒体（`mail`, `line`, `sms`, `action`）。作成後変更不可                   |
| `type`           | enum    | 必須   | 配信タイプ（`broadcast`, `step`, `reminder`）。作成後変更不可                |
| `status`         | enum    | -    | ステータス（`draft`（デフォルト）, `reserved`）                             |
| `title`          | string  | -    | 管理名称（最大255文字）                                                 |
| `use_ab_test`    | integer | -    | A/Bテスト使用（0=無効、1=有効）                                           |
| `mail`           | object  | 条件付き | メール原稿（`channel=mail` 時に必須）                                    |
| `line`           | object  | 条件付き | LINE原稿（`channel=line` 時に必須）                                   |
| `sms`            | object  | 条件付き | SMS原稿（`channel=sms` 時に必須）                                     |
| `action_id`      | string  | 条件付き | 配信後に実行するアクションID（`channel=action` かつ `status=reserved` 時に必須）   |
| `conditions`     | array   | -    | 配信条件（`message_condition_types` で取得した key/condition/value を使用） |
| `url_actions`    | array   | -    | URLアクション                                                      |
| `shorten_type`   | enum    | -    | URL置換方法（`shorten_url`（デフォルト）, `original_url`）                 |
| `shorten_domain` | string  | -    | URL置換ドメイン                                                     |

**送信タイミングパラメータ（`type` 別）:**

| パラメータ            | 型       | 説明                                                                                              |
| ---------------- | ------- | ----------------------------------------------------------------------------------------------- |
| `send_type`      | string  | 送信タイプ。broadcast: `immediately`/`scheduled`。step: `immediately`/`scheduled`/`scheduled_addition` |
| `send_date`      | string  | 送信日（broadcast用、YYYY-MM-DD）                                                                      |
| `send_day`       | integer | 送信日数（step: 登録からの日数、reminder: 基準日からの日数）                                                          |
| `send_hour`      | integer | 送信時（0-23）                                                                                       |
| `send_min`       | integer | 送信分（0-59）                                                                                       |
| `send_timing`    | string  | 送信タイミング（reminder用。`before`/`after`/`today`/`addition_before`/`addition_after`）                  |
| `base_date`      | string  | 基準日の読者項目名（reminder用。`message_placeholder_list` の reader\_item から取得）                             |
| `step_send_type` | string  | ステップ送信タイプ（step用。`none`/`immediately`）                                                           |

**原稿オブジェクトの構造:**

* `mail`: `{type: "plain_text"|"html", from_name, from_mail, subject, text（plain_text時）, elements（html時）, preview_text（最大150文字）}`。HTMLメールの `elements` のプロパティ名は `element_types_mail` / `element_types_mail_properties` で確認してください。
* `line`: `{sender_id?, messages: [...]（最大5件）}`。タイプ別の詳細は `message_types_line` を参照してください。
* `sms`: `{message: "本文（最大360文字、絵文字不可）"}`。

**指示例:**

* 「明日の10時に一斉送信するメールを作成して」
* 「登録3日後に届くステップメールを下書きで作って」

***

### message\_get

メッセージの詳細情報を取得します。メール本文やHTMLメール要素構造、LINEメッセージ、URLアクションを含みます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `message_id`  | string | 必須 | メッセージID |

**指示例:**

* 「このメッセージの内容を見せて」
* 「メールの本文を確認したい」

***

### message\_update

既存メッセージを部分更新します。指定したフィールドのみ変更され、省略したフィールドは既存値を維持します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

`message_create` と同じフィールド群を任意で指定できます。加えて以下が必須です。

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `message_id`  | string | 必須 | メッセージID |

**注意事項:**

* `channel` / `type` は変更できません（既存と異なる値を指定すると422 validation\_error）。
* 空のボディは何も変更しません（200で現在値を返します）。
* `conditions` / `url_actions` / `line.messages` は指定すると全件置換されます（省略時は既存維持）。
* `status` を `draft`→`reserved` で予約実行、`reserved`→`draft` で予約解除。
* `reserved` 状態で送信日時・条件・A/Bテストを変更すると配信予約が自動で再作成されます。再作成から5分間は再変更できず、`429`（クールダウン）が返ります。
* `sending` / `completed` のメッセージは更新できません（409）。

**指示例:**

* 「このメールの件名を変更して」
* 「予約を解除して下書きに戻して」

***

### message\_delete

メッセージを論理削除します。未送信の配信予約（キュー）は削除されますが、メール原稿・配信条件・URLアクションは保持されます。送信中のメッセージは削除できません。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `message_id`  | string | 必須 | メッセージID |

**指示例:**

* 「このメッセージを削除して」

***

### message\_test\_send

メッセージのテスト送信を実行します（`channel=mail` / `line` / `sms` のみ。`channel=action` は非対応）。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

<Note>
  `type=step` / `type=reminder` のメッセージは、設定済みの日時指定を無視して即時テスト送信されます。本番配信のスケジュールはそのまま保持されます。
</Note>

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明                                                                                             |
| ------------- | ------ | -- | ---------------------------------------------------------------------------------------------- |
| `account_id`  | string | 必須 | アカウントID                                                                                        |
| `scenario_id` | string | 必須 | シナリオID                                                                                         |
| `message_id`  | string | 必須 | メッセージID                                                                                        |
| `to`          | string | 必須 | 送信先。mail=メールアドレス、line=LINE友だちID（`message_reader_get` の `line_friend_id`。未登録の読者へは送信不可）、sms=電話番号 |

**指示例:**

* 「このメールを自分宛にテスト送信して」

## 配信統計

メッセージの送信数・開封率・クリック率・配信解除数を取得します。

<Note>
  配信統計ツール（`message_stats_get` / `message_scenario_stats_list`）はプレビュー機能です。仕様が変更される場合があります。
</Note>

### message\_scenario\_stats\_list

シナリオ内のメッセージごとの配信統計（送信数・開封数・開封率・クリック数・クリック率・解除数）を一覧で取得します。A/Bテスト（メール件名）のパターン別集計も含みます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型       | 必須 | 説明                                          |
| ------------- | ------- | -- | ------------------------------------------- |
| `account_id`  | string  | 必須 | アカウントID                                     |
| `scenario_id` | string  | 必須 | シナリオID                                      |
| `channel`     | enum    | -  | 媒体で絞り込み（`mail`, `line`, `sms`, `action`）    |
| `type`        | enum    | -  | 配信タイプで絞り込み（`broadcast`, `step`, `reminder`） |
| `date_from`   | string  | -  | 集計開始日（YYYY-MM-DD）                           |
| `date_to`     | string  | -  | 集計終了日（YYYY-MM-DD）                           |
| `page`        | integer | -  | ページ番号                                       |
| `per_page`    | integer | -  | 1ページあたりの件数（最大100）                           |

**指示例:**

* 「このシナリオのメッセージ別の開封率を一覧で見せて」
* 「先月の配信成績をまとめて」

***

### message\_stats\_get

指定したメッセージ単体の配信統計を取得します。`date_from` / `date_to` で期間指定できます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明              |
| ------------- | ------ | -- | --------------- |
| `account_id`  | string | 必須 | アカウントID         |
| `scenario_id` | string | 必須 | シナリオID          |
| `message_id`  | string | 必須 | メッセージID         |
| `date_from`   | string | -  | 開始日（YYYY-MM-DD） |
| `date_to`     | string | -  | 終了日（YYYY-MM-DD） |

**指示例:**

* 「このメールの開封率とクリック率を教えて」

## 置き換え文字

### message\_placeholder\_list

シナリオで使用できる置き換え文字（書式は `%name%`）の一覧を取得します。カテゴリで絞り込みできます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明                                                                      |
| ------------- | ------ | -- | ----------------------------------------------------------------------- |
| `account_id`  | string | 必須 | アカウントID                                                                 |
| `scenario_id` | string | 必須 | シナリオID                                                                  |
| `category`    | string | -  | カテゴリで絞り込み（`reader_item`, `system`, `text_template`, `payment`, `event`） |

**レスポンスの補足:**

* `reader_item` の項目には `is_filterable`（boolean）が付与されます。`true` の項目のみ `message_reader_list` / `message_reader_list_all` の `conditions.rules[].key` として使用できます。
* `reader_item` の項目には `field_group`（`scenario_fields` | `common_fields`）が付与されます。`common_fields` を更新すると同一人物の全シナリオに波及します。

**指示例:**

* 「このシナリオで使える置き換え文字を見せて」
* 「読者の名前を差し込む置き換え文字を教えて」

## 読者操作

<Note>
  読者系ツールはプレビュー機能です。仕様は今後変更される可能性があります。
</Note>

### message\_reader\_list

シナリオ別の読者一覧を取得します。`conditions` で配信条件と同じ構造の絞り込みができます（JSON文字列でも可）。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型       | 必須 | 説明                      |
| ------------- | ------- | -- | ----------------------- |
| `account_id`  | string  | 必須 | アカウントID                 |
| `scenario_id` | string  | 必須 | シナリオID                  |
| `conditions`  | array   | -  | 配信条件による絞り込み（JSON文字列でも可） |
| `page`        | integer | -  | ページ番号                   |
| `per_page`    | integer | -  | 1ページあたりの件数（既定20・最大100）  |

**conditions の key 制約:** 特別キー（`label` / `scenario` / `broadcast` / `tracking` / `status` / `base_date` 等）に加え、該当シナリオの登録フォームに組み込まれた読者項目（`message_placeholder_list` で `is_filterable=true` の `reader_item`）のみ使用できます。`base_datetime` は配信条件専用で読者一覧では使用できません。各読者の読者項目は `scenario_fields`（シナリオ固有）/ `common_fields`（全シナリオ共通）の2グループで返ります。

**指示例:**

* 「このシナリオの読者一覧を見せて」
* 「"見込み客"ラベルが付いた読者を抽出して」

***

### message\_reader\_list\_all

アカウント配下の全シナリオを横断して読者一覧を取得します。`conditions` で絞り込みができます（JSON文字列でも可）。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型       | 必須 | 説明                      |
| ------------- | ------- | -- | ----------------------- |
| `account_id`  | string  | 必須 | アカウントID                 |
| `scenario_id` | string  | -  | シナリオIDで絞り込み             |
| `conditions`  | array   | -  | 配信条件による絞り込み（JSON文字列でも可） |
| `page`        | integer | -  | ページ番号                   |
| `per_page`    | integer | -  | 1ページあたりの件数（既定20・最大100）  |

**conditions の key 制約:** シナリオ横断のため、読者項目で使用できるキーは `name` / `mail` のみです（特別キーは使用可）。シナリオ固有の読者項目で絞り込むには `message_reader_list` を使用してください。

**指示例:**

* 「アカウント全体の読者一覧を見せて」
* 「全シナリオから特定のメールアドレスの読者を探して」

***

### message\_reader\_get

読者の詳細情報を取得します。読者項目は `scenario_fields`（シナリオ固有）/ `common_fields`（全シナリオ共通）の2グループで返り、トップレベルはシステム情報のみです。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者の詳細を見せて」
* 「読者の登録項目を確認したい」

***

### message\_reader\_create

指定シナリオに読者を1件登録します。オプトインを取得済みのアドレスのみ登録してください。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ                  | 型       | 必須 | 説明                                                                                    |
| ---------------------- | ------- | -- | ------------------------------------------------------------------------------------- |
| `account_id`           | string  | 必須 | アカウントID                                                                               |
| `scenario_id`          | string  | 必須 | シナリオID                                                                                |
| `opt_in_confirmed`     | boolean | 必須 | オプトイン取得済みの確認（`true` のみ受付）                                                             |
| `scenario_fields`      | object  | -  | シナリオ固有の読者項目。メールアドレスはここに指定（`scenario_fields.mail`。メール／メール・LINE併用のアカウントでは必須）。JSON文字列でも可 |
| `common_fields`        | object  | -  | 全シナリオ共通の読者項目（JSON文字列でも可）                                                              |
| `has_step_immediately` | boolean | -  | 登録直後のステップ配信の対象にする（作成時のみ指定可能）                                                          |
| `has_step_scheduled`   | boolean | -  | ステップ配信の対象にする                                                                          |
| `has_reminder`         | boolean | -  | リマインダ配信の対象にする                                                                         |
| `allow_duplicates`     | boolean | -  | 重複登録を許可する（既定false）                                                                    |

**指示例:**

* 「このシナリオに読者を1件登録して」
* 「メールアドレスと名前を指定して読者を追加して」

<Note>
  読者作成はバーストが発生するため分間レート制限（60回/分）の対象外で、独自の時間/月間上限で制御されます。
</Note>

***

### message\_reader\_update

読者を部分更新します。リクエストに含めたフィールドのみ変更し、省略したフィールドは既存値を維持します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ                 | 型       | 必須 | 説明                                           |
| --------------------- | ------- | -- | -------------------------------------------- |
| `account_id`          | string  | 必須 | アカウントID                                      |
| `scenario_id`         | string  | 必須 | シナリオID                                       |
| `reader_id`           | string  | 必須 | 読者ID                                         |
| `scenario_fields`     | object  | -  | シナリオ固有の読者項目。指定したキーのみ更新（JSON文字列でも可）           |
| `common_fields`       | object  | -  | 全シナリオ共通の読者項目。指定したキーのみ更新。全シナリオに波及（JSON文字列でも可） |
| `memo`                | string  | -  | メモ（全シナリオ共通の読者データ）                            |
| `base_date`           | string  | -  | 配信基準日時（`YYYY-MM-DD HH:mm:ss`）                |
| `has_step_scheduled`  | boolean | -  | ステップ配信の対象にする                                 |
| `has_reminder`        | boolean | -  | リマインダ配信の対象にする                                |
| `message_tracking_id` | string  | -  | シナリオ登録経路ID                                   |
| `funnel_tracking_id`  | string  | -  | ファネル登録経路ID                                   |

**指示例:**

* 「この読者の名前を変更して」
* 「読者の配信基準日を更新して」

***

### message\_reader\_label\_list

読者に付与されているラベル一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者に付いているラベルを見せて」

***

### message\_reader\_label\_create

読者にラベルを1件付与します。既に付与済みの場合は付与済みの情報を返します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明        |
| ------------- | ------ | -- | --------- |
| `account_id`  | string | 必須 | アカウントID   |
| `scenario_id` | string | 必須 | シナリオID    |
| `reader_id`   | string | 必須 | 読者ID      |
| `label_id`    | string | 必須 | 付与するラベルID |

**指示例:**

* 「この読者に"購入者"ラベルを付けて」

***

### message\_reader\_label\_delete

読者からラベルを1件解除します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明        |
| ------------- | ------ | -- | --------- |
| `account_id`  | string | 必須 | アカウントID   |
| `scenario_id` | string | 必須 | シナリオID    |
| `reader_id`   | string | 必須 | 読者ID      |
| `label_id`    | string | 必須 | 解除するラベルID |

**指示例:**

* 「この読者から"見込み客"ラベルを外して」

***

### message\_reader\_scenario\_list

同じ読者が登録されている他のシナリオ一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者が登録されている他のシナリオを見せて」

***

### message\_reader\_queue\_list

読者の配信予約（今後送信予定のメッセージ）一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者に今後送信される予定のメッセージを見せて」

***

### message\_reader\_sent\_list

読者への配信済メッセージ一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者に送信済みのメッセージ履歴を見せて」

***

### message\_reader\_open\_list

読者のメール開封履歴を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者のメール開封履歴を見せて」

***

### message\_reader\_click\_list

読者のクリック履歴を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明      |
| ------------- | ------ | -- | ------- |
| `account_id`  | string | 必須 | アカウントID |
| `scenario_id` | string | 必須 | シナリオID  |
| `reader_id`   | string | 必須 | 読者ID    |

**指示例:**

* 「この読者がクリックしたリンクの履歴を見せて」

## LINE友だち操作

### message\_line\_friend\_list

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だち一覧を取得します。LINE登録名・ブロック状態・配信除外・未読有無・ラベル等で絞り込みできます。ソートは `created_at`（登録順）または `last_acted_at`（最終アクション順）で、いずれも降順固定です。

**パラメータ:**

| パラメータ              | 型       | 必須 | 説明                                          |
| ------------------ | ------- | -- | ------------------------------------------- |
| `account_id`       | string  | 必須 | アカウントID                                     |
| `common_friend_id` | string  | -  | アカウント共通LINE友だちID（line\_user\_idのMD5）で完全一致検索 |
| `display_name`     | string  | -  | LINE登録名で部分一致検索                              |
| `is_blocked`       | boolean | -  | ブロック状態で絞り込み                                 |
| `is_exclusion`     | boolean | -  | 配信除外フラグで絞り込み（未指定時は両方返却）                     |
| `has_unread`       | boolean | -  | 未読メッセージの有無で絞り込み                             |
| `label_ids`        | array   | -  | ラベルIDの配列で絞り込み（複数指定時はAND条件）                  |
| `sort`             | string  | -  | ソート順（`created_at` / `last_acted_at`、降順固定）   |
| `page`             | integer | -  | ページ番号（デフォルト1）                               |
| `per_page`         | integer | -  | 1ページあたりの件数（デフォルト20、最大100）                   |

**指示例:**

* 「このアカウントのLINE友だち一覧を見せて」
* 「未読のある友だちだけ表示して」
* 「"田中"を含むLINE登録名の友だちを検索して」

***

### message\_line\_friend\_get

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちの詳細を取得します。共通読者ID・対応ステータス・ラベル・共通読者の読者項目（`common_fields`）・メモ・登録経路名等を含みます。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明        |
| ------------ | ------ | -- | --------- |
| `account_id` | string | 必須 | アカウントID   |
| `friend_id`  | string | 必須 | LINE友だちID |

**指示例:**

* 「この友だちの詳細を見せて」
* 「この友だちに付いているラベルを確認して」

***

### message\_line\_friend\_update

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちの属性を部分更新します。指定したフィールドのみ変更され、省略したフィールドは既存値を維持します。`is_blocked` はLINEプラットフォーム側の状態のため更新できません（含めても無視されます）。

**パラメータ:**

| パラメータ             | 型       | 必須 | 説明                      |
| ----------------- | ------- | -- | ----------------------- |
| `account_id`      | string  | 必須 | アカウントID                 |
| `friend_id`       | string  | 必須 | LINE友だちID               |
| `display_name`    | string  | -  | 表示名（最大20文字）             |
| `is_test_account` | boolean | -  | テスト対象フラグ                |
| `is_exclusion`    | boolean | -  | 配信除外フラグ（変更時は未読カウンタを再計算） |

**指示例:**

* 「この友だちをテスト対象にして」
* 「この友だちを配信除外に設定して」

***

### message\_line\_friend\_menu\_update

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちに紐づくリッチメニューを切り替えます。`rich_menu_id` に `null` を指定すると解除（unlink）します。キーを省略した場合は更新しません。

**パラメータ:**

| パラメータ          | 型      | 必須 | 説明                           |
| -------------- | ------ | -- | ---------------------------- |
| `account_id`   | string | 必須 | アカウントID                      |
| `friend_id`    | string | 必須 | LINE友だちID                    |
| `rich_menu_id` | string | -  | リッチメニューID。`null` で解除（unlink） |

**指示例:**

* 「この友だちのリッチメニューをAに切り替えて」
* 「この友だちのリッチメニューを解除して」

***

### message\_line\_friend\_reader\_create

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちを指定シナリオの読者として登録します。`allow_duplicates=false`（デフォルト）の場合、配信解除されていない同一の友だち×シナリオの読者が既に存在すると409を返します。

<Note>
  読者作成はバーストが発生しやすいため、このエンドポイントは分間レート制限（60回/分）の対象外です。代わりに時間単位・月間単位の作成上限で制御されます。
</Note>

**パラメータ:**

| パラメータ                  | 型       | 必須 | 説明                            |
| ---------------------- | ------- | -- | ----------------------------- |
| `account_id`           | string  | 必須 | アカウントID                       |
| `friend_id`            | string  | 必須 | LINE友だちID                     |
| `scenario_id`          | string  | 必須 | 登録先シナリオID                     |
| `has_step_immediately` | boolean | -  | 登録直後のステップ配信の対象にする（デフォルトfalse） |
| `has_step_scheduled`   | boolean | -  | 登録以降のステップ配信の対象にする（デフォルトfalse） |
| `has_reminder`         | boolean | -  | リマインダ配信の対象にする（デフォルトfalse）     |
| `allow_duplicates`     | boolean | -  | 重複登録を許可する（デフォルトfalse）         |

**指示例:**

* 「この友だちを"無料講座"シナリオに登録して」

## LINE 1対1チャット

### message\_line\_chat\_message\_send

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちに1対1チャットでメッセージを送信します。`type` で送信種別を指定し、種別ごとに必要なフィールドが異なります。ブロック済み（`is_blocked=true`）の友だちには送信できません。

**type別の必須フィールド:**

| type      | 必須フィールド                                     | 補足                                      |
| --------- | ------------------------------------------- | --------------------------------------- |
| `text`    | `text`                                      | 最大5000文字                                |
| `image`   | `original_content_url`                      | HTTPS必須。`preview_image_url` は指定不可（自動設定） |
| `video`   | `original_content_url`, `preview_image_url` | いずれもHTTPS必須                             |
| `audio`   | `original_content_url`, `duration`          | `duration` はミリ秒                         |
| `sticker` | `package_id`, `sticker_id`                  |                                         |
| `button`  | `template_id`                               | `sender_id` は無視される                      |

**パラメータ:**

| パラメータ                  | 型       | 必須   | 説明                                                               |
| ---------------------- | ------- | ---- | ---------------------------------------------------------------- |
| `account_id`           | string  | 必須   | アカウントID                                                          |
| `friend_id`            | string  | 必須   | LINE友だちID                                                        |
| `type`                 | string  | 必須   | メッセージタイプ（`text`, `image`, `video`, `audio`, `sticker`, `button`） |
| `sender_id`            | string  | -    | カスタム送信者ID（`type=button` では無視）                                    |
| `reply_token`          | string  | -    | リプライトークン。指定時はReply APIを試行し失敗でPushにフォールバック                        |
| `text`                 | string  | 条件付き | メッセージ本文（`type=text` で必須、最大5000文字）                                |
| `original_content_url` | string  | 条件付き | コンテンツURL（HTTPS必須。`type=image/video/audio` で必須）                   |
| `preview_image_url`    | string  | 条件付き | プレビュー画像URL（HTTPS必須。`type=video` で必須、`type=image` では指定不可）         |
| `duration`             | integer | 条件付き | 再生時間（ミリ秒。`type=audio` で必須）                                       |
| `package_id`           | string  | 条件付き | スタンプパッケージID（`type=sticker` で必須）                                  |
| `sticker_id`           | string  | 条件付き | スタンプID（`type=sticker` で必須）                                       |
| `template_id`          | string  | 条件付き | テンプレートID（`type=button` で必須）                                      |

**指示例:**

* 「この友だちに"ありがとうございます"とメッセージを送って」
* 「この友だちにテンプレートを送信して」

***

### message\_line\_chat\_message\_list

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINE友だちとの送受信メッセージ履歴を取得します（送信日時の降順）。`direction` で送信・受信を絞り込めます。

**パラメータ:**

| パラメータ        | 型       | 必須 | 説明                                            |
| ------------ | ------- | -- | --------------------------------------------- |
| `account_id` | string  | 必須 | アカウントID                                       |
| `friend_id`  | string  | 必須 | LINE友だちID                                     |
| `direction`  | enum    | -  | `sent`（送信のみ）／`received`（受信のみ）／`all`（全て、デフォルト） |
| `page`       | integer | -  | ページ番号（デフォルト1）                                 |
| `per_page`   | integer | -  | 1ページあたりの件数（デフォルト20、最大100）                     |

**指示例:**

* 「この友だちとのやり取りを見せて」
* 「この友だちからの受信メッセージだけ表示して」

## LINEテンプレート

### message\_line\_template\_list

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEテンプレート一覧を取得します。`message_line_chat_message_send` の `template_id` で参照できるテンプレートを返します。テンプレートの作成・編集はAPI対象外です（管理画面で行います）。

**パラメータ:**

| パラメータ        | 型       | 必須 | 説明                        |
| ------------ | ------- | -- | ------------------------- |
| `account_id` | string  | 必須 | アカウントID                   |
| `page`       | integer | -  | ページ番号（デフォルト1）             |
| `per_page`   | integer | -  | 1ページあたりの件数（デフォルト20、最大100） |

**指示例:**

* 「使えるLINEテンプレートの一覧を見せて」

## LINE送信者操作

### message\_line\_sender\_list

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEカスタム送信者の一覧を取得します。名前で部分一致検索できます。

**パラメータ:**

| パラメータ        | 型       | 必須 | 説明                        |
| ------------ | ------- | -- | ------------------------- |
| `account_id` | string  | 必須 | アカウントID                   |
| `name`       | string  | -  | 送信者名で部分一致検索               |
| `page`       | integer | -  | ページ番号                     |
| `per_page`   | integer | -  | 1ページあたりの件数（デフォルト20、最大100） |

**指示例:**

* 「このアカウントのLINE送信者一覧を見せて」

***

### message\_line\_sender\_create

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEカスタム送信者を作成します。`icon_url` はHTTPS必須かつPNG形式（拡張子 `.png`）のみ受け付けます。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明                                   |
| ------------ | ------ | -- | ------------------------------------ |
| `account_id` | string | 必須 | アカウントID                              |
| `name`       | string | 必須 | 送信者名（最大20文字）                         |
| `icon_url`   | string | 必須 | プロフィール画像URL（HTTPS必須・PNG形式のみ、最大255文字） |

**指示例:**

* 「"サポート窓口"というLINE送信者を作成して」

***

### message\_line\_sender\_get

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEカスタム送信者の詳細を取得します。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明      |
| ------------ | ------ | -- | ------- |
| `account_id` | string | 必須 | アカウントID |
| `sender_id`  | string | 必須 | 送信者ID   |

**指示例:**

* 「このLINE送信者の詳細を見せて」

***

### message\_line\_sender\_update

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEカスタム送信者を部分更新します。指定したフィールドのみ変更され、省略したフィールドは既存値を維持します。`icon_url` はHTTPS必須かつPNG形式（拡張子 `.png`）のみ受け付けます。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明                                   |
| ------------ | ------ | -- | ------------------------------------ |
| `account_id` | string | 必須 | アカウントID                              |
| `sender_id`  | string | 必須 | 送信者ID                                |
| `name`       | string | -  | 送信者名（最大20文字）                         |
| `icon_url`   | string | -  | プロフィール画像URL（HTTPS必須・PNG形式のみ、最大255文字） |

**指示例:**

* 「このLINE送信者の名前を変更して」
* 「このLINE送信者のアイコンを差し替えて」

***

### message\_line\_sender\_delete

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

LINEカスタム送信者を削除します。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明      |
| ------------ | ------ | -- | ------- |
| `account_id` | string | 必須 | アカウントID |
| `sender_id`  | string | 必須 | 送信者ID   |

**指示例:**

* 「このLINE送信者を削除して」

## ラベル操作

### message\_label\_list

配信アカウント配下のラベル一覧を取得します。名前で部分一致検索できます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ        | 型       | 必須 | 説明                     |
| ------------ | ------- | -- | ---------------------- |
| `account_id` | string  | 必須 | 配信アカウントID              |
| `name`       | string  | -  | ラベル名で部分一致検索            |
| `page`       | integer | -  | ページ番号                  |
| `per_page`   | integer | -  | 1ページあたりの件数（既定20、最大100） |

**指示例:**

* 「このアカウントのラベル一覧を見せて」
* 「"見込み客"を含むラベルを検索して」

***

### message\_label\_create

ラベルを新規作成します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ            | 型      | 必須 | 説明                             |
| ---------------- | ------ | -- | ------------------------------ |
| `account_id`     | string | 必須 | 配信アカウントID                      |
| `name`           | string | 必須 | ラベル名（最大255文字）                  |
| `label_group_id` | string | -  | グループID（未指定は未分類。存在しないIDは400エラー） |

**指示例:**

* 「"購入者"というラベルを作成して」

***

### message\_label\_get

指定したラベルの詳細を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明        |
| ------------ | ------ | -- | --------- |
| `account_id` | string | 必須 | 配信アカウントID |
| `label_id`   | string | 必須 | ラベルID     |

**指示例:**

* 「このラベルの詳細を見せて」

***

### message\_label\_update

ラベルを更新します。指定したフィールドのみ変更される部分更新です。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ            | 型      | 必須 | 説明                                     |
| ---------------- | ------ | -- | -------------------------------------- |
| `account_id`     | string | 必須 | 配信アカウントID                              |
| `label_id`       | string | 必須 | ラベルID                                  |
| `name`           | string | -  | ラベル名（最大255文字）                          |
| `label_group_id` | string | -  | グループID（空文字/nullで未分類に変更。存在しないIDは400エラー） |

**指示例:**

* 「このラベルの名前を"VIP"に変更して」

***

### message\_label\_delete

ラベルを削除します。読者へのラベル付与情報は連動して削除されません。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ        | 型      | 必須 | 説明        |
| ------------ | ------ | -- | --------- |
| `account_id` | string | 必須 | 配信アカウントID |
| `label_id`   | string | 必須 | ラベルID     |

**指示例:**

* 「このラベルを削除して」

## 共通読者操作

### message\_common\_reader\_get

共通読者（同一人物としてまとめられた読者）の詳細を取得します。`common_fields` は全シナリオ共通の読者項目です。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明        |
| ------------------ | ------ | -- | --------- |
| `account_id`       | string | 必須 | 配信アカウントID |
| `common_reader_id` | string | 必須 | 共通読者ID    |

**指示例:**

* 「この共通読者の情報を見せて」

***

### message\_common\_reader\_update

共通読者のメモと共通項目（`common_fields`）を更新します。指定したキーのみ変更される部分更新で、更新内容は同一人物が登録している全シナリオに反映されます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明                       |
| ------------------ | ------ | -- | ------------------------ |
| `account_id`       | string | 必須 | 配信アカウントID                |
| `common_reader_id` | string | 必須 | 共通読者ID                   |
| `memo`             | string | -  | メモ                       |
| `common_fields`    | object | -  | 全シナリオ共通の読者項目（指定キーのみ部分更新） |

**指示例:**

* 「この共通読者のメモを更新して」

***

### message\_common\_reader\_scenario\_list

共通読者が登録している全シナリオの一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明        |
| ------------------ | ------ | -- | --------- |
| `account_id`       | string | 必須 | 配信アカウントID |
| `common_reader_id` | string | 必須 | 共通読者ID    |

**指示例:**

* 「この読者が登録しているシナリオを見せて」

***

### message\_common\_reader\_label\_list

共通読者に付与されているラベルの一覧を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明        |
| ------------------ | ------ | -- | --------- |
| `account_id`       | string | 必須 | 配信アカウントID |
| `common_reader_id` | string | 必須 | 共通読者ID    |

**指示例:**

* 「この読者に付いているラベルを見せて」

***

### message\_common\_reader\_label\_create

共通読者にラベルを1件付与します。既に付与済みの場合は既存の付与情報を返します（冪等）。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明                     |
| ------------------ | ------ | -- | ---------------------- |
| `account_id`       | string | 必須 | 配信アカウントID              |
| `common_reader_id` | string | 必須 | 共通読者ID                 |
| `label_id`         | string | 必須 | 付与するラベルID（1リクエストにつき1件） |

**指示例:**

* 「この読者に"購入者"ラベルを付けて」

***

### message\_common\_reader\_label\_delete

共通読者からラベルを解除します。付与されていないラベルを指定すると404エラーになります。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ              | 型      | 必須 | 説明        |
| ------------------ | ------ | -- | --------- |
| `account_id`       | string | 必須 | 配信アカウントID |
| `common_reader_id` | string | 必須 | 共通読者ID    |
| `label_id`         | string | 必須 | 解除するラベルID |

**指示例:**

* 「この読者から"見込み客"ラベルを外して」

## アクション・登録経路

### message\_action\_list

配信後に実行するアクションの一覧を取得します。ここで取得した `id` は配信メッセージ作成時の `action_id` に利用できます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ        | 型       | 必須 | 説明                     |
| ------------ | ------- | -- | ---------------------- |
| `account_id` | string  | 必須 | 配信アカウントID              |
| `page`       | integer | -  | ページ番号                  |
| `per_page`   | integer | -  | 1ページあたりの件数（既定20、最大100） |

**指示例:**

* 「このアカウントのアクション一覧を見せて」

***

### message\_tracking\_list

シナリオに紐づく登録経路の一覧を取得します。各登録経路には登録用の `url` を含みます。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明                           |
| ------------- | ------ | -- | ---------------------------- |
| `account_id`  | string | 必須 | 配信アカウントID                    |
| `scenario_id` | string | 必須 | シナリオID                       |
| `type`        | string | -  | 登録経路タイプで絞り込み（`mail`, `line`） |

**指示例:**

* 「このシナリオの登録経路一覧を見せて」

***

### message\_tracking\_stats

登録経路別のアクセス数・登録数を取得します。

> \*\*プレビュー機能。\*\*仕様は今後変更される可能性があります。

**パラメータ:**

| パラメータ         | 型      | 必須 | 説明                 |
| ------------- | ------ | -- | ------------------ |
| `account_id`  | string | 必須 | 配信アカウントID          |
| `scenario_id` | string | 必須 | シナリオID             |
| `date_from`   | string | -  | 集計開始日（YYYY-MM-DD等） |
| `date_to`     | string | -  | 集計終了日（指定日を含む）      |

**指示例:**

* 「登録経路ごとの登録数を見せて」
* 「今月の流入経路別の実績を確認したい」
