# オンデマンドジャーニー実行

オンデマンドジャーニー実行を使用すると、ペアレントセグメントの更新完了を待たずに、最後に完了したセグメントデータを使用してバッチジャーニーを即時トリガーできます。

デフォルトでは、バッチジャーニーは関連するペアレントセグメントの更新が完了した後にのみ実行されます。これはスケジュールされた日次キャンペーンには適していますが、セグメントルールを更新した直後や時間的に重要なキャンペーンを開始する場合など、すぐに対応が必要な際には遅延が生じます。オンデマンド実行はこの依存関係を解消します。

オンデマンド実行は現在、APIおよび`tdx` CLIから利用できます。Treasure AI Studioユーザーは自然言語を使用してジャーニーをトリガーできます — 下記の**Treasure AI Studioを使用する**セクションを参照してください。Treasure AI UIの**今すぐ実行**ボタンは将来のリリースで提供予定です。

## 使用するタイミング

- セグメントルールを更新し、ジャーニーを即時実行したい場合
- データ更新スケジュールとは独立して、特定の時刻にジャーニーを実行したい場合
- プログラムでジャーニーをトリガーする自動化パイプラインを構築している場合


## 開始前の確認事項

オンデマンド実行をトリガーする前に、以下の条件を確認してください。

| 条件 | 満たされていない場合の対処 |
|  --- | --- |
| ジャーニーがアクティブ（一時停止中またはドラフトでない） | Treasure AI UIからジャーニーをアクティブ化する |
| ジャーニーが少なくとも1回更新されている | 最初にフルデータ更新を実行する |
| データ更新が現在実行中でない | 更新の完了を待ってからリトライする |
| ジャーニーが既に実行中でない | 現在の実行が完了するまで待つ |
| ジャーニーがプライオリティグループに属していない | プライオリティグループジャーニーは非対応 — 下記の**制限事項**セクションを参照 |


## 実行のトリガー方法

### Treasure AI Studioを使用する

Treasure AI Studioは自然言語を使用してジャーニーをトリガーできます。ジャーニーIDを指定するか、ジャーニーのコンソールURLを貼り付けてください — StudioがIDを解決し、バックグラウンドで`tdx journey run`を実行します。

プロンプト例：

```
ジャーニー123を実行してください。
```

```
このジャーニーをトリガーしてください: https://console.treasuredata.com/app/workflows/journeys/123
```

```
ブラックフライデーキャンペーンジャーニー（ID 456）を今すぐ実行してください。
```

Studioはジャーニーの開始を確認し、進捗の監視に使用できるセッションIDを返します。

### TDX CLIを使用する

```sh
tdx journey run <journey_id>
```

例：

```sh
tdx journey run 123
```

コマンドはジャーニーの開始を確認し、セッションIDを返します。

```
Journey execution started.

Journey ID:          123
Workflow Session ID: 200
Status:              running

Monitor progress:
  tdx wf sessions 200
```

コマンドは即時終了します — ジャーニーの完了を待機しません。

### APIを使用する

```
POST /entities/journeys/{journeyId}/run
```

お使いのリージョンのAPIベースURLを使用してください。完全なリストは[Treasure APIエンドポイントとベースURL](/apis/endpoints/endpoints)を参照してください。

リクエストヘッダーにAPIキーを含めてください。

```sh
curl -X POST \
  https://api-cdp.treasuredata.com/entities/journeys/123/run \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json"
```

レスポンス例：

```json
{
  "data": {
    "id": "100",
    "type": "execution-journey",
    "attributes": {
      "journeyId": "123",
      "workflowSessionId": "200",
      "createdAt": "2026-05-07T00:00:00+00:00",
      "status": "running"
    }
  }
}
```

`workflowSessionId`を保存して、Treasure AI Workflowコンソールで実行を監視してください。

## 実行時の注意事項

**オーディエンスデータは最新ですが、リアルタイムではありません。** ジャーニーは最後に完了したペアレントセグメント更新のデータを使用します。更新が毎晩実行される場合、正午のオンデマンド実行では前夜のデータが使用されます。最後の更新後に到着した変更（新しいオプトアウト、更新されたプロファイルなど）は、次の更新が完了するまで反映されません。

**セグメントルールの変更は即時反映されます。** セグメントルールを編集した場合、その変更はオンデマンド実行を含む次の実行に適用されます。フルデータ再構築を待つ必要はありません。

**例外：** 新しいデータソースの追加や属性・ビヘイビア定義の変更など、ペアレントセグメントの設定に構造的な変更を加えた場合は、その変更がジャーニー実行に反映される前にフル更新が必要です。

**ダウンストリームのアクティベーションは通常通り実行されます。** ジャーニー完了後に実行するよう設定されたアクション（メール、エクスポート、CRM更新など）は、スケジュールされた実行と同様に実行されます。

**1つのバージョンをトリガーするとすべてのバージョンが実行されます。** ジャーニーに複数のバージョンがある場合、最新バージョンをトリガーすると、完了後に古いバージョンが順番に自動実行されます — スケジュールされた実行と同じ動作です。

## エラーリファレンス

実行が開始されない場合、APIは理由コードとともにエラーを返します。

| エラー | 意味 | 対処方法 |
|  --- | --- | --- |
| `PARENT_SEGMENT_RUNNING` | データ更新が現在進行中 | 更新の完了を待ってから再試行 |
| `JOURNEY_WORKFLOW_RUNNING` | ジャーニーが既に実行中 | 現在の実行が完了するまで待つ |
| `JOURNEY_NOT_ACTIVE` | ジャーニーが一時停止中またはドラフト | Treasure AI UIでジャーニーをアクティブ化する |
| `PRIORITY_GROUP_JOURNEY_NOT_ELIGIBLE` | ジャーニーがプライオリティグループを使用 | 非対応 — 下記の**制限事項**セクションを参照 |
| `NOT_LATEST_VERSION` | 使用したジャーニーIDが古いバージョン | 最新バージョンのジャーニーIDを使用する |
| `PARENT_SEGMENT_NEVER_REFRESHED` | オーディエンスデータが一度も構築されていない | 最初にフルデータ更新を実行する |


## オンデマンド実行の自動化

Treasure Workflowの`http>`オペレーターを使用して、ワークフローからオンデマンドジャーニー実行をトリガーできます。外部スクリプトやcronジョブを使用せずに、Treasure AI内でジャーニーの実行をスケジュールしたり、他のタスクと連携させることができます。

**例: ワークフローからジャーニーをオンデマンドでトリガーする**

```yaml
timezone: UTC

schedule:
  daily>: "06:00:00"

+run_journey:
  http>: https://api-cdp.treasuredata.com/entities/journeys/123/run
  method: POST
  content_type: application/json
```

APIキーをワークフローシークレットとして保存し、ハードコーディングを避けてください。

```sh
tdx wf secrets --set http.authorization="TD1 your_api_key_here" --project your_project_name
```

`http.authorization`シークレットは、プロジェクト内のすべての`http>`リクエストに`Authorization`ヘッダーとして自動的に含まれます。

**競合のハンドリング:** ワークフロー実行時にジャーニーまたはParent Segmentが既に実行中の場合、APIは`409`エラーを返し、ワークフローの試行が失敗します。一時的な競合に対応するためにリトライポリシーを追加してください。

```yaml
+run_journey:
  http>: https://api-cdp.treasuredata.com/entities/journeys/123/run
  method: POST
  content_type: application/json
  _retry: 3
```

設定オプションの詳細については、[Treasure Workflowドキュメント](/products/customer-data-platform/data-workbench/workflows)を参照してください。

```

## 制限事項

- **プライオリティグループジャーニーは非対応。** プライオリティグループはデータ更新中に複数のジャーニー間で調整が必要です — これは単一のオンデマンド実行では再現できません。
- **構造的なデータ変更はフル再構築が必要。** 新しいデータソースを追加したり、ペアレントセグメントの構造を変更した場合は、オンデマンド実行をトリガーする前にフル更新を実行してください。
- **UIボタンは未対応。** 今すぐ実行ボタンは将来のリリースで提供予定です。現時点ではTreasure AI Studio、CLI、またはAPIをご使用ください。

## 関連ページ

- [ジャーニーワークフロー依存関係](</products/customer-data-platform/journey-orchestration/Batch/journey-workflow-dependencies.md>) — ペアレントセグメント、ジャーニー、アクティベーションワークフローのデフォルトの相互作用について
- [バッチジャーニーの作成](</products/customer-data-platform/journey-orchestration/Batch/creating-a-batch-journey.md>)
- [ジャーニーの一時停止と再開](</products/customer-data-platform/journey-orchestration/Batch/pausing-and-resuming-a-journey.md>)
- [Treasure APIエンドポイントとベースURL](</apis/endpoints/endpoints.md>)
```