Get Appointment Slots
指定の作業種別グループまたは作業種別と、サービステリトリーに基づいて、リソースの利用可能な予定の時間枠のリストを返します。
予定の時間枠は、Salesforce Scheduler のデータモデル設定に基づいて決定されます。以下に、データ設定時に検討できる要件をいくつか示します。
- 要求を作成する前に、Salesforce Scheduler を設定します。設定には、サービスリソース、サービステリトリーメンバー、作業種別グループ、作業種別、作業種別グループメンバー、およびサービステリトリー作業種別の作成または設定が含まれます。詳細は、「Salesforce Scheduler のビジネス情報の管理」を参照してください。
- サービステリトリー作業種別を使用して、リクエストボディ内の各テリトリーにマップされる作業種別を設定します。作業種別グループメンバーを使用して、作業種別グループに同一の作業種別をマップします。
以下の要素は、時間枠が計算され、返される方法に影響します。
- 業務時間全体で異なるタイムゾーンが処理され、結果は常に UTC で返されます。
- リソースは、割り当てられたリソースオブジェクトの必須リソースとしてマークする必要があります。
- サービス予定に割り当てられたリソースの状況カテゴリが、[キャンセル済み]、[完了不可]、および [完了] 以外の場合、リソースは利用不可と見なされます。
- すべての種別の [リソース不在] は、開始から終了まで利用不可と見なされます。
- 以下の作業種別レコードの項目 (設定されている場合) は、時間枠要件の調整に使用されます。詳細は、「Salesforce Scheduler での作業種別の作成」を参照してください。
パラメーター 説明 時間枠開始 現在の時刻 + 時間枠開始より早い時間枠は返されません。 時間枠終了 現在の時刻 + 時間枠終了より遅い時間枠は返されません。 予定前のブロックタイム 予定が利用不可と見なされるまでの期間。 予定後のブロックタイム 予定が利用不可と見なされた後の期間。 業務時間 時間枠を決定する際は、取引先、作業種別、サービステリトリー、およびサービステリトリーメンバーのすべての業務時間の重複が考慮されます。詳細は、「Salesforce Scheduler での業務時間の設定」を参照してください。 - 開始日から 31 日の期間内の時間枠のみが返されます。
- Salesforce Scheduler では、項目値、スケジュール済み予定、不在、Scheduler の設定、スケジュールポリシーなどの複数の要素を使用して、最も早い予定と最も遅い予定の時間枠を含む利用可能な時間枠が決定されます。「Salesforce Scheduler による対応可能な時間枠の決定方法」を参照してください。
構文
- 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 時間枠 (両端を含む) が終わる最も遅い時間。 engagementChannelTypeIds いいえ String [] エンゲージメントチャネル種別レコードの ID。時間枠の対応可能状況は、選択したエンゲージメントチャネル種別に基づいて絞り込みます。この項目は、API バージョン 56.0 以降で使用できます。 getAppointmentSlots API でエンゲージメントチャネル種別を使用できるのは、次の場合のみです。- [エンゲージメントチャネルを使用して予定をスケジュール] 設定が、Salesforce 組織の Salesforce Scheduler の設定で有効になっている。
- シフトが、スケジュールポリシーで定義されている。スケジュールポリシーでのシフトの設定の詳細は、「スケジュールポリシーでのシフトルールの定義」を参照してください。
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-28T00:00:00.000Z", 4 "workTypeGroupId": "0VSB0000000KyjBOAS", 5 "accountId": "001B000000qAUAWIA4", 6 "territoryIds": [ 7 "0HhB0000000TO9WKAW" 8 ], 9 "schedulingPolicyId": "0VrB0000000KyjB", 10 "requiredResourceIds": [ 11 "0HnB0000000TO8gKAK" 12 ], 13 "engagementChannelTypeIds": [ 14 "0eFRM00000000Bv2AI" 15 ] 16} -
workType を使用:
1{ 2 "startTime": "2019-01-23T00:00:00.000Z", 3 "endTime": "2019-02-28T00:00:00.000Z", 4 "workType": { 5 "id": "08qRM00000003fkYAA" 6 }, 7 "requiredResourceIds": [ 8 "0HnB0000000TO8gKAK" 9 ], 10 "territoryIds": [ 11 "0HhRM00000003OZ0AY" 12 ], 13 "accountId": "001B000000qAUAWIA4", 14 "schedulingPolicyId": "0VrB0000000KyjB", 15 "engagementChannelTypeIds": [ 16 "0eFRM00000000Bv2AI" 17 ] 18} - レスポンスボディの例
-
1{ 2 "timeSlots": [ 3 { 4 "endTime": "2019-01-21T19:15:00.000+0000", 5 "startTime": "2019-01-21T16:15:00.000+0000", 6 "territoryId": "0HhB0000000TO9WKAW" 7 }, 8 { 9 "endTime": "2019-01-21T19:30:00.000+0000", 10 "startTime": "2019-01-21T16:30:00.000+0000", 11 "territoryId": "0HhB0000000TO9WKAW" 12 }, 13 { 14 "endTime": "2019-01-21T19:45:00.000+0000", 15 "startTime": "2019-01-21T16:45:00.000+0000", 16 "territoryId": "0HhB0000000TO9WKAW" 17 } 18 ] 19}