メインコンテンツへスキップ

Q1. Xplentyで使用するAPIは?

「Bulk API」です。現在は、v1とv2があります。Xplentyは両方のバージョンが指定可能ですが、バージョンによって若干のオプションが異なります。可能であればより優れたAPI v2をお勧めします。

Q2. データソース/デスティネーション(送信先)としてカスタムオブジェクトを指定することは可能ですか?

指定できます。

Q3. SOQLは使えますか?

Access modeをデフォルトの「Object」から「Query」に変更することで、SOQLを使用できます。
salesforce-part02-jp image 1

ヒント:Salesforceのオブジェクトで日付フィルタを指定する方法

またオブジェクトを指定した場合も、SOQLベースのフィルタ条件を設定可能です。

固定値の場合

フィルタをかける対象のフィールドが日付型の場合、シングルクォートなしで設定ください。
salesforce-part02-jp image 2

変数を使用する場合

1) 2時間前以降のデータを取得する

変数名: two_hours_ago 変数式: SubtractDuration(CurrentTime(),'PT2H')
salesforce-part02-jp image 3

2) 現在日付(日本時間)の0時以降のデータを取得する

変数式: まず日本時間の現在日付のの0時を取得し、そこから-9時間(UTC)に変換する。 SubtractDuration(ToDate(ToString(SwitchTimeZone (CurrentTime(),'Asia/Tokyo') ,'yyyy-MM-dd\'T\'00:00:00.000')),'PT9H')

Q4. SalesforceがDestination(送信先)の場合: 更新方法について

  • Insert only:レコードの追加のみ
  • Upsert:レコードの追加/更新(Upsert KeyのIDを設定し、既存レコードがあった場合には、そのレコードを上書き)
  • Update : レコードの更新
  • Delete:Key列を指定し、一致するレコードを削除(Salesforceのゴミ箱に入るので、後に復旧可能
  • Hard Delete:Key列を指定し、一致するレコードを物理削除(Salesforceのゴミ箱を経由しないため、復旧不可
salesforce-part02-jp image 4
列のマッピング ※関連オブジェクト(REFFERENCED OBJECT)を自動的に検知します。
salesforce-part02-jp image 5

Q5. SalesforceがDestination(送信先)の場合: オブジェクトの既存レコードの一部のフィールドのみを更新することは可能ですか?

例)アカウント・オブジェクトの案件の確度(Account)を更新する場合
salesforce-part02-jp image 6
この場合、ジョブは以下のように動作します。
  • オブジェクトに指定したIDのデータがある場合: 対象のレコードを更新
  • オブジェクトに指定したIDのデータがない場合: エラー

Q6. SalesforceがDestination(送信先)の場合: エラー判定の制御について

ジョブ全体で許容できるエラーレコード件数は、「Maximum errors」の値で制御可能です。ちなみに、「Batch size」とは一回の処理で扱うレコード数ですが、エラー数はBatch sizeに関係なく、処理全体でエラーとなったレコード数がどれくらいあったかと許容できる最大エラー数の値を比較し、ジョブの結果がエラーかどうか判定します。
salesforce-part02-jp image 7
salesforce-part02-jp image 8
シナリオエラー最大数ジョブの結果備考
10件中1件失敗した場合0エラー最大エラー数0 < 実際のエラー件数1
10件中1件失敗した場合1成功最大エラー数1 = 実際のエラー件数1
10件中2件失敗した場合1エラー最大エラー数1 < 実際のエラー件数2
10件中8件失敗した場合10成功最大エラー数10 > 実際のエラー件数8
DBの場合は、更新に成功したレコードもロールバックされますが、Salesforceの場合は、APIの特性上、ロールバックされないので注意が必要です。詳細はこちら

Q7. SalesforceがDestination(送信先)の場合: バッチサイズ(Batch size)の設定によるAPI制限の回避

Salesforceのドキュメントによると1バッチの最大数が10,000 レコードとなっているので、API制限にお困りの場合、バッチサイズをなるべく大きな数値に設定することでAPI制限を回避することが可能になります。
salesforce-part02-jp image 9
最終更新日 2026年7月13日