この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

ChangeEventHeader クラス

変更データキャプチャイベントのヘッダー項目が含まれます。

名前空間

EventBus

ChangeEventHeader のプロパティ

ChangeEventHeader のプロパティは次のとおりです。

changedfields

更新操作で変更された項目のリスト (LastModifiedDate システム項目を含む)。この項目は、レコード作成などの他の操作では空です。このプロパティは、API バージョン 47.0 以降で保存した Apex で使用できます。

署名

public List<String> changedfields {get; set;}

プロパティ値

型: List<String>

changeorigin

API アプリケーションまたは Lightning Experience によって行われた変更の場合にのみ入力されます。それ以外の場合は空になります。変更を開始した Salesforce API と API クライアント ID (クライアントで設定された場合)。この項目を使用して、アプリケーションが変更を開始したかどうかを検出します。変更を再度処理せずにすむため、複雑な変更サイクルを回避できる可能性があります。

署名

public String changeorigin {get; set;}

プロパティ値

型: String

changeOrigin 項目値の形式は次のようになります。
1com/salesforce/api/<API_Name>/<API_Version>;client=<Client_ID>
  • <API_Name> は、データ変更を行うために使用される Salesforce API の名前です。soap、rest、bulkapi、xmlrpc、oldsoap、toolingsoap、toolingrest、apex、apexdebuggerrest のいずれかの値を取ります。
  • <API_Version> は、変更を行った XX.X 形式の API コールのバージョンです。
  • <Client_ID> は、変更を開始したアプリケーションのクライアント ID が含まれる文字列です。API コールでクライアント ID が設定されていない場合、client=<Client_ID>changeOrigin 項目に追加されません。
例:
1com/salesforce/api/soap/49.0;client=Astro

クライアント ID は、API コールの Call Options ヘッダーで設定されます。Call Options ヘッダーを設定する方法の例については、次を参照してください。

changetype

変更を発生させた操作。

署名

public String changetype {get; set;}

プロパティ値

型: String

次のいずれかの値になる可能性があります。

  • CREATE
  • UPDATE
  • DELETE
  • UNDELETE
ギャップイベントの場合、変更種別は GAP_ プレフィックスで始まります。
  • GAP_CREATE
  • GAP_UPDATE
  • GAP_DELETE
  • GAP_UNDELETE

オーバーフローイベントの場合、変更種別は GAP_OVERFLOW です。

commitnumber

連続して増えていく、コミットされたトランザクションのシステム変更番号 (SCN)。この項目は診断目的で提供されます。この項目値は、必ずしも Salesforce で一意ではなく、1 つのデータベースインスタンスでのみ一意になります。Salesforce 組織が別のデータベースインスタンスに移行されると、コミット番号は一意または連続でなくなる可能性があります。

署名

public Long commitnumber {get; set;}

プロパティ値

型: Long

committimestamp

1970 年 1 月 1 日 00:00:00 (GMT) を起点としてミリ秒数として表される、変更が発生した日時。

署名

public Long committimestamp {get; set;}

プロパティ値

型: Long

commituser

変更操作を実行したユーザの ID。

署名

public String commituser {get; set;}

プロパティ値

型: String

difffields

テキスト値が大きいために統合された差分として値が送信された項目の名前が含まれます。

署名

public List<String> difffields {get; set;}

プロパティ値

型: List<String>

entityname

変更に関連する標準またはカスタムオブジェクトの API 参照名。たとえば、Account や MyObject__c などです。

署名

public String entityname {get; set;}

プロパティ値

型: String

nulledfields

更新操作で値が null に変更された項目の名前が含まれます。Apex 変更イベントメッセージでこの項目を使用すると、更新で項目が null に変更されて、未変更項目になっていないかどうかを確認できます。

署名

public List<String> nulledfields {get; set;}

プロパティ値

型: List<String>

recordids

変更されたレコードの 1 つ以上のレコード ID。通常、この項目には 1 つのレコード ID が含まれます。1 秒間に、1 つのトランザクションで同じオブジェクト種別の複数のレコードに同じ変更が行われた場合、Salesforce では変更通知がマージされます。この場合、影響を受けるすべてのレコードについて 1 つの変更イベントが送信され、同じ変更があるすべてのレコードの ID が recordIds 項目に加えられます。

署名

public List<String> recordids {get; set;}

プロパティ値

型: List<String>

同じ変更がある操作の例を次に示します。
  • Account レコードの fieldA の valueA への更新。
  • Account レコードの削除。
  • 影響を受けるすべてのレコードの項目値が更新される、選択リスト値の名前変更または置き換え。

データ損失を引き起こすカスタム項目種別の変換に関する変更イベントメッセージが生成される場合、recordIds 項目にワイルドカード値が含まれることがあります。この場合、recordIds の値は、オブジェクトの 3 文字のプレフィックスとその後に続くワイルドカード文字 * になります。たとえば、取引先の場合、値は 001* になります。

sequencenumber

トランザクション内の変更の順序。この連番は 1 から開始します。

署名

public Integer sequencenumber {get; set;}

プロパティ値

型: Integer

複数の変更が含まれるトランザクションの例としてリードの取引開始が挙げられます。リードの取引開始では、次の順序で変更が行われます (すべて同じトランザクション内)。

  1. アカウントを作成する
  2. 取引先責任者を作成する
  3. 商談を作成する
  4. リードを更新する

transactionkey

各 Salesforce トランザクションを一意に識別する文字列。このキーを使用して、同じトランザクションで行われたすべての変更を識別およびグループ化できます。

署名

public String transactionkey {get; set;}

プロパティ値

型: String