LightningScheduler クラス
名前空間
LightningScheduler のメソッド
LightningScheduler のメソッドは次のとおりです。すべてのメソッドが静的です。
createServiceAppointment(createServiceAppointmentInput)
サービス予定を作成します。
API バージョン
53.0
Chatter が必要かどうか
いいえ
署名
public static ConnectApi.ServiceAppointmentOutput createServiceAppointment(ConnectApi.CreateServiceAppointmentInput createServiceAppointmentInput)
パラメーター
- createServiceAppointmentInput
- 型: ConnectApi.CreateServiceAppointmentInput
- サービス予定を作成するための入力パラメーター。
使用方法
エンゲージメントチャ���ル種別を service-appointments リソースとともに使用する場合の考慮事項を次に示します。
- Salesforce 組織の [Salesforce Scheduler の設定] で [エンゲージメントチャネルを使用して予定をスケジュール] を有効にします。
- 予定を作成または変更するときは、スケジュールポリシーでシフトを定義する必要があります。スケジュールポリシーでのシフトの設定についての詳細は、「スケジュールポリシーでのシフトルールの定義」を参照してください。
- エンゲージメントチャネル種別とシフトを使用してサービス予定を作成する場合、Salesforce Scheduler では、予定種別のデフォルト値が考慮されます (指定されていない場合)。ただし、Salesforce Scheduler で考慮されるのは、エンゲージメントチャネル種別のみで、予定種別は無視されます。
例
取引先 (既存のユーザー) の場合:
1ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
2extendedFieldEmail.name = 'Email';
3extendedFieldEmail.value = 'rachael.adams@salesforce.com';
4
5ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
6extendedFieldPhone.name = 'Phone';
7extendedFieldPhone.value = '1234567890';
8
9List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
10extendedFieldList.add(extendedFieldEmail);
11extendedFieldList.add(extendedFieldPhone);
12
13ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
14serviceAppInput.extendedFields = extendedFieldList;
15serviceAppInput.engagementChannelTypeId = '0eFRM00000000Bv2AI';
16serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
17serviceAppInput.workTypeId = '08qxx0000004C92AAE';
18serviceAppInput.parentRecordId = '001xx000003GYR1AAO';
19serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
20serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
21
22ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
23asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
24asResourceInput.isRequiredResource = true;
25asResourceInput.isPrimaryResource = true;
26
27List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
28asResourceInputList.add(asResourceInput);
29
30ConnectApi.CreateServiceAppointmentInput createInput = new ConnectApi.CreateServiceAppointmentInput();
31createInput.serviceAppointment = serviceAppInput;
32createInput.assignedResources = asResourceInputList;
33
34try{
35 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.createServiceAppointment(createInput);
36 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
37 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
38}catch(ConnectApi.ConnectApiException ex){
39 //Handle Exception
40}リード (認証されたゲストユーザー) の場合:
1ConnectApi.LeadInput leadInput = new ConnectApi.LeadInput();
2leadInput.firstName = 'Rachel';
3leadInput.lastName = 'Adams';
4leadInput.phone = '012-345-6789';
5leadInput.email = 'rachel.adams@salesforce.com';
6leadInput.company = 'Salesforce';
7
8ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
9extendedFieldEmail.name = 'Email';
10extendedFieldEmail.value = 'rachael.adams@salesforce.com';
11
12ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
13extendedFieldPhone.name = 'Phone';
14extendedFieldPhone.value = '1234567890';
15
16List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
17extendedFieldList.add(extendedFieldEmail);
18extendedFieldList.add(extendedFieldPhone);
19
20ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
21serviceAppInput.extendedFields = extendedFieldList;
22serviceAppInput.engagementChannelTypeId = '0eFRM00000000Bv2AI';
23serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
24serviceAppInput.workTypeId = '08qxx0000004C92AAE';
25serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
26serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
27
28ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
29asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
30asResourceInput.isRequiredResource = true;
31asResourceInput.isPrimaryResource = true;
32
33List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
34asResourceInputList.add(asResourceInput);
35
36ConnectApi.CreateServiceAppointmentInput createInput = new ConnectApi.CreateServiceAppointmentInput();
37createInput.serviceAppointment = serviceAppInput;
38createInput.assignedResources = asResourceInputList;
39createInput.lead = leadInput;
40
41try{
42 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.createServiceAppointment(createInput);
43 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
44 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
45}catch(ConnectApi.ConnectApiException ex){
46 //Handle Exception
47}updateServiceAppointment(updateServiceAppointmentInput)
サービス予定を更新します。
API バージョン
53.0
Chatter が必要かどうか
いいえ
署名
public static ConnectApi.ServiceAppointmentOutput updateServiceAppointment(ConnectApi.UpdateServiceAppointmentInput updateServiceAppointmentInput)
パラメーター
- updateServiceAppointmentInput
- 型: ConnectApi.UpdateServiceAppointmentInput
- サービス予定を更新するための入力パラメーター。
使用方法
エンゲージメントチャネル種別を service-appointments リソースとともに使用する場合の考慮事項を次に示します。
- Salesforce 組織の [Salesforce Scheduler の設定] で [エンゲージメントチャネルを使用して予定をスケジュール] を有効にします。
- 予定を作成または変更するときは、スケジュールポリシーでシフトを定義する必要があります。スケジュールポリシーでのシフトの設定についての詳細は、「スケジュールポリシーでのシフトルールの定義」を参照してください。
- エンゲージメントチャネル種別とシフトを使用して予定を変更する場合、Salesforce Scheduler では、予定種別のデフォルト値が考慮されます (指定されていない場合)。ただし、Salesforce Scheduler で考慮されるのは、エンゲージメントチャネル種別のみで、予定種別は無視されます。
例
1ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
2extendedFieldEmail.name = 'Email';
3extendedFieldEmail.value = 'rachel.adams@salesforce.com.example';
4
5ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
6extendedFieldPhone.name = 'Phone';
7extendedFieldPhone.value = '0123456789';
8
9ConnectApi.ExtendedFieldInput extendedFieldStatus = new ConnectApi.ExtendedFieldInput();
10extendedFieldStatus.name = 'Status';
11extendedFieldStatus.value = 'None';
12
13List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
14extendedFieldList.add(extendedFieldEmail);
15extendedFieldList.add(extendedFieldPhone);
16extendedFieldList.add(extendedFieldStatus);
17
18ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
19serviceAppInput.extendedFields = extendedFieldList;
20serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
21serviceAppInput.workTypeId = '08qxx0000004C92AAE';
22serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
23serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
24
25ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
26asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
27asResourceInput.isRequiredResource = true;
28asResourceInput.isPrimaryResource = true;
29
30//Multi-resource
31ConnectApi.AssignedResourcesInput asResourceInputReq = new ConnectApi.AssignedResourcesInput();
32asResourceInputReq.serviceResourceId = '0Hnxx0000004CAgCAM';
33asResourceInputReq.isRequiredResource = true;
34asResourceInputReq.isPrimaryResource = false;
35
36List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
37asResourceInputList.add(asResourceInput);
38asResourceInputList.add(asResourceInputReq);
39
40ConnectApi.UpdateServiceAppointmentInput updateInput = new ConnectApi.UpdateServiceAppointmentInput();
41updateInput.serviceAppointment = serviceAppInput;
42updateInput.assignedResources = asResourceInputList;
43updateInput.serviceAppointmentId = '08pxx0000004CYqAAM';
44
45try{
46 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.updateServiceAppointment(updateInput);
47 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
48 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
49}catch(ConnectApi.ConnectApiException ex){
50 //Handle Exception
51}