Мой код, по сути, делает то, что я хочу, до тех пор, пока я не хочу возвращать идентификатор ответа в Salesforce.
public class ExpensifyCallout {
//@future(callout=true)
public static void createReport(Id SFReportID, String projectName, Date projectStartDate, Date projectEndDate, String projectReportLocation, String policyID, String employeeEmail){
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('callout:Expensify_API');
request.setHeader('ContentType', 'application/json');
request.setBody('requestJobDescription={"type": "create","credentials": {"partnerUserID": "{!$Credential.Username}" ,"partnerUserSecret": "{!$Credential.Password}"},"inputSettings": {"type": "report","policyID": "'+policyID+'","report": {"title": "'+projectName+'/ '+projectStartDate.format()+' - '+projectEndDate.format()+'/ '+projectReportLocation+'"}, "employeeEmail": "'+employeeEmail+'", "expenses":[]}}');
request.setMethod('POST');
HttpResponse response = http.send(request);
// If the request is successful, parse the JSON response.
if (response.getStatusCode() == 200) {
System.debug(response.getBody());
Map <String, Object> responseJSON = (Map <String, Object>) JSON.deserializeUntyped(response.getBody());
String reportID = string.valueof(responseJSON.get('reportID'));
System.debug('Hello World! ');
System.debug('Hello World! '+ reportID);
/*ExpensifyReport__c[] eRecords = [SELECT Name
FROM ExpensifyReport__c
WHERE Id = :SFReportID];
ExpensifyReport__c e = eRecords[0];
e.expensifyReportID__c = reportID;*/
}
// else handle problem
}
Мой код ответа от API следующий: {"reportID":"54995495","reportName":"My TEST report","responseCode":200}
и я хочу получить reportID и записать его обратно в созданную мной запись, которая вызвала вызов.
Не печатаются только две инструкции с Hello World. Остальное работает как положено. Кто-нибудь знает, почему это может быть? Большое спасибо.
Я заметил сообщение об ошибке, которое мне не очень помогает: Invalid api version:0.0
Когда я проверяю настройки, ни один из перечисленных API не имеет версии 0.0 ...