Get Appointment Slots
指定の作業種別グループおよびテリトリーに基づいて、リソースの利用可能な予定の時間枠のリストを返します。
構文
- URI
- /services/data/vXX.X/scheduling/getAppointmentSlots
- 適用開始バージョン
- 45.0
- 形式
- JSON、XML
- HTTP のメソッド
- POST
- 認証
- Authorization: Bearer token
- リクエストボディ
-
パラメータ 必須 型 説明 accountId いいえ String 関連取引先の ID。 allowConcurrentScheduling いいえ Boolean true の場合、時間枠での同時予定のスケジュールが許可されます。false の場合、同時予定は許可されません。デフォルトは false です。 API バージョン 47.0 以降で使用できます。
correlationId いいえ String ServiceResourceScheduleHandler Apex インターフェースにカスタム情報を渡すための ID。たとえば、この相関関係 ID によって Apex インターフェース実装をコールするアプリケーション、Web サイト、または外部システムを識別できます。カスタム値を渡さない場合、ランダムに生成された識別子が渡されます。 API バージョン 53.0 以降で利用できます。
endTime いいえ String 時間枠 (両端を含む) が終わる最も遅い時間。 primaryResourceId いいえ String マルチリソーススケジュールのプライマリリソースの ID。API バージョン 48.0 以降で使用できます。 requiredResourceIds はい String[] 時間枠内で利用可能でなければならないリソース ID のリスト。 schedulingPolicyId いいえ String AppointmentSchedulingPolicy オブジェクトの ID。リクエストボディでスケジュールポリシーが渡されない場合、デフォルトの設定が使用されます。時間枠の決定時に使用される唯一のスケジュールポリシー設定は、取引先訪問時間の適用です。 startTime いいえ String 時間枠 (両端を含む) が始まる最も早い時間。指定されていない場合は、デフォルトの要求の現時刻に設定されます。 territoryIds はい String[] 要求されている作業が実施されるサービステリトリーの ID のリスト。 workType workTypeGroupId が指定されていない場合は必須。 Work Type 実施される作業の種別。 workTypeGroupId workType が指定されていない場合は必須。 String 実施されている作業種別を含む作業種別グループの ID。 - レスポンスボディ
- 要求の実行が成功すると、利用可能な時間枠のリストを含むレスポンスボディが返されます。
-
パラメータ 必須 型 説明 timeSlots はい Time Slots[] 各テリトリーに含まれる時間枠のリスト。
例
- リクエストボディの例
-
workTypeGroupId を使用:
1{ 2 "startTime" : "2019-01-23T00:00:00.000Z", 3 "endTime" : "2019-02-30T00:00:00.000Z", 4 "workTypeGroupId" : "0VSB0000000KyjBOAS", 5 "accountId" : "001B000000qAUAWIA4", 6 "territoryIds" : ["0HhB0000000TO9WKAW"], 7 "schedulingPolicyId" : "0VrB0000000KyjB", 8 "requiredResourceIds" : ["0HnB0000000TO8gKAK"] 9} -
workType を使用:
1{ 2"startTime" : "2019-01-23T00:00:00.000Z", 3"endTime" : "2019-02-30T00:00:00.000Z", 4"workType" : { 5 "id" : "08qRM00000003fkYAA" 6 }, 7"requiredResourceIds" : ["0HnB0000000TO8gKAK"], 8"territoryIds" : ["0HhRM00000003OZ0AY"] 9"accountId" : "001B000000qAUAWIA4", 10"schedulingPolicyId" : "0VrB0000000KyjB" 11} -
durationInMinutes を使用。ただし workTypeGroupId 項目または workType id 項目は除く:
1{ 2"workType" : { 3 "durationInMinutes" : 60 4 }, 5"territoryIds" : ["0HhRM00000003OZ0AY"], 6"requiredResourceIds" : ["0HnB0000000TO8gKAK"] 7} - レスポンスボディの例
-
1{ 2"timeSlots" : 3[ 4 { 5 "endTime" : "2019-01-21T19:15:00.000+0000", 6 "startTime" : "2019-01-21T16:15:00.000+0000", 7 "territoryId" : "0HhB0000000TO9WKAW" 8 }, { 9 "endTime" : "2019-01-21T19:30:00.000+0000", 10 "startTime" : "2019-01-21T16:30:00.000+0000", 11 "territoryId" : "0HhB0000000TO9WKAW" 12 }, { 13 "endTime" : "2019-01-21T19:45:00.000+0000", 14 "startTime" : "2019-01-21T16:45:00.000+0000", 15 "territoryId" : "0HhB0000000TO9WKAW" 16 } 17] 18}
前提条件
予定の時間枠は、Salesforce Scheduler のデータモデル設定に基づいて決定されます。以下に、データ設定時に検討できる要件をいくつか示します。
- 要求を作成する前に、Salesforce Scheduler を設定します。設定には、サービスリソース、サービステリトリーメンバー、作業種別グループ、作業種別、作業種別グループメンバー、およびサービステリトリー作業種別の作成または設定が含まれます。詳細は、「Salesforce Scheduler の設定」を参照してください。
- サービステリトリー作業種別を使用して、リクエストボディ内の各テリトリーにマップされる作業種別を設定します。作業種別グループメンバーを使用して、作業種別グループに同一の作業種別をマップします。
ルールとガイドライン
以下の要素は、時間枠が計算され、返される方法に影響します。
- 業務時間全体で異なるタイムゾーンが処理され、結果は常に UTC で返されます。
- リソースは、割り当てられたリソースオブジェクトの必須リソースとしてマークする必要があります。
- サービス予定に割り当てられたリソースの状況カテゴリが、[キャンセル済み]、[完了不可]、および [完了] 以外の場合、リソースは利用不可と見なされます。
- すべての種別の [リソース不在] は、開始から終了まで利用不可と見なされます。
- 以下の作業種別レコードの項目 (設定されている場合) は、時間枠要件の調整に使用されます。詳細は、「Salesforce Scheduler での作業種別の作成」を参照してください。
パラメータ 説明 時間枠開始 現在の時刻 + 時間枠開始より早い時間枠は返されません。 時間枠終了 現在の時刻 + 時間枠終了より遅い時間枠は返されません。 予定前のブロックタイム 予定が利用不可と見なされるまでの期間。 予定後のグロックタイム 予定が利用不可と見なされた後の期間。 業務時間 時間枠を決定する際は、取引先、作業種別、サービステリトリー、およびサービステリトリーメンバーのすべての業務時間の重複が考慮されます。詳細は、「Salesforce Scheduler での業務時間の設定」を参照してください。 - 31 日の期間内の時間枠のみが返されます。
- 以下のガイドラインに従って、最も早い予定および最も遅い予定の時間枠が計算されます。
- 最も早い予定の時間枠 = 以下の最大値
- サービステリトリーメンバーの開始日
- 現在の時刻 + 時間枠開始
- リクエストボディで渡される開始時刻
- 最も遅い予定の時間枠 = 以下の最小値
- サービステリトリーメンバーの終了日
- 最も早い予定の時間枠の日付 + 31 日
- 現在の時刻 + 時間枠終了
- 最も早い予定の時間枠 = 以下の最大値