/* * @description Updates a Salesforce record. * * @param record The record * @return an empty string * @throws SalesforceApiException if request fails */ public IEnumerator update(SalesforceRecord record) { assertUserIsLoggedIn(); JSONObject recordJson = record.toJson(); recordJson.Remove("Id"); string url = getDataServiceUrl() + "sobjects/" + record.getSObjectName() + "/" + record.id; using (UnityWebRequest request = getBaseRequest(url, "PATCH")) { request.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(recordJson.ToString())); yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { logResponseError(request); throw new SalesforceApiException("Salesforce update error: " + request.error); } else { logResponseSuccess(request); yield return(request.downloadHandler.text); } } }
/* * @description Deletes a Salesforce record. * * @param record The record * @return an empty string * @throws SalesforceApiException if request fails */ public IEnumerator delete(SalesforceRecord record) { assertUserIsLoggedIn(); string url = getDataServiceUrl() + "sobjects/" + record.getSObjectName() + "/" + record.id; using (UnityWebRequest request = getBaseRequest(url, "DELETE")) { yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { logResponseError(request); throw new SalesforceApiException("Salesforce delete error: " + request.error); } else { logResponseSuccess(request); yield return(request.downloadHandler.text); } } }