TypeScript SDK Samples - Users Operations

Get Users

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Get Users
   * This method is used to retrieve the users data specified in the API request.
   */
  public static async getUsers() {

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Get instance of ParameterMap Class
    let paramInstance: ParameterMap = new ParameterMap();

    /* Possible parameters for Get Users operation */
    await paramInstance.add(GetUsersParam.TYPE, "ActiveUsers");

    await paramInstance.add(GetUsersParam.PAGE, 1);

    await paramInstance.add(GetUsersParam.PER_PAGE, 200);

    //Get instance of HeaderMap Class
    let headerInstance: HeaderMap = new HeaderMap();

    /* Possible headers for Get Users operation */
    await headerInstance.add(GetUsersHeader.IF_MODIFIED_SINCE, new Date("2019-07-07T10:00:00+05:30"));

    //Call getUsers method that takes ParameterMap instance and HeaderMap instance as parameters
    let response: APIResponse = await usersOperations.getUsers(paramInstance, headerInstance);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      if ([204, 304].includes(response.getStatusCode())) {
        console.log(response.getStatusCode() == 204 ? "No Content" : "Not Modified");

        return;
      }

      //Get object from response
      let responseObject: ResponseHandler = response.getObject();

      if (responseObject != null) {

        //Check if expected ResponseWrapper instance is received
        if (responseObject instanceof ResponseWrapper) {

          //Get the array of obtained User instances
          let users: User[] = responseObject.getUsers();

          users.forEach(user => {
            //Get the Country of each User
            console.log("User Country: " + user.getCountry());

            // Get the CustomizeInfo instance of each User
            let customizeInfo: CustomizeInfo = user.getCustomizeInfo();

            //Check if customizeInfo is not null
            if (customizeInfo != null) {
              if (customizeInfo.getNotesDesc() != null) {
                //Get the NotesDesc of each User
                console.log("User CustomizeInfo NotesDesc: " + customizeInfo.getNotesDesc().toString());
              }

              if (customizeInfo.getShowRightPanel() != null) {
                //Get the ShowRightPanel of each User
                console.log("User CustomizeInfo ShowRightPanel: " + customizeInfo.getShowRightPanel().toString());
              }

              if (customizeInfo.getBcView() != null) {
                //Get the BcView of each User
                console.log("User CustomizeInfo BcView: " + customizeInfo.getBcView().toString());
              }

              if (customizeInfo.getShowHome() != null) {
                //Get the ShowHome of each User
                console.log("User CustomizeInfo ShowHome: " + customizeInfo.getShowHome().toString());
              }

              if (customizeInfo.getShowDetailView() != null) {
                //Get the ShowDetailView of each User
                console.log("User CustomizeInfo ShowDetailView: " + customizeInfo.getShowDetailView().toString());
              }

              if (customizeInfo.getUnpinRecentItem() != null) {
                //Get the UnpinRecentItem of each User
                console.log("User CustomizeInfo UnpinRecentItem: " + customizeInfo.getUnpinRecentItem().toString());
              }
            }

            // Get the Role instance of each User
            let role: Role = user.getRole();

            //Check if role is not null
            if (role != null) {
              //Get the Name of each Role
              console.log("User Role Name: " + role.getName());

              //Get the ID of each Role
              console.log("User Role ID: " + role.getId());
            }

            //Get the Signature of each User
            console.log("User Signature: " + user.getSignature());

            //Get the City of each User
            console.log("User City: " + user.getCity());

            //Get the NameFormat of each User
            console.log("User NameFormat: " + user.getNameFormat());

            //Get the Language of each User
            console.log("User Language: " + user.getLanguage());

            //Get the Locale of each User
            console.log("User Locale: " + user.getLocale());

            //Get the Microsoft of each User
            console.log("User Microsoft: " + user.getMicrosoft().toString());

            if (user.getPersonalAccount() != null) {
              //Get the PersonalAccount of each User
              console.log("User PersonalAccount: " + user.getPersonalAccount().toString());
            }

            //Get the DefaultTabGroup of each User
            console.log("User DefaultTabGroup: " + user.getDefaultTabGroup());

            //Get the Isonline of each User
            console.log("User Isonline: " + user.getIsonline().toString());

            //Get the modifiedBy User instance of each User
            let modifiedBy: User = user.getModifiedBy();

            //Check if modifiedBy is not null
            if (modifiedBy != null) {
              //Get the Name of the modifiedBy User
              console.log("User Modified By User-Name: " + modifiedBy.getName());

              //Get the ID of the modifiedBy User
              console.log("User Modified By User-ID: " + modifiedBy.getId());
            }

            //Get the Street of each User
            console.log("User Street: " + user.getStreet());

            //Get the Currency of each User
            console.log("User Currency: " + user.getCurrency());

            //Get the Alias of each User
            console.log("User Alias: " + user.getAlias());

            // Get the Theme instance of each User
            let theme: Theme = user.getTheme();

            //Check if theme is not null
            if (theme != null) {
              // Get the TabTheme instance of Theme
              let normalTab: TabTheme = theme.getNormalTab();

              //Check if normalTab is not null
              if (normalTab != null) {
                //Get the FontColor of NormalTab
                console.log("User Theme NormalTab FontColor: " + normalTab.getFontColor());

                //Get the Background of NormalTab
                console.log("User Theme NormalTab Name: " + normalTab.getBackground());
              }

              // Get the TabTheme instance of Theme
              let selectedTab: TabTheme = theme.getSelectedTab();

              //Check if selectedTab is not null
              if (selectedTab != null) {
                //Get the FontColor of SelectedTab
                console.log("User Theme SelectedTab FontColor: " + selectedTab.getFontColor());

                //Get the Name of SelectedTab
                console.log("User Theme SelectedTab Name: " + selectedTab.getBackground());
              }

              //Get the NewBackground of each Theme
              console.log("User Theme NewBackground: " + theme.getNewBackground());

              //Get the Background of each Theme
              console.log("User Theme Background: " + theme.getBackground());

              //Get the Screen of each Theme
              console.log("User Theme Screen: " + theme.getScreen());

              //Get the Type of each Theme
              console.log("User Theme Type: " + theme.getType());
            }

            //Get the ID of each User
            console.log("User ID: " + user.getId());

            //Get the State of each User
            console.log("User State: " + user.getState());

            //Get the Fax of each User
            console.log("User Fax: " + user.getFax());

            //Get the CountryLocale of each User
            console.log("User CountryLocale: " + user.getCountryLocale());

            //Get the FirstName of each User
            console.log("User FirstName: " + user.getFirstName());

            //Get the Email of each User
            console.log("User Email: " + user.getEmail());

            //Get the reportingTo User instance of each User
            let reportingTo: User = user.getReportingTo();

            //Check if reportingTo is not null
            if (reportingTo != null) {
              //Get the Name of the reportingTo User
              console.log("User ReportingTo Name: " + reportingTo.getName());

              //Get the ID of the reportingTo User
              console.log("User ReportingTo ID: " + reportingTo.getId());
            }

            //Get the DecimalSeparator of each User
            console.log("User DecimalSeparator: " + user.getDecimalSeparator());

            //Get the Zip of each User
            console.log("User Zip: " + user.getZip());

            //Get the CreatedTime of each User
            console.log("User CreatedTime: " + user.getCreatedTime());

            //Get the Website of each User
            console.log("User Website: " + user.getWebsite());

            //Get the ModifiedTime of each User
            console.log("User ModifiedTime: " + user.getModifiedTime());

            //Get the TimeFormat of each User
            console.log("User TimeFormat: " + user.getTimeFormat());

            //Get the Offset of each User
            console.log("User Offset: " + user.getOffset().toString());

            //Get the Profile instance of each User
            let profile: Profile = user.getProfile();

            //Check if profile is not null
            if (profile != null) {
              //Get the Name of each Profile
              console.log("User Profile Name: " + profile.getName());

              //Get the ID of each Profile
              console.log("User Profile ID: " + profile.getId());
            }

            //Get the Mobile of each User
            console.log("User Mobile: " + user.getMobile());

            //Get the LastName of each User
            console.log("User LastName: " + user.getLastName());

            //Get the TimeZone of each User
            console.log("User TimeZone: " + user.getTimeZone());

            //Get the Custom Fields, if any
            console.log("Custom Field: " + user.getKeyValue("Custom_Field"));

            //Get the createdBy User instance of each User
            let createdBy: User = user.getCreatedBy();

            //Check if createdBy is not null
            if (createdBy != null) {
              //Get the Name of the createdBy User
              console.log("User Created By User-Name: " + createdBy.getName());

              //Get the ID of the createdBy User
              console.log("User Created By User-ID: " + createdBy.getId());
            }

            //Get the Zuid of each User
            console.log("User Zuid: " + user.getZuid());

            //Get the Confirm of each User
            console.log("User Confirm: " + user.getConfirm().toString());

            //Get the FullName of each User
            console.log("User FullName: " + user.getFullName());

            //Get the list of obtained Territory instances
            let territories: Territory[] = user.getTerritories();

            //Check if territories is not null
            if (territories != null) {
              territories.forEach(territory => {
                //Get the Manager of the Territory
                console.log("User Territory Manager: " + territory.getManager().toString());

                //Get the Name of the Territory
                console.log("User Territory Name: " + territory.getName());

                //Get the ID of the Territory
                console.log("User Territory ID: " + territory.getId());
              });
            }

            //Get the Phone of each User
            console.log("User Phone: " + user.getPhone());

            //Get the DOB of each User
            console.log("User DOB: " + user.getDob());

            //Get the DateFormat of each User
            console.log("User DateFormat: " + user.getDateFormat());

            //Get the Status of each User
            console.log("User Status: " + user.getStatus());
          });

          //Get the obtained Info object
          let info: Info = responseObject.getInfo();

          if (info != null) {
            if (info.getPerPage() != null) {
              //Get the PerPage of the Info
              console.log("User Info PerPage: " + info.getPerPage().toString());
            }

            if (info.getCount() != null) {
              //Get the Count of the Info
              console.log("User Info Count: " + info.getCount().toString());
            }

            if (info.getPage() != null) {
              //Get the Page of the Info
              console.log("User Info Page: " + info.getPage().toString());
            }

            if (info.getMoreRecords() != null) {
              //Get the MoreRecords of the Info
              console.log("User Info MoreRecords: " + info.getMoreRecords().toString());
            }
          }
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {
          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}
 
Add User

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Add a User
   * This method is used to add a user to your organization and print the response.
   */
  public static async createUser() {

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Get instance of RequestWrapper Class that will contain the request body
    let request: RequestWrapper = new RequestWrapper();

    //Array to hold User instances
    let userArray: User[] = [];

    //Get instance of User Class
    let user: User = new User();

    //Get instance of Role Class
    let role: Role = new Role();

    //Set ID to Role instance
    role.setId(BigInt("34770610026008"));

    //Set Role instance to role in User
    user.setRole(role);

    user.setCountryLocale("en_US");

    user.setFirstName("Test");

    user.setLastName("User");

    user.setEmail("testuser12345@zoho.com");

    //Get instance of Profile Class
    let profile: Profile = new Profile();

    profile.setId(BigInt("34770610026014"));

    //Set profile instance to profile in User instance
    user.setProfile(profile);

    //Add the User instance to array
    userArray.push(user);

    //Set the array to users in RequestWrapper instance
    request.setUsers(userArray);

    //Call createUser method that takes RequestWrapper class instance as parameter
    let response: APIResponse = await usersOperations.createUser(request);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      //Get object from response
      let responseObject: ActionHandler = response.getObject();

      if (responseObject != null) {

        //Check if expected ActionWrapper instance is received
        if (responseObject instanceof ActionWrapper) {

          //Get the array of obtained ActionResponse instances
          let actionResponses: ActionResponse[] = responseObject.getUsers();

          actionResponses.forEach(actionResponse => {

            //Check if the request is successful
            if (actionResponse instanceof SuccessResponse) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              console.log("Message: " + actionResponse.getMessage().getValue());
            }
            //Check if the request returned an exception
            else if (actionResponse instanceof APIException) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              //Get the Message
              console.log("Message: " + actionResponse.getMessage().getValue());
            }
          });
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {

          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}
 
Update Users

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Update Users
   * This method is used to update the details of multiple users of your organization and print the response.
   */
  public static async updateUsers() {

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Get instance of BodyWrapper Class that will contain the request body
    let request: BodyWrapper = new BodyWrapper();

    //Array to hold User instances
    let userArray: User[] = [];

    //Get instance of User Class
    let user: User = new User();

    //Set ID to User instance
    user.setId(BigInt("34770615791024"));

    //Get instance of Role Class
    let role: Role = new Role();

    //Set ID to Role instance
    role.setId(BigInt("34770610026008"));

    //Set role instance to role in User
    user.setRole(role);

    user.setCountryLocale("en_US");

    //Add User instance to array
    userArray.push(user);

    //Get instance of User Class
    user = new User();

    //Set ID to Role instance
    user.setId(BigInt("34096430302042"));

    role = new Role();

    //Set ID to Role instance
    role.setId(BigInt("34096430026008"));

    //Set role instance to role in User
    user.setRole(role);

    //Add User instance to array
    userArray.push(user);

    //Set the array to users in BodyWrapper
    request.setUsers(userArray);

    //Call updateUsers method that takes BodyWrapper instance as parameter
    let response: APIResponse = await usersOperations.updateUsers(request);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      //Get object from response
      let responseObject: ActionHandler = response.getObject();

      if (responseObject != null) {

        //Check if expected ActionWrapper instance is received
        if (responseObject instanceof ActionWrapper) {

          //Get the array of obtained ActionResponse instances
          let actionResponses: ActionResponse[] = responseObject.getUsers();

          actionResponses.forEach(actionResponse => {

            //Check if the request is successful
            if (actionResponse instanceof SuccessResponse) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              console.log("Message: " + actionResponse.getMessage().getValue());
            }
            //Check if the request returned an exception
            else if (actionResponse instanceof APIException) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              //Get the Message
              console.log("Message: " + actionResponse.getMessage().getValue());
            }
          });
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {

          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}
 
Get a User

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Get User
   * This method is used to get the details of any specific user.
   * Specify the unique id of the user in your API request to get the data for that particular user.
   * @param userId The ID of the User to be obtained
   */
  public static async getuser(userId: bigint) {

    //example
    //let userId = 3409643302031n;

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Get instance of HeaderMap Class
    let headerInstance: HeaderMap = new HeaderMap();

    /* Possible parameters for Get User operation */
    await headerInstance.add(GetUserHeader.IF_MODIFIED_SINCE, new Date("2019-12-12T12:12:12+05:30"));

    //Call getUser method that takes headerInstance and userId as parameters
    let response: APIResponse = await usersOperations.getUser(userId, headerInstance);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      if ([204, 304].includes(response.getStatusCode())) {
        console.log(response.getStatusCode() == 204 ? "No Content" : "Not Modified");

        return;
      }

      //Get object from response
      let responseObject: ResponseHandler = response.getObject();

      if (responseObject != null) {

        //Check if expected ResponseWrapper instance is received
        if (responseObject instanceof ResponseWrapper) {

          //Get the array of obtained User instances
          let users: User[] = responseObject.getUsers();

          users.forEach(user => {
            //Get the Country of each User
            console.log("User Country: " + user.getCountry());

            // Get the CustomizeInfo instance of each User
            let customizeInfo: CustomizeInfo = user.getCustomizeInfo();

            //Check if customizeInfo is not null
            if (customizeInfo != null) {
              if (customizeInfo.getNotesDesc() != null) {
                //Get the NotesDesc of each User
                console.log("User CustomizeInfo NotesDesc: " + customizeInfo.getNotesDesc().toString());
              }

              if (customizeInfo.getShowRightPanel() != null) {
                //Get the ShowRightPanel of each User
                console.log("User CustomizeInfo ShowRightPanel: " + customizeInfo.getShowRightPanel().toString());
              }

              if (customizeInfo.getBcView() != null) {
                //Get the BcView of each User
                console.log("User CustomizeInfo BcView: " + customizeInfo.getBcView().toString());
              }

              if (customizeInfo.getShowHome() != null) {
                //Get the ShowHome of each User
                console.log("User CustomizeInfo ShowHome: " + customizeInfo.getShowHome().toString());
              }

              if (customizeInfo.getShowDetailView() != null) {
                //Get the ShowDetailView of each User
                console.log("User CustomizeInfo ShowDetailView: " + customizeInfo.getShowDetailView().toString());
              }

              if (customizeInfo.getUnpinRecentItem() != null) {
                //Get the UnpinRecentItem of each User
                console.log("User CustomizeInfo UnpinRecentItem: " + customizeInfo.getUnpinRecentItem().toString());
              }
            }

            // Get the Role instance of each User
            let role: Role = user.getRole();

            //Check if role is not null
            if (role != null) {
              //Get the Name of each Role
              console.log("User Role Name: " + role.getName());

              //Get the ID of each Role
              console.log("User Role ID: " + role.getId());
            }

            //Get the Signature of each User
            console.log("User Signature: " + user.getSignature());

            //Get the City of each User
            console.log("User City: " + user.getCity());

            //Get the NameFormat of each User
            console.log("User NameFormat: " + user.getNameFormat());

            //Get the Language of each User
            console.log("User Language: " + user.getLanguage());

            //Get the Locale of each User
            console.log("User Locale: " + user.getLocale());

            //Get the Microsoft of each User
            console.log("User Microsoft: " + user.getMicrosoft().toString());

            if (user.getPersonalAccount() != null) {
              //Get the PersonalAccount of each User
              console.log("User PersonalAccount: " + user.getPersonalAccount().toString());
            }

            //Get the DefaultTabGroup of each User
            console.log("User DefaultTabGroup: " + user.getDefaultTabGroup());

            //Get the Isonline of each User
            console.log("User Isonline: " + user.getIsonline().toString());

            //Get the modifiedBy User instance of each User
            let modifiedBy: User = user.getModifiedBy();

            //Check if modifiedBy is not null
            if (modifiedBy != null) {
              //Get the Name of the modifiedBy User
              console.log("User Modified By User-Name: " + modifiedBy.getName());

              //Get the ID of the modifiedBy User
              console.log("User Modified By User-ID: " + modifiedBy.getId());
            }

            //Get the Street of each User
            console.log("User Street: " + user.getStreet());

            //Get the Currency of each User
            console.log("User Currency: " + user.getCurrency());

            //Get the Alias of each User
            console.log("User Alias: " + user.getAlias());

            // Get the Theme instance of each User
            let theme: Theme = user.getTheme();

            //Check if theme is not null
            if (theme != null) {
              // Get the TabTheme instance of Theme
              let normalTab: TabTheme = theme.getNormalTab();

              //Check if normalTab is not null
              if (normalTab != null) {
                //Get the FontColor of NormalTab
                console.log("User Theme NormalTab FontColor: " + normalTab.getFontColor());

                //Get the Name of NormalTab
                console.log("User Theme NormalTab Name: " + normalTab.getBackground());
              }

              // Get the TabTheme instance of Theme
              let selectedTab: TabTheme = theme.getSelectedTab();

              //Check if selectedTab is not null
              if (selectedTab != null) {
                //Get the FontColor of SelectedTab
                console.log("User Theme SelectedTab FontColor: " + selectedTab.getFontColor());

                //Get the Name of SelectedTab
                console.log("User Theme SelectedTab Name: " + selectedTab.getBackground());
              }

              //Get the NewBackground of each Theme
              console.log("User Theme NewBackground: " + theme.getNewBackground());

              //Get the Background of each Theme
              console.log("User Theme Background: " + theme.getBackground());

              //Get the Screen of each Theme
              console.log("User Theme Screen: " + theme.getScreen());

              //Get the Type of each Theme
              console.log("User Theme Type: " + theme.getType());
            }

            //Get the ID of each User
            console.log("User ID: " + user.getId());

            //Get the State of each User
            console.log("User State: " + user.getState());

            //Get the Fax of each User
            console.log("User Fax: " + user.getFax());

            //Get the CountryLocale of each User
            console.log("User CountryLocale: " + user.getCountryLocale());

            //Get the FirstName of each User
            console.log("User FirstName: " + user.getFirstName());

            //Get the Email of each User
            console.log("User Email: " + user.getEmail());

            //Get the reportingTo User instance of each User
            let reportingTo: User = user.getReportingTo();

            //Check if reportingTo is not null
            if (reportingTo != null) {
              //Get the Name of the reportingTo User
              console.log("User ReportingTo Name: " + reportingTo.getName());

              //Get the ID of the reportingTo User
              console.log("User ReportingTo ID: " + reportingTo.getId());
            }

            //Get the DecimalSeparator of each User
            console.log("User DecimalSeparator: " + user.getDecimalSeparator());

            //Get the Zip of each User
            console.log("User Zip: " + user.getZip());

            //Get the CreatedTime of each User
            console.log("User CreatedTime: " + user.getCreatedTime());

            //Get the Website of each User
            console.log("User Website: " + user.getWebsite());

            //Get the ModifiedTime of each User
            console.log("User ModifiedTime: " + user.getModifiedTime());

            //Get the TimeFormat of each User
            console.log("User TimeFormat: " + user.getTimeFormat());

            //Get the Offset of each User
            console.log("User Offset: " + user.getOffset().toString());

            //Get the Profile instance of each User
            let profile: Profile = user.getProfile();

            //Check if profile is not null
            if (profile != null) {
              //Get the Name of each Profile
              console.log("User Profile Name: " + profile.getName());

              //Get the ID of each Profile
              console.log("User Profile ID: " + profile.getId());
            }

            //Get the Mobile of each User
            console.log("User Mobile: " + user.getMobile());

            //Get the LastName of each User
            console.log("User LastName: " + user.getLastName());

            //Get the TimeZone of each User
            console.log("User TimeZone: " + user.getTimeZone());

            //Get the Custom Fields, if any
            console.log("Custom Field: " + user.getKeyValue("Custom_Field"));

            //Get the createdBy User instance of each User
            let createdBy: User = user.getCreatedBy();

            //Check if createdBy is not null
            if (createdBy != null) {
              //Get the Name of the createdBy User
              console.log("User Created By User-Name: " + createdBy.getName());

              //Get the ID of the createdBy User
              console.log("User Created By User-ID: " + createdBy.getId());
            }

            //Get the Zuid of each User
            console.log("User Zuid: " + user.getZuid());

            //Get the Confirm of each User
            console.log("User Confirm: " + user.getConfirm().toString());

            //Get the FullName of each User
            console.log("User FullName: " + user.getFullName());

            //Get the list of obtained Territory instances
            let territories: Territory[] = user.getTerritories();

            //Check if territories is not null
            if (territories != null) {
              territories.forEach(territory => {
                //Get the Manager of the Territory
                console.log("User Territory Manager: " + territory.getManager().toString());

                //Get the Name of the Territory
                console.log("User Territory Name: " + territory.getName());

                //Get the ID of the Territory
                console.log("User Territory ID: " + territory.getId());
              });
            }

            //Get the Phone of each User
            console.log("User Phone: " + user.getPhone());

            //Get the DOB of each User
            console.log("User DOB: " + user.getDob());

            //Get the DateFormat of each User
            console.log("User DateFormat: " + user.getDateFormat());

            //Get the Status of each User
            console.log("User Status: " + user.getStatus());
          });
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {
          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}
 
Update a User

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Update a User
   * This method is used to update the details of any specific user.
   * @param userId The ID of the User to be updated
   */
  public static async updateUser(userId: bigint) {

    //example
    //let userId = 3409643302031n;

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Get instance of BodyWrapper Class that will contain the request body
    let request: BodyWrapper = new BodyWrapper();

    //Array to hold User instances
    let userArray: User[] = [];

    //Get instance of User Class
    let user: User = new User();

    //Get instance of Role Class
    let role: Role = new Role();

    //Set ID to role
    role.setId(BigInt("3477061026008"));

    //Set role instance to role in User instance
    user.setRole(role);

    //Set the country locale
    user.setCountryLocale("en_US");

    //Add the User instance to the array
    userArray.push(user);

    //Set the array to users in BodyWrapper instance
    request.setUsers(userArray);

    //Call updateUser method that takes BodyWrapper instance and userId as parameters
    let response: APIResponse = await usersOperations.updateUser(userId, request);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      //Get object from response
      let responseObject = response.getObject();

      if (responseObject != null) {

        //Check if expected ActionWrapper instance is received
        if (responseObject instanceof ActionWrapper) {

          //Get the array of obtained ActionResponse instances
          let actionResponses: ActionResponse[] = responseObject.getUsers();

          actionResponses.forEach(actionResponse => {

            //Check if the request is successful
            if (actionResponse instanceof SuccessResponse) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              console.log("Message: " + actionResponse.getMessage().getValue());
            }
            //Check if the request returned an exception
            else if (actionResponse instanceof APIException) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              //Get the Message
              console.log("Message: " + actionResponse.getMessage().getValue());
            }
          });
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {

          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}
 
Delete a User

              
import {GetUserHeader,GetUsersParam,GetUsersHeader,UsersOperations} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/users_operations"
import {ActionHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_handler"
import {ResponseHandler} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_handler"
import {SuccessResponse} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/success_response"
import {APIException} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/api_exception"
import {ResponseWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/response_wrapper"
import {ActionWrapper} from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_wrapper"
import { ParameterMap } from "@zohocrm/typescript-sdk-2.0/routes/parameter_map";
import { HeaderMap } from "@zohocrm/typescript-sdk-2.0/routes/header_map";
import { APIResponse } from "@zohocrm/typescript-sdk-2.0/routes/controllers/api_response";
import { User } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/user";
import { CustomizeInfo } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/customize_info";
import { Role } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/roles/role";
import { Theme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/theme";
import { TabTheme } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/tab_theme";
import { Profile } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/profiles/profile";
import { Territory } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/territory";
import { Info } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/info";
import { BodyWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/body_wrapper"
import { ActionResponse } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/action_response"
import { RequestWrapper } from "@zohocrm/typescript-sdk-2.0/core/com/zoho/crm/api/users/request_wrapper"

export class Users{
    /**
   * Delete User
   * This method is used to delete a user from your organization and print the response.
   * @param userId The ID of the User to be deleted
   */
  public static async deleteUser(userId: bigint) {

    //example
    //let userId = 3409643302031n;

    //Get instance of UsersOperations Class
    let usersOperations: UsersOperations = new UsersOperations();

    //Call deleteUser method that takes userId as parameter
    let response: APIResponse = await usersOperations.deleteUser(userId);

    if (response != null) {

      //Get the status code from response
      console.log("Status Code: " + response.getStatusCode());

      //Get object from response
      let responseObject: ActionHandler = response.getObject();

      if (responseObject != null) {

        //Check if expected ActionWrapper instance is received
        if (responseObject instanceof ActionWrapper) {

          //Get the array of obtained ActionResponse instances
          let actionResponses: ActionResponse[] = responseObject.getUsers();

          actionResponses.forEach(actionResponse => {

            //Check if the request is successful
            if (actionResponse instanceof SuccessResponse) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              console.log("Message: " + actionResponse.getMessage().getValue());
            }
            //Check if the request returned an exception
            else if (actionResponse instanceof APIException) {

              //Get the Status
              console.log("Status: " + actionResponse.getStatus().getValue());

              //Get the Code
              console.log("Code: " + actionResponse.getCode().getValue());

              console.log("Details");

              //Get the details map
              let details: Map = actionResponse.getDetails();

              if (details != null) {
                Array.from(details.keys()).forEach(key => {
                  console.log(key + ": " + details.get(key));
                });
              }

              //Get the Message
              console.log("Message: " + actionResponse.getMessage().getValue());
            }
          });
        }
        //Check if the request returned an exception
        else if (responseObject instanceof APIException) {

          //Get the Status
          console.log("Status: " + responseObject.getStatus().getValue());

          //Get the Code
          console.log("Code: " + responseObject.getCode().getValue());

          console.log("Details");

          //Get the details map
          let details: Map = responseObject.getDetails();

          if (details != null) {
            Array.from(details.keys()).forEach(key => {
              console.log(key + ": " + details.get(key));
            });
          }

          //Get the Message
          console.log("Message: " + responseObject.getMessage().getValue());
        }
      }
    }
  }
}