LoginSignup
0
0

More than 3 years have passed since last update.

Xplenty : Salesforceコネクション Q&A

Last updated at Posted at 2021-02-18

Q1. Xplentyで使用するAPIは?

「Bulk API」です。

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

指定できます。

Q3. SOQLは使えますか?

デフォルトは「Object」となっていますが、「Query」に変更することで、SOQLを使用できます。
image.png

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

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

固定値の場合

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

変数を使用する場合

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

変数名: two_hours_ago
変数式: SubtractDuration(CurrentTime(),'PT2H')

image.png

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

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

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

  • Insert:レコードの追加のみ
  • Upsert:レコードの追加/更新(Upsert KeyのIDを設定し、既存レコードがあった場合には、そのレコードを上書き)
  • Delete:Key列を指定し、一致するレコードを削除
    データの追加、更新の目的ではなく、レコードの削除を行いたい場合に使う

image.png

列のマッピング
※関連オブジェクト(REFFERENCED OBJECT)を自動的に検知します。
image.png

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

例)商談オブジェクトの案件の確度(Probability)を更新する場合
image.png
この場合、ジョブは以下のように動作します。

  • オブジェクトに指定した商談IDのデータがある場合: 対象のレコードを更新
  • オブジェクトに指定した商談IDのデータがない場合: エラー

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

ジョブ全体で許容できるエラーレコード件数は、「Maximum errors」の値で制御可能です。ちなみに、「Batch size」とは一回の処理で扱うレコード数ですが、エラー数はBatch sizeに関係なく、処理全体でエラーとなったレコード数がどれくらいあったかと許容できる最大エラー数の値を比較し、ジョブの結果がエラーかどうか判定します。

image.png

シナリオ エラー最大数 ジョブの結果 備考
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制限を回避することが可能になります。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0