Apex を使用したサービスレポートの作成
作業指示、作業指示品目、サービス予定に対する [サービスレポートを作成] アクションは、Apex コードを使用してコールすることもできます。次のコードサンプルは、createServiceReport アクションの REST API リソースに対して Apex コールアウトを実行し、2 つの署名を使用してサービス予定を作成します。
各サービスレポートには、親レコードのデータと、顧客、技術者など、サインする必要がある人の署名が含まれます。API コールでは、レポートで使用される 1 つ以上の署名を定義できます。署名の数と種別は、サービスレポートテンプレートの署名設定と一致する必要があります。
API Endpoint (v41.0): /services/data/v41.0/actions/standard/createServiceReport
1{
2 "inputs" : [ {
3 "entityId" : "0WOxx000000001E",
4 "signatures" : [
5 {"data":"Base64 code for the captured signature image",
6 "contentType":"image/png",
7 "name":"Customer Signature",
8 "signatureType":"Customer",
9 "place":"San Francisco",
10 "signedBy":"John Doe",
11 "signedDate":"Thu Jul 13 22:34:43 GMT 2017"
12 },
13 {"data":"Base64 code for the captured signature image",
14 "contentType":"image/png",
15 "name":"Technician Signature",
16 "signatureType":"Technician"
17 }],
18 "templateId" : "0SLR00000004DBFOA2"
19 } ]
20 }項目の説明
- entityId — サービスレポートを作成する作業指示、作業指示品目、サービスレポートの ID。
- signatures — デジタル署名の JSON 定義のリスト。
- data — (必須) 画像の base64 コード。
- contentType — (必須) 署名のファイルの種類。
- signatureType — (必須) 署名者の役割 (「顧客」など)。[署名種別] 選択リストの値は、Salesforce システム管理者によって事前に定義されます。各署名ブロックには異なる署名種別を使用する必要があり、コールで定義する署名種別は、サービスレポートテンプレートの署名種別と一致する必要があります。
- name — 署名ブロックのタイトル。この値は、生成されたサービスレポートに表示されます。
- place — 署名の場所。この値は、生成されたサービスレポートに表示されます。
- signedBy — 署名者の名前。この値は、生成されたサービスレポートに表示されます。
- signedDate — 署名の日付。この値は、生成されたサービスレポートに表示されます。
- templateId — レポートに使用されたサービスレポートテンプレートの ID.ID を検索するには、ワークベンチで ServiceReportLayout オブジェクトに対して SOQL クエリを実行します。