/********************************************************************** 通话记录 *************************************************************************/ @RestResource(urlMapping='/SBGCallLog/*') global with sharing class SBGCallLogRest { global class GeDatasRest { public GeDatas GeDatas; } global class GeDatas { public NFMUtil.Monitoring Monitoring; public GeData[] GeData; } /* 通话记录: 1 呼叫标识(callid) 2 呼叫类型(callType 0呼入 1 呼出)3 主叫号码(callerNo) 4 被叫号码( calleeNo) 5 呼叫时间 6.接听时间 7 挂机时间 8 录音文件名地址 未接电话: 1呼叫标识(callid) 2 来电号码 3 来电时间 */ global class GeData { public String callid; //呼叫标识 public String callType; //呼叫类型 public String callerNo; //主叫号码 public String calleeNo; //被叫号码 public String callTime; //呼叫时间 public String answerTime; //接听时间 public String hangUpTime; //挂机时间 public String recordingAddress; //录音文件名地址 public String callLogType;//通话状态 } @HttpPost global static void execute() { // 取得接口传输内容 String strData = RestContext.request.requestBody.toString(); GeDatasRest ges = (GeDatasRest) JSON.deserializeStrict(strData, GeDatasRest.class); if (ges == null ) { return; } NFMUtil.Monitoring Monitoring = ges.GeDatas.Monitoring; if (Monitoring == null) { return; } BatchIF_Log__c rowData = NFMUtil.saveRowData(Monitoring, 'SBGCallLog', ges.GeDatas.GeData); if (String.isBlank(rowData.Log__c) == false) { executefuture(rowData.Id); } // JSONを戻す RestResponse res = RestContext.response; res.addHeader('Content-Type', 'application/json'); res.statusCode = 200; String jsonResponse = '{"status": "Success", "Message":""}'; res.responseBody = blob.valueOf(jsonResponse); return; } @future global static void executefuture(String rowData_Id) { main(rowData_Id); } global static void main(String rowData_Id) { } }