Apex を使用してメンテナンス計画の作業指示を生成する
メンテナンス計画に対する [作業指示を作成] アクションは、Apex コードを使用してコールすることもできます。次のコードサンプルは、generateWorkOrder アクションの REST API リソースに対して Apex コールアウトを実行し、作業指示レコードを作成します。
このコードサンプルは、次の数通りの方法で使用できます。
- Aura コンポーネントの Apex コントローラーコードに追加し、カスタム UI またはアプリケーション機能に関連付ける。
- Apex トリガーで使用して、作業指示の作成を半自動化する (メンテナンス計画が作成または更新されるたびなど)。
- Apex REST サービスで使用して、外部のインテグレーションサービスからコールされると作業指示を作成する。
API Endpoint (v45.0): /services/data/v45.0/actions/standard/generateWorkOrders
1String salesforceHost = System.Url.getSalesforceBaseURL().toExternalForm();
2String url = salesforceHost + '/services/data/v45.0/actions/standard/generateWorkOrders';
3// Create HTTP request
4HttpRequest request = new HttpRequest();
5request.setEndpoint(url);
6request.setMethod('POST');
7request.setHeader('Content-Type', 'application/json;charset=UTF-8');
8request.setHeader('Authorization', 'OAuth ' + UserInfo.getSessionId());
9// Set the body as a JSON object
10request.setBody('{"inputs" : [{"recordId" : "1MPR000000000Bu"}]}');
11Http http = new Http();
12HttpResponse response = http.send(request);
13// Parse the JSON response
14if (response.getStatusCode() != 201) {
15 System.debug('The status code returned was not expected: ' +
16 response.getStatusCode() + ' ' + response.getStatus());
17} else {
18 System.debug(response.getBody());
19}