=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@inin.com Generated by: https://github.com/swagger-api/swagger-codegen.git License: ININ http://www.inin.com Terms of Service: https://developer.mypurecloud.com/tos =end require "uri" module PureCloud class GroupsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [String] def delete_group_id(group_id, opts = {}) data, status_code, headers = delete_group_id_with_http_info(group_id, opts) return data end # Delete group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers def delete_group_id_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#delete_group_id ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling delete_group_id" if group_id.nil? # resource path local_var_path = "/api/v2/groups/{groupId}".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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, :return_type => 'String') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#delete_group_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Remove members # # @param group_id Group ID # @param ids Comma separated list of userIds to remove # @param [Hash] opts the optional parameters # @return [nil] def delete_group_id_members(group_id, ids, opts = {}) delete_group_id_members_with_http_info(group_id, ids, opts) return nil end # Remove members # # @param group_id Group ID # @param ids Comma separated list of userIds to remove # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def delete_group_id_members_with_http_info(group_id, ids, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#delete_group_id_members ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling delete_group_id_members" if group_id.nil? # verify the required parameter 'ids' is set fail "Missing the required parameter 'ids' when calling delete_group_id_members" if ids.nil? # resource path local_var_path = "/api/v2/groups/{groupId}/members".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} query_params[:'ids'] = ids # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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: GroupsApi#delete_group_id_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [Group] def get_group_id(group_id, opts = {}) data, status_code, headers = get_group_id_with_http_info(group_id, opts) return data end # Get group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [Array<(Group, Fixnum, Hash)>] Group data, response status code and response headers def get_group_id_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_group_id ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling get_group_id" if group_id.nil? # resource path local_var_path = "/api/v2/groups/{groupId}".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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 => 'Group') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_group_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get group members # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size (default to 25) # @option opts [Integer] :page_number Page number (default to 1) # @option opts [String] :sort_order Ascending or descending sort order (default to ASC) # @return [UserEntityListing] def get_group_id_members(group_id, opts = {}) data, status_code, headers = get_group_id_members_with_http_info(group_id, opts) return data end # Get group members # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [Array<(UserEntityListing, Fixnum, Hash)>] UserEntityListing data, response status code and response headers def get_group_id_members_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_group_id_members ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling get_group_id_members" if group_id.nil? if opts[:'sort_order'] && !['ascending', 'descending'].include?(opts[:'sort_order']) fail 'invalid value for "sort_order", must be one of ascending, descending' end # resource path local_var_path = "/api/v2/groups/{groupId}/members".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # 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[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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 => 'UserEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_group_id_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get a group list # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size (default to 25) # @option opts [Integer] :page_number Page number (default to 1) # @option opts [String] :sort_order Ascending or descending sort order (default to ASC) # @return [GroupEntityListing] def get_groups(opts = {}) data, status_code, headers = get_groups_with_http_info(opts) return data end # Get a group list # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [Array<(GroupEntityListing, Fixnum, Hash)>] GroupEntityListing data, response status code and response headers def get_groups_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_groups ..." end if opts[:'sort_order'] && !['ascending', 'descending'].include?(opts[:'sort_order']) fail 'invalid value for "sort_order", must be one of ascending, descending' end # resource path local_var_path = "/api/v2/groups".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[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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 => 'GroupEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Search groups using the q64 value returned from a previous search # # @param q64 q64 # @param [Hash] opts the optional parameters # @option opts [Array] :expand expand # @return [GroupsSearchResponse] def get_search(q64, opts = {}) data, status_code, headers = get_search_with_http_info(q64, opts) return data end # Search groups using the q64 value returned from a previous search # # @param q64 q64 # @param [Hash] opts the optional parameters # @option opts [Array] :expand expand # @return [Array<(GroupsSearchResponse, Fixnum, Hash)>] GroupsSearchResponse data, response status code and response headers def get_search_with_http_info(q64, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_search ..." end # verify the required parameter 'q64' is set fail "Missing the required parameter 'q64' when calling get_search" if q64.nil? # resource path local_var_path = "/api/v2/groups/search".sub('{format}','json') # query parameters query_params = {} query_params[:'q64'] = q64 query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if opts[:'expand'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] 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 => 'GroupsSearchResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Add members # # @param group_id Group ID # @param body Add members # @param [Hash] opts the optional parameters # @return [nil] def post_group_id_members(group_id, body, opts = {}) post_group_id_members_with_http_info(group_id, body, opts) return nil end # Add members # # @param group_id Group ID # @param body Add members # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def post_group_id_members_with_http_info(group_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#post_group_id_members ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling post_group_id_members" if group_id.nil? # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling post_group_id_members" if body.nil? # resource path local_var_path = "/api/v2/groups/{groupId}/members".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] 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: GroupsApi#post_group_id_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create a group # # @param body Group # @param [Hash] opts the optional parameters # @return [Group] def post_groups(body, opts = {}) data, status_code, headers = post_groups_with_http_info(body, opts) return data end # Create a group # # @param body Group # @param [Hash] opts the optional parameters # @return [Array<(Group, Fixnum, Hash)>] Group data, response status code and response headers def post_groups_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#post_groups ..." end # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling post_groups" if body.nil? # resource path local_var_path = "/api/v2/groups".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] 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 => 'Group') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#post_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Search groups # # @param body Search request options # @param [Hash] opts the optional parameters # @return [GroupsSearchResponse] def post_search(body, opts = {}) data, status_code, headers = post_search_with_http_info(body, opts) return data end # Search groups # # @param body Search request options # @param [Hash] opts the optional parameters # @return [Array<(GroupsSearchResponse, Fixnum, Hash)>] GroupsSearchResponse data, response status code and response headers def post_search_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#post_search ..." end # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling post_search" if body.nil? # resource path local_var_path = "/api/v2/groups/search".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] 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 => 'GroupsSearchResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#post_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [GroupUpdate] :body Group # @return [Group] def put_group_id(group_id, opts = {}) data, status_code, headers = put_group_id_with_http_info(group_id, opts) return data end # Update group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [GroupUpdate] :body Group # @return [Array<(Group, Fixnum, Hash)>] Group data, response status code and response headers def put_group_id_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#put_group_id ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling put_group_id" if group_id.nil? # resource path local_var_path = "/api/v2/groups/{groupId}".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(opts[:'body']) auth_names = ['PureCloud Auth'] 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 => 'Group') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#put_group_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end