メッセージ・シナリオ統合イベント配信チャネル
26A更新では、メッセージ・シナリオ統合イベント・デリバリ・チャネルを使用して、メッセージ・シナリオをイベントAPIとともにデリバリ・メソッドとして使用できます。 メッセージ・ステップを構成し、メッセージ・フローのデリバリ・チャネルとして「統合イベント」を指定することで、結果の統合でイベントAPIを使用して情報を受信できます。 メッセージ・シナリオでは、新しい統合イベント・デリバリ・チャネルを使用して、SMSリマインダや通知などの既存のユース・ケースをサポートできるようになりました。
メッセージ・エンジンがステップを処理するときには、messageStepTriggeredタイプのイベントが生成されます。 メッセージのステータスは、値「送信済」を取得します。
生成されたイベントでは、次のフィールドがサポートされます。
eventType: イベントのタイプ。 値'messageStepTriggered'は、統合イベント・デリバリ・チャネルを含むメッセージ・ステップが実行されるときにイベントに使用されます。
user: メッセージをトリガーしたユーザーのユーザー名。
applicationId: イベントを生成した操作を実行したアプリケーションのID。 これは、操作がアプリケーションによって実行された場合にのみ存在します。
time: メッセージがトリガーされた日時(UTC)。 たとえば、2026-04-25 12:36:11です。
messageDetails: メッセージ関連情報を含むレコード:
messageId: 生成されたメッセージの一意のID。
scenarioName: メッセージ・シナリオの名前。
stepName: シナリオのメッセージ・ステップの名前。
subject: シナリオの「件名」フィールドの値。
body: シナリオの「本文」フィールドの値。
activityDetails: アクティビティ・コンテキストでメッセージがトリガーされた場合に、アクティビティ・キー値を含むレコード。 このフィールドはオプションです。
activityId: アクティビティの識別子(整数)。 これは必須フィールドです。
resourceId: アクティビティが割り当てられているリソースの識別子(文字列)。 これは必須フィールドです。 このフィールドは、external_idフィールドにマップされます。
date: アクティビティがスケジュールされている日付。通常はYYYY-MM-DDの形式です。 アクティビティがスケジュールされていない場合、値はNULLです。
apptNumber: このフィールドは、アクティビティの外部IDを保持するために統合で使用されます。 外部IDは、元のアプリケーションのアクティビティの識別子です。 これは必須フィールドです。
customerNumber: このフィールドは、アカウントの外部IDを保持するために統合で使用されます。 外部IDは、元のアプリケーションのアカウントの識別子です。 これはオプションのフィールドです。
inventoryDetails: インベントリ・コンテキストでメッセージがトリガーされた場合にインベントリ・キー値を含むレコード。 このフィールドはオプションです。
inventoryId: インベントリ(整数)の識別子。 これは必須フィールドです。
inventoryType: 「管理」インタフェースの「構成」>「在庫タイプ」ページで定義された在庫タイプの1つ。
ステータス: 顧客、リソース、インストール済、取外済などのステータス。
resourceDetails: メッセージ・ステップが実行されたコンテキストのリソース・キー値を含むレコード。
resourceId: アクティビティが割り当てられているリソース(文字列)の識別子。 これは必須フィールドです。 フィールドはexternal_idフィールドにマップされます。
name: リソース(文字列)の名前。
resourceType: リソースのタイプ・ラベル(文字列)。
イベント
{
"eventType": "messageStepTriggered",
"time": "2026-07-04 08:31:26",
"user": "admin",
"messageDetails": {
"messageId": 12,
"scenarioName": "day_before",
"stepName": "Customer cancelled",
"subject": "Customer canceled via WMT",
"body": "This activity was canceled by the customer: Acme Corp. Address: 123 Industrial Way, Springfield, IL Account: ACME789012 Order: ORD987654321"
},
"activityDetails": {
"activityId": 4232045,
"resourceId": "33001",
"date": "2025-07-04",
"apptNumber": "ORD987654321",
"customerNumber": "ACME789012"
},
"resourceDetails": {
"resourceId": "33001",
"name": "ARNDT, William",
"resourceType": "PR"
}
}
これらのイベントを読み取るために、統合によってサブスクリプションが作成され、目的のイベント・タイプが指定されます。
次のフィールドは、必要なメッセージのみをフィルタするためにサブスクリプションで使用できます。
- messageDetails.scenarioName
- messageDetails.stepName
- messageDetails.subject
サイズ制限
- 'subject'フィールドの最大許容サイズは1kです(1024b)
- 'body'フィールドの許容最大サイズは100k (1024000b)です。
メッセージがサイズ制限を超えると、イベントは生成されず、メッセージ・ステップが次の情報で「失敗」とマークされます。
ステータス: 失敗
説明: WRONG_CONFIGURATION
データ: メッセージの内容が大きすぎます。
コメント: 「件名」または「本文」フィールドのサイズが制限を超えています。
messageStepTriggeredイベントについて知っておくべき重要なポイント
- サブスクリプション構成に"fields"属性を持つ"messageStepTriggered"が含まれている場合、400コード: "パラメータ'fields'はイベント・タイプ'messageStepTriggered'に対してサポートされていません"で拒否されます。
- サブスクリプション構成に"monitorChanges"属性を持つ"messageStepTriggered"が含まれる場合、400コードで拒否されます: "パラメータ'monitorChanges'はイベント・タイプ'messageStepTriggered'ではサポートされていません。"
- このサブスクリプション構成に"fields"、"monitorChanges"または"filterExpression"がない場合にのみ、"messageStepTriggered"を他のイベント・タイプと混在させることができます。
- サブスクリプション構成に"filterExpression"属性を持つ"messageStepTriggered"が含まれている場合、イベント・タイプのリストには他のイベント・タイプを指定できません。それ以外の場合は、400コード"Invalid subscription content、 incompatible events list"で拒否されます。
- messageStepTriggeredのfilterExpressionは、次のもののみをサポートします。
- messageDetails.scenarioName
- messageDetails.stepName
- messageDetails.subject
messageStepTriggeredイベントの制限およびサポートされるフィールド
monitorChangesの機能はサポートされていません。
- messageDetails.scenarioName
- messageDetails.stepName
- messageDetails.subject
この機能により、メッセージ・シナリオのパワーと柔軟性をREST API統合と組み合せることができます。
イベントAPIを配信方法としてメッセージ・シナリオを活用することで、組織はコミュニケーション戦略を最新化し、価値実現までの時間を短縮できます。 このアプローチにより、外部アプリケーションとの統合が簡素化され、追加のカスタム開発なしで、SMSリマインダや通知などの顧客コミュニケーションを自動配信できます。 その結果、俊敏性が向上し、運用オーバーヘッドが低下し、より一貫性のあるリアルタイムの顧客エンゲージメント・エクスペリエンスが実現し、スケーラブルな成長と迅速なイノベーションがサポートされます。
有効化および構成ステップ
この機能を有効化するうえで必要な操作はありません。