=begin PureCloud Platform API With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more. OpenAPI spec version: v2 Contact: DeveloperEvangelists@genesys.com Generated by: https://github.com/swagger-api/swagger-codegen.git License: UNLICENSED https://help.mypurecloud.com/articles/terms-and-conditions/ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/ =end require "uri" module PureCloud class ObjectsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete a division. # # @param division_id Division ID # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :force Force delete this division as well as the grants and objects associated with it (default to false) # @return [nil] def delete_authorization_division(division_id, opts = {}) delete_authorization_division_with_http_info(division_id, opts) return nil end # Delete a division. # # @param division_id Division ID # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :force Force delete this division as well as the grants and objects associated with it # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def delete_authorization_division_with_http_info(division_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.delete_authorization_division ..." end # verify the required parameter 'division_id' is set fail ArgumentError, "Missing the required parameter 'division_id' when calling ObjectsApi.delete_authorization_division" if division_id.nil? # resource path local_var_path = "/api/v2/authorization/divisions/{divisionId}".sub('{format}','json').sub('{' + 'divisionId' + '}', division_id.to_s) # query parameters query_params = {} query_params[:'force'] = opts[:'force'] if opts[:'force'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names) if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#delete_authorization_division\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Returns an authorization division. # # @param division_id Division ID # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :object_count Get count of objects in this division, grouped by type (default to false) # @return [AuthzDivision] def get_authorization_division(division_id, opts = {}) data, _status_code, _headers = get_authorization_division_with_http_info(division_id, opts) return data end # Returns an authorization division. # # @param division_id Division ID # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :object_count Get count of objects in this division, grouped by type # @return [Array<(AuthzDivision, Fixnum, Hash)>] AuthzDivision data, response status code and response headers def get_authorization_division_with_http_info(division_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.get_authorization_division ..." end # verify the required parameter 'division_id' is set fail ArgumentError, "Missing the required parameter 'division_id' when calling ObjectsApi.get_authorization_division" if division_id.nil? # resource path local_var_path = "/api/v2/authorization/divisions/{divisionId}".sub('{format}','json').sub('{' + 'divisionId' + '}', division_id.to_s) # query parameters query_params = {} query_params[:'objectCount'] = opts[:'object_count'] if opts[:'object_count'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'AuthzDivision') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#get_authorization_division\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Retrieve a list of all divisions defined for the organization # Request specific divisions by id using a query param \"id\", e.g. ?id=5f777167-63be-4c24-ad41-374155d9e28b&id=72e9fb25-c484-488d-9312-7acba82435b3 # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size The total page size requested (default to 25) # @option opts [Integer] :page_number The page number requested (default to 1) # @option opts [String] :sort_by variable name requested to sort by # @option opts [Array] :expand variable name requested by expand list # @option opts [String] :next_page next page token # @option opts [String] :previous_page Previous page token # @option opts [BOOLEAN] :object_count Include the count of objects contained in the division (default to false) # @option opts [Array] :id Optionally request specific divisions by their IDs # @option opts [String] :name Search term to filter by division name # @return [AuthzDivisionEntityListing] def get_authorization_divisions(opts = {}) data, _status_code, _headers = get_authorization_divisions_with_http_info(opts) return data end # Retrieve a list of all divisions defined for the organization # Request specific divisions by id using a query param \"id\", e.g. ?id=5f777167-63be-4c24-ad41-374155d9e28b&id=72e9fb25-c484-488d-9312-7acba82435b3 # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size The total page size requested # @option opts [Integer] :page_number The page number requested # @option opts [String] :sort_by variable name requested to sort by # @option opts [Array] :expand variable name requested by expand list # @option opts [String] :next_page next page token # @option opts [String] :previous_page Previous page token # @option opts [BOOLEAN] :object_count Include the count of objects contained in the division # @option opts [Array] :id Optionally request specific divisions by their IDs # @option opts [String] :name Search term to filter by division name # @return [Array<(AuthzDivisionEntityListing, Fixnum, Hash)>] AuthzDivisionEntityListing data, response status code and response headers def get_authorization_divisions_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.get_authorization_divisions ..." end # resource path local_var_path = "/api/v2/authorization/divisions".sub('{format}','json') # query parameters query_params = {} query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by'] query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if opts[:'expand'] query_params[:'nextPage'] = opts[:'next_page'] if opts[:'next_page'] query_params[:'previousPage'] = opts[:'previous_page'] if opts[:'previous_page'] query_params[:'objectCount'] = opts[:'object_count'] if opts[:'object_count'] query_params[:'id'] = @api_client.build_collection_param(opts[:'id'], :multi) if opts[:'id'] query_params[:'name'] = opts[:'name'] if opts[:'name'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'AuthzDivisionEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#get_authorization_divisions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Retrieve the home division for the organization. # Will not include object counts. # @param [Hash] opts the optional parameters # @return [AuthzDivision] def get_authorization_divisions_home(opts = {}) data, _status_code, _headers = get_authorization_divisions_home_with_http_info(opts) return data end # Retrieve the home division for the organization. # Will not include object counts. # @param [Hash] opts the optional parameters # @return [Array<(AuthzDivision, Fixnum, Hash)>] AuthzDivision data, response status code and response headers def get_authorization_divisions_home_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.get_authorization_divisions_home ..." end # resource path local_var_path = "/api/v2/authorization/divisions/home".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'AuthzDivision') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#get_authorization_divisions_home\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Returns the maximum allowed number of divisions. # # @param [Hash] opts the optional parameters # @return [Integer] def get_authorization_divisions_limit(opts = {}) data, _status_code, _headers = get_authorization_divisions_limit_with_http_info(opts) return data end # Returns the maximum allowed number of divisions. # # @param [Hash] opts the optional parameters # @return [Array<(Integer, Fixnum, Hash)>] Integer data, response status code and response headers def get_authorization_divisions_limit_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.get_authorization_divisions_limit ..." end # resource path local_var_path = "/api/v2/authorization/divisions/limit".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Integer') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#get_authorization_divisions_limit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Assign a list of objects to a division # Set the division of a specified list of objects. The objects must all be of the same type, one of: CAMPAIGN, MANAGEMENTUNIT, FLOW, QUEUE, or USER. The body of the request is a list of object IDs, which are expected to be GUIDs, e.g. [\"206ce31f-61ec-40ed-a8b1-be6f06303998\",\"250a754e-f5e4-4f51-800f-a92f09d3bf8c\"] # @param division_id Division ID # @param object_type The type of the objects. Must be one of the valid object types # @param body Object Id List # @param [Hash] opts the optional parameters # @return [nil] def post_authorization_division_object(division_id, object_type, body, opts = {}) post_authorization_division_object_with_http_info(division_id, object_type, body, opts) return nil end # Assign a list of objects to a division # Set the division of a specified list of objects. The objects must all be of the same type, one of: CAMPAIGN, MANAGEMENTUNIT, FLOW, QUEUE, or USER. The body of the request is a list of object IDs, which are expected to be GUIDs, e.g. [\"206ce31f-61ec-40ed-a8b1-be6f06303998\",\"250a754e-f5e4-4f51-800f-a92f09d3bf8c\"] # @param division_id Division ID # @param object_type The type of the objects. Must be one of the valid object types # @param body Object Id List # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def post_authorization_division_object_with_http_info(division_id, object_type, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.post_authorization_division_object ..." end # verify the required parameter 'division_id' is set fail ArgumentError, "Missing the required parameter 'division_id' when calling ObjectsApi.post_authorization_division_object" if division_id.nil? # verify the required parameter 'object_type' is set fail ArgumentError, "Missing the required parameter 'object_type' when calling ObjectsApi.post_authorization_division_object" if object_type.nil? # verify enum value unless ['QUEUE', 'CAMPAIGN', 'CONTACTLIST', 'DNCLIST', 'MESSAGINGCAMPAIGN', 'MANAGEMENTUNIT', 'BUSINESSUNIT', 'FLOW', 'USER'].include?(object_type) fail ArgumentError, "invalid value for 'object_type', must be one of QUEUE, CAMPAIGN, CONTACTLIST, DNCLIST, MESSAGINGCAMPAIGN, MANAGEMENTUNIT, BUSINESSUNIT, FLOW, USER" end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling ObjectsApi.post_authorization_division_object" if body.nil? # resource path local_var_path = "/api/v2/authorization/divisions/{divisionId}/objects/{objectType}".sub('{format}','json').sub('{' + 'divisionId' + '}', division_id.to_s).sub('{' + 'objectType' + '}', object_type.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names) if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#post_authorization_division_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create a division. # # @param body Division # @param [Hash] opts the optional parameters # @return [AuthzDivision] def post_authorization_divisions(body, opts = {}) data, _status_code, _headers = post_authorization_divisions_with_http_info(body, opts) return data end # Create a division. # # @param body Division # @param [Hash] opts the optional parameters # @return [Array<(AuthzDivision, Fixnum, Hash)>] AuthzDivision data, response status code and response headers def post_authorization_divisions_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.post_authorization_divisions ..." end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling ObjectsApi.post_authorization_divisions" if body.nil? # resource path local_var_path = "/api/v2/authorization/divisions".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'AuthzDivision') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#post_authorization_divisions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update a division. # # @param division_id Division ID # @param body Updated division data # @param [Hash] opts the optional parameters # @return [AuthzDivision] def put_authorization_division(division_id, body, opts = {}) data, _status_code, _headers = put_authorization_division_with_http_info(division_id, body, opts) return data end # Update a division. # # @param division_id Division ID # @param body Updated division data # @param [Hash] opts the optional parameters # @return [Array<(AuthzDivision, Fixnum, Hash)>] AuthzDivision data, response status code and response headers def put_authorization_division_with_http_info(division_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: ObjectsApi.put_authorization_division ..." end # verify the required parameter 'division_id' is set fail ArgumentError, "Missing the required parameter 'division_id' when calling ObjectsApi.put_authorization_division" if division_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling ObjectsApi.put_authorization_division" if body.nil? # resource path local_var_path = "/api/v2/authorization/divisions/{divisionId}".sub('{format}','json').sub('{' + 'divisionId' + '}', division_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud OAuth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'AuthzDivision') if @api_client.config.debugging @api_client.config.logger.debug "API called: ObjectsApi#put_authorization_division\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end