この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

LightningScheduler クラス

サービス予定を作成および更新します。

名前空間

ConnectApi

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}