Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
B2C Commerce の使用開始
粒度の細かいレプリケーション イベント

粒度の細かいレプリケーション イベント

B2C Commerce システムは、きめ細かなレプリケーションジョブが完了したとき、部分的に失敗したとき、または完全に失敗したときに、きめ細かいレプリケーションイベントを発生させます。粒度の細かいレプリケーションは、一括レプリケーション処理レベルではなく、オブジェクトごとのレベル (商品、価格テーブル、コンテンツアセット) で動作するため、そのイベントによって、成功した個々のオブジェクト ID と失敗したオブジェクト ID がレポートされます。

使用可能なソリューション:B2C Commerce リリース 26.7 以降。

イベント ID

イベント ID 説明 発射時
sf.cc.replication.granular.completed きめ細かなレプリケーションが正常に完了しました 粒度の細かいレプリケーションジョブが、ターゲットエラーなしで終了し、開始されていないオブジェクト、パブリッシュされていないオブジェクト、無効化されていないオブジェクトがゼロの場合
sf.cc.replication.granular.failed きめ細かなレプリケーションが完全に失敗しました ジョブがエラー状態で終了し、この実行で成功したオブジェクトがない場合
sf.cc.replication.granular.incomplete 成功と失敗が混在するきめ細かなレプリケーション ジョブがエラー状態で終了したが、この実行で少なくとも 1 つのオブジェクトが成功した場合

HTTP ヘッダー

粒度の細かいレプリケーションイベントでは、「B2C Commerce イベントの一般的な HTTP ヘッダー」に記載されている標準の Commerce Cloud プラットフォームヘッダーを使用し、x-sf-cc-event-idを粒度の高いレプリケーションイベント ID ( 例: sf.cc.replication.granular.completed ) に設定します。

JSON ペイロード構造 — 共通フィールド

フィールド タイプ 必要あり 説明
プロセス ID integer あり 粒度の細かいレプリケーション実行のジョブ実行 ID
type string あり 常にリテラルGRANULAR;きめ細かなレプリケーション・イベントとプロセス・レベルのレプリケーション・イベントを区別
targetSystem (ターゲットシステム) string あり ターゲット・システム名(通常は「開発」または「本番」)
state string あり ジョブの最終状態 (「詳細なプロセスの状態」を参照)
成功 ブール値 あり 完了したイベントに対してのみtrue。失敗したイベントと不完全なイベントの場合は false
開始日 string あり ジョブ開始の ISO-8601 タイムスタンプ。ジョブの開始時刻が記録されていない場合の空の文字列
終了日 string あり イベントが発行されたときの ISO-8601 タイムスタンプ

イベント固有のフィールド

イベント 追加フィールド
sf.cc.replication.granular.completed objects : 正常に完了したオブジェクト ID の追跡可能なリスト
sf.cc.replication.granular.failed errorState (常にGRANULAR_REPLICATION_FAILURE ) とfailedObjects : 失敗したオブジェクトの追跡可能なリストで、それぞれにIDとステータスがあります。
sf.cc.replication.granular.incomplete errorState (常にGRANULAR_REPLICATION_INCOMPLETE )、successfulObjects、およびfailedObjects

きめ細かなプロセス状態

stateフィールドは、粒度の細かいレプリケーションジョブの最終状態を示します。

値 説明
完了しました キューに入れられたすべてのオブジェクトは、クリーンにエクスポート、インポート、および無効化されます
失敗 ジョブはエラーで終了し、正常なオブジェクトは生成されませんでした
不完全 ジョブはエラーで終了したが、少なくとも 1 つのオブジェクトが成功した (部分的な結果)

オブジェクトバケット

objects、successfulObjects、failedObjectsの各ペイロードフィールドは、同じ 3 バケット構造 (追跡可能なタイプごとに 1 つのバケット) を共有します。

フィールド タイプ 必要あり 説明
products 配列 あり 商品ごとのエントリ
価格テーブル 配列 あり 価格テーブルごとのエントリ
コンテンツアセット 配列 あり コンテンツアセットごとのエントリ

成功したエントリ ( objectsおよびsuccessfulObjects ) にはid文字列が含まれます。失敗したエントリ ( failedObjects内) には、id文字列と機械可読ステータスコードが含まれます。

失敗ステータス値

各failedObjectsエントリのstatusフィールドには、機械可読コードが含まれています。

値 説明
EXPORT_ERROR このオブジェクトのソース システムからのエクスポートに失敗しました
IMPORT_ERROR このオブジェクトのターゲット・システムへのインポートに失敗しました
NOT_FINISHED オブジェクトはキューに入れられたかエクスポートされたが、完了状態に達しなかった
TARGET_ERROR ターゲット・システムは、エクスポート後にこのオブジェクトのエラーを報告しました
メモ
メモ NOT_INVALIDATEDオブジェクトはfailedObjectsには表示されません。オブジェクトが正常にインポートされても、キャッシュ無効化ステップが完了しない場合でも、オブジェクトは成功リスト ( objectsまたはsuccessfulObjects ) でレポートされます。ゼロ以外のジョブレベルの無効化されていないカウントは、ジョブが完了イベントではなくsf.cc.replication.granular.incompleteイベントを発行する原因です。

例: 粒度の細かいレプリケーション イベントの成功


{
"processId": 456,
"type":"GRANULAR",
"targetSystem":"Production",
"state":"COMPLETED",
"success": true,
"objects": {
"products": [
{ "id": "prod-001" }
],
"priceTables": [
{ "id": "prod-001@usd-prices" }
],
"contentAssets": []
},
"startDate":"2026-03-11T22:13:20Z",
"endDate":"2026-03-11T22:13:25Z"
}

例: 粒度の細かいレプリケーションの失敗イベント


{
"processId": 456,
"type":"GRANULAR",
"targetSystem":"Production",
"state":"FAILED",
"success": false,
"errorState":"GRANULAR_REPLICATION_FAILURE",
"failedObjects": {
"products": [
{ "id": "prod-001", "status":"TARGET_ERROR" }
],
"priceTables": [],
"contentAssets": []
},
"startDate":"2026-03-11T22:13:20Z",
"endDate":"2026-03-11T22:13:25Z"
}

例: 不完全な粒度の細かいレプリケーション イベント


{
"processId": 456,
"type":"GRANULAR",
"targetSystem":"Production",
"state":"INCOMPLETE",
"success": false,
"errorState":"GRANULAR_REPLICATION_INCOMPLETE",
"successfulObjects": {
"products": [
{ "id": "prod-001" }
],
"priceTables": [
{ "id": "prod-001@usd-prices" }
],
"contentAssets": []
},
"failedObjects": {
"products": [
{ "id": "prod-002", "status":"IMPORT_ERROR" }
],
"priceTables": [
{ "id": "prod-003@eur-prices", "status":"NOT_FINISHED" }
],
"contentAssets": []
},
"startDate":"2026-03-11T22:13:20Z",
"endDate":"2026-03-11T22:13:25Z"
}

きめ細かなレプリケーションの実装に関する注意事項

  • typeはリテラル文字列GRANULAR ;オブジェクトごとの粒度の細かいレプリケーションフローは、プロセスレベルのレプリケーション、パブリケーション、およびコード*イベントタイプとは異なります。
  • processIdは、プロセス UUID ではなく、詳細なレプリケーションジョブの実行 ID です。
  • endDateは、最終的なジョブの終了時刻ではなく、イベントが発行された時刻を反映します。
  • errorStateは、失敗したイベントの場合はGRANULAR_REPLICATION_FAILURE、不完全なイベントの場合はGRANULAR_REPLICATION_INCOMPLETEです。
  • 各オブジェクトバケット ( products、priceTables、contentAssets ) は、空の場合でも常にペイロードに存在します。
  • エラーステータス値は機械可読コードであり、ローカライズされたテキストではありません。
  • 各イベントの種類は、グローバル レプリケーション イベント プロパティとイベントごとの機能トグル (完了、失敗、および未完了のイベントに対してそれぞれ 1 つ) の両方によってゲートされます。どちらかが無効になっている場合、イベントは送信されません。
 
読み込み中
Salesforce Help | Article