/// <summary> /// This method is used to get the list of territories enabled for your organization and print the response. /// </summary> public static void GetTerritories() { //Get instance of TerritoriesOperations Class TerritoriesOperations territoriesOperations = new TerritoriesOperations(); //Call GetTerritories method APIResponse <ResponseHandler> response = territoriesOperations.GetTerritories(); if (response != null) { //Get the status code from response Console.WriteLine("Status Code: " + response.StatusCode); if (new List <int>() { 204, 304 }.Contains(response.StatusCode)) { Console.WriteLine(response.StatusCode == 204? "No Content" : "Not Modified"); return; } //Check if expected response is received if (response.IsExpected) { //Get object from response ResponseHandler responseHandler = response.Object; if (responseHandler is ResponseWrapper) { //Get the received ResponseWrapper instance ResponseWrapper responseWrapper = (ResponseWrapper)responseHandler; //Get the list of obtained Territory instances List <Com.Zoho.Crm.API.Territories.Territory> territoryList = responseWrapper.Territories; foreach (Com.Zoho.Crm.API.Territories.Territory territory in territoryList) { //Get the CreatedTime of each Territory Console.WriteLine("Territory CreatedTime: " + territory.CreatedTime); //Get the PermissionType of each Territory Console.WriteLine("Territory PermissionType: " + territory.PermissionType); //Get the ModifiedTime of each Territory Console.WriteLine("Territory ModifiedTime: " + territory.ModifiedTime); //Get the manager User instance of each Territory User manager = territory.Manager; //Check if manager is not null if (manager != null) { //Get the Name of the Manager Console.WriteLine("Territory Manager User-Name: " + manager.Name); //Get the ID of the Manager Console.WriteLine("Territory Manager User-ID: " + manager.Id); } // Get the Criteria instance of each Territory Criteria criteria = territory.AccountRuleCriteria; //Check if criteria is not null if (criteria != null) { PrintCriteria(criteria); } //Get the Name of each Territory Console.WriteLine("Territory Name: " + territory.Name); //Get the modifiedBy User instance of each Territory User modifiedBy = territory.ModifiedBy; //Check if modifiedBy is not null if (modifiedBy != null) { //Get the Name of the modifiedBy User Console.WriteLine("Territory Modified By User-Name: " + modifiedBy.Name); //Get the ID of the modifiedBy User Console.WriteLine("Territory Modified By User-ID: " + modifiedBy.Id); } //Get the Description of each Territory Console.WriteLine("Territory Description: " + territory.Description); //Get the ID of each Territory Console.WriteLine("Territory ID: " + territory.Id); //Get the reportingTo User instance of each Territory API.Territories.Territory reportingTo = territory.ReportingTo; //Check if reportingTo is not null if (reportingTo != null) { //Get the Name of the reportingTo User Console.WriteLine("Territory ReportingTo User-Name: " + reportingTo.Name); //Get the ID of the reportingTo User Console.WriteLine("Territory ReportingTo User-ID: " + reportingTo.Id); } // Get the Criteria instance of each Territory Criteria dealcriteria = territory.DealRuleCriteria; //Check if criteria is not null if (dealcriteria != null) { PrintCriteria(dealcriteria); } //Get the createdBy User instance of each Territory User createdBy = territory.CreatedBy; //Check if createdBy is not null if (modifiedBy != null) { //Get the Name of the createdBy User Console.WriteLine("Territory Created By User-Name: " + createdBy.Name); //Get the ID of the createdBy User Console.WriteLine("Territory Created By User-ID: " + createdBy.Id); } } API.Record.Info info = responseWrapper.Info; Console.WriteLine("Territory Info PerPage : " + info.PerPage); Console.WriteLine("Territory Info Count : " + info.Count); Console.WriteLine("Territory Info Page : " + info.Page); Console.WriteLine("Territory Info MoreRecords : " + info.MoreRecords); } //Check if the request returned an exception else if (responseHandler is APIException) { //Get the received APIException instance APIException exception = (APIException)responseHandler; //Get the Status Console.WriteLine("Status: " + exception.Status.Value); //Get the Code Console.WriteLine("Code: " + exception.Code.Value); Console.WriteLine("Details: "); //Get the details map foreach (KeyValuePair <string, object> entry in exception.Details) { //Get each value in the map Console.WriteLine(entry.Key + ": " + JsonConvert.SerializeObject(entry.Value)); } //Get the Message Console.WriteLine("Message: " + exception.Message.Value); } } else { //If response is not as expected //Get model object from response Model responseObject = response.Model; //Get the response object's class Type type = responseObject.GetType(); //Get all declared fields of the response class Console.WriteLine("Type is: {0}", type.Name); PropertyInfo[] props = type.GetProperties(); Console.WriteLine("Properties (N = {0}):", props.Length); foreach (var prop in props) { if (prop.GetIndexParameters().Length == 0) { Console.WriteLine("{0} ({1}) : {2}", prop.Name, prop.PropertyType.Name, prop.GetValue(responseObject)); } else { Console.WriteLine("{0} ({1}) : <Indexed>", prop.Name, prop.PropertyType.Name); } } } } }
public static void GetEmailTemplates(string moduleAPIName) { //Get instance of EmailTemplatesOperations Class EmailTemplatesOperations emailTemplatesOperations = new EmailTemplatesOperations(); ParameterMap parameter = new ParameterMap(); parameter.Add(GetEmailTemplatesParam.MODULE, moduleAPIName); //Call GetEmailTemplates method APIResponse <ResponseHandler> response = emailTemplatesOperations.GetEmailTemplates(parameter); if (response != null) { //Get the status code from response Console.WriteLine("Status Code: " + response.StatusCode); if (new List <int>() { 204, 304 }.Contains(response.StatusCode)) { Console.WriteLine(response.StatusCode == 204 ? "No Content" : "Not Modified"); return; } //Check if expected response is received if (response.IsExpected) { //Get object from response ResponseHandler responseHandler = response.Object; if (responseHandler is ResponseWrapper) { //Get the received ResponseWrapper instance ResponseWrapper responseWrapper = (ResponseWrapper)responseHandler; //Get the list of obtained EmailTemplate instances List <API.EmailTemplates.EmailTemplate> emailTemplates = responseWrapper.EmailTemplates; foreach (API.EmailTemplates.EmailTemplate emailTemplate in emailTemplates) { //Get the CreatedTime of each EmailTemplate Console.WriteLine("EmailTemplate CreatedTime: " + emailTemplate.CreatedTime); List <Attachment> attachments = emailTemplate.Attachments; if (attachments != null) { foreach (Attachment attachment in attachments) { //Get the Size of each Attachment Console.WriteLine("Attachment Size: " + attachment.Size); //Get the FileId of each Attachment Console.WriteLine("Attachment FileId: " + attachment.FileId); //Get the FileName of each Attachment Console.WriteLine("Attachment FileName: " + attachment.FileName); //Get the Id of each Attachment Console.WriteLine("Attachment ID: " + attachment.Id); } } //Get the Subject of each EmailTemplate Console.WriteLine("EmailTemplate Subject: " + emailTemplate.Subject); API.Modules.Module module = emailTemplate.Module; if (module != null) { //Get the Module Name of the EmailTemplate Console.WriteLine("EmailTemplate Module Name : " + module.APIName); //Get the Module Id of the EmailTemplate Console.WriteLine("EmailTemplate Module Id : " + module.Id); } //Get the Type of each EmailTemplate Console.WriteLine("EmailTemplate Type: " + emailTemplate.Type); //Get the CreatedBy User instance of each EmailTemplate User createdBy = emailTemplate.CreatedBy; //Check if createdBy is not null if (createdBy != null) { //Get the Id of the CreatedBy User Console.WriteLine("EmailTemplate Created By User-ID: " + createdBy.Id); //Get the Name of the CreatedBy User Console.WriteLine("EmailTemplate Created By User-Name: " + createdBy.Name); Console.WriteLine("EmailTemplate Created By User-Email : " + createdBy.Email); } //Get the ModifiedTime of each EmailTemplate Console.WriteLine("EmailTemplate ModifiedTime: " + emailTemplate.ModifiedTime); //Get the Folder instance of each EmailTemplate API.EmailTemplates.EmailTemplate folder = emailTemplate.Folder; //Check if folder is not null if (folder != null) { //Get the Id of the Folder Console.WriteLine("EmailTemplate Folder Id: " + folder.Id); //Get the Name of the Folder Console.WriteLine("EmailTemplate Folder Name: " + folder.Name); } //Get the LastUsageTime of each EmailTemplate Console.WriteLine("EmailTemplate LastUsageTime: " + emailTemplate.LastUsageTime); //Get the Associated of each EmailTemplate Console.WriteLine("EmailTemplate Associated: " + emailTemplate.Associated); //Get the name of each EmailTemplate Console.WriteLine("EmailTemplate Name: " + emailTemplate.Name); //Get the ConsentLinked of each EmailTemplate Console.WriteLine("EmailTemplate ConsentLinked: " + emailTemplate.ConsentLinked); //Get the modifiedBy User instance of each EmailTemplate User modifiedBy = emailTemplate.ModifiedBy; //Check if modifiedBy is not null if (modifiedBy != null) { //Get the ID of the ModifiedBy User Console.WriteLine("EmailTemplate Modified By User-ID: " + modifiedBy.Id); //Get the Name of the CreatedBy User Console.WriteLine("EmailTemplate Modified By User-Name: " + modifiedBy.Name); Console.WriteLine("EmailTemplate Modified By User-Email : " + modifiedBy.Email); } //Get the ID of each EmailTemplate Console.WriteLine("EmailTemplate ID: " + emailTemplate.Id); //Get the EditorMode each EmailTemplate Console.WriteLine("EmailTemplate EditorMode: " + emailTemplate.EditorMode); Console.WriteLine("EmailTemplate Content: " + emailTemplate.Content); // Get the Description of each EmailTemplate Console.WriteLine("EmailTemplate Description: " + emailTemplate.Description); // Get the EditorMode of each EmailTemplate Console.WriteLine("EmailTemplate EditorMode: " + emailTemplate.EditorMode); //Get the Favorite of each EmailTemplate Console.WriteLine("EmailTemplate Favorite: " + emailTemplate.Favorite); // Get the Favourite of each EmailTemplate Console.WriteLine("EmailTemplate Subject: " + emailTemplate.Subject); } API.Record.Info info = responseWrapper.Info; Console.WriteLine("EmailTemplate Info PerPage : " + info.PerPage); Console.WriteLine("EmailTemplate Info Count : " + info.Count); Console.WriteLine("EmailTemplate Info Page : " + info.Page); Console.WriteLine("EmailTemplate Info MoreRecords : " + info.MoreRecords); } //Check if the request returned an exception else if (responseHandler is APIException) { //Get the received APIException instance APIException exception = (APIException)responseHandler; //Get the Status Console.WriteLine("Status: " + exception.Status.Value); //Get the Code Console.WriteLine("Code: " + exception.Code.Value); Console.WriteLine("Details: "); //Get the details map foreach (KeyValuePair <string, object> entry in exception.Details) { //Get each value in the map Console.WriteLine(entry.Key + ": " + JsonConvert.SerializeObject(entry.Value)); } //Get the Message Console.WriteLine("Message: " + exception.Message.Value); } } else { //If response is not as expected //Get model object from response Model responseObject = response.Model; //Get the response object's class Type type = responseObject.GetType(); //Get all declared fields of the response class Console.WriteLine("Type is: {0}", type.Name); PropertyInfo[] props = type.GetProperties(); Console.WriteLine("Properties (N = {0}):", props.Length); foreach (var prop in props) { if (prop.GetIndexParameters().Length == 0) { Console.WriteLine("{0} ({1}) in {2}", prop.Name, prop.PropertyType.Name, prop.GetValue(responseObject)); } else { Console.WriteLine("{0} ({1}) in <Indexed>", prop.Name, prop.PropertyType.Name); } } } } }
/** * <h3> Get Records </h3> * This method is used to get records from the module through a COQL query. * @throws Exception */ public static void GetRecords() { //Get instance of QueryOperations Class QueryOperations queryOperations = new QueryOperations(); //Get instance of BodyWrapper Class that will contain the request body BodyWrapper bodyWrapper = new BodyWrapper(); string selectQuery = "select Last_Name from Leads where Last_Name is not null limit 200"; bodyWrapper.SelectQuery = selectQuery; //Call getRecords method that takes BodyWrapper instance as parameter APIResponse <ResponseHandler> response = queryOperations.GetRecords(bodyWrapper); if (response != null) { //Get the status code from response Console.WriteLine("Status Code: " + response.StatusCode); //Check if expected response is received if (response.IsExpected) { //Get the object from response ResponseHandler responseHandler = response.Object; if (responseHandler is ResponseWrapper) { //Get the received ResponseWrapper instance ResponseWrapper responseWrapper = (ResponseWrapper)responseHandler; //Get the obtained Record instances List <API.Record.Record> records = responseWrapper.Data; foreach (API.Record.Record record in records) { //Get the ID of each Record Console.WriteLine("Record ID: " + record.Id); //Get the createdBy User instance of each Record API.Users.User createdBy = record.CreatedBy; //Check if createdBy is not null if (createdBy != null) { //Get the ID of the createdBy User Console.WriteLine("Record Created By User-ID: " + createdBy.Id); //Get the name of the createdBy User Console.WriteLine("Record Created By User-Name: " + createdBy.Name); //Get the Email of the createdBy User Console.WriteLine("Record Created By User-Email: " + createdBy.Email); } //Get the CreatedTime of each Record Console.WriteLine("Record CreatedTime: " + record.CreatedTime); //Get the modifiedBy User instance of each Record API.Users.User modifiedBy = record.ModifiedBy; //Check if modifiedBy is not null if (modifiedBy != null) { //Get the ID of the modifiedBy User Console.WriteLine("Record Modified By User-ID: " + modifiedBy.Id); //Get the name of the modifiedBy User Console.WriteLine("Record Modified By User-Name: " + modifiedBy.Name); //Get the Email of the modifiedBy User Console.WriteLine("Record Modified By User-Email: " + modifiedBy.Email); } //Get the ModifiedTime of each Record Console.WriteLine("Record ModifiedTime: " + record.ModifiedTime); //To get particular field value Console.WriteLine("Record Field Value: " + record.GetKeyValue("Last_Name")); // FieldApiName Console.WriteLine("Record KeyValues: "); //Get the KeyValue map foreach (KeyValuePair <string, object> entry in record.GetKeyValues()) { string keyName = entry.Key; object value = entry.Value; if (value is IList) { Console.WriteLine("Record KeyName : " + keyName); IList dataList = (IList)value; foreach (object data in dataList) { if (data is IDictionary) { Console.WriteLine("Record KeyName : " + keyName + " - Value : "); foreach (KeyValuePair <string, object> entry1 in (Dictionary <string, object>)data) { Console.WriteLine(entry1.Key + " : " + JsonConvert.SerializeObject(entry1.Value)); } } else { Console.WriteLine(JsonConvert.SerializeObject(data)); } } } else if (value is IDictionary) { Console.WriteLine("Record KeyName : " + keyName + " - Value : "); foreach (KeyValuePair <string, object> entry1 in (Dictionary <string, object>)value) { Console.WriteLine(entry1.Key + " : " + JsonConvert.SerializeObject(entry1.Value)); } } else { Console.WriteLine("Record KeyName : " + keyName + " - Value : " + JsonConvert.SerializeObject(value)); } } } //Get the Object obtained Info instance API.Record.Info info = responseWrapper.Info; //Check if info is not null if (info != null) { if (info.Count != null) { //Get the Count of the Info Console.WriteLine("Record Info Count: " + info.Count.ToString()); } if (info.MoreRecords != null) { //Get the MoreRecords of the Info Console.WriteLine("Record Info MoreRecords: " + info.MoreRecords.ToString()); } } } //Check if the request returned an exception else if (responseHandler is APIException) { //Get the received APIException instance APIException exception = (APIException)responseHandler; //Get the Status Console.WriteLine("Status: " + exception.Status.Value); //Get the Code Console.WriteLine("Code: " + exception.Code.Value); Console.WriteLine("Details: "); //Get the details map foreach (KeyValuePair <string, object> entry in exception.Details) { //Get each value in the map Console.WriteLine(entry.Key + " : " + entry.Value); } //Get the Message Console.WriteLine("Message: " + exception.Message.Value); } } else { //If response is not as expected //Get model object from response Model responseObject = response.Model; //Get the response object's class Type type = responseObject.GetType(); //Get all declared fields of the response class Console.WriteLine("Type is: {0}", type.Name); PropertyInfo[] props = type.GetProperties(); Console.WriteLine("Properties (N = {0}):", props.Length); foreach (var prop in props) { if (prop.GetIndexParameters().Length == 0) { Console.WriteLine("{0} ({1}) : {2}", prop.Name, prop.PropertyType.Name, prop.GetValue(responseObject)); } else { Console.WriteLine("{0} ({1}) : <Indexed>", prop.Name, prop.PropertyType.Name); } } } } }