=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 PresenceApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete a Presence Definition # # @param presence_id Organization Presence ID # @param [Hash] opts the optional parameters # @return [OrganizationPresence] def delete_presence_id(presence_id, opts = {}) data, status_code, headers = delete_presence_id_with_http_info(presence_id, opts) return data end # Delete a Presence Definition # # @param presence_id Organization Presence ID # @param [Hash] opts the optional parameters # @return [Array<(OrganizationPresence, Fixnum, Hash)>] OrganizationPresence data, response status code and response headers def delete_presence_id_with_http_info(presence_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#delete_presence_id ..." end # verify the required parameter 'presence_id' is set fail "Missing the required parameter 'presence_id' when calling delete_presence_id" if presence_id.nil? # resource path local_var_path = "/api/v2/presencedefinitions/{presenceId}".sub('{format}','json').sub('{' + 'presenceId' + '}', presence_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 => 'OrganizationPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#delete_presence_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get a Presence Definition # # @param presence_id Organization Presence ID # @param [Hash] opts the optional parameters # @return [OrganizationPresence] def get_presence_id(presence_id, opts = {}) data, status_code, headers = get_presence_id_with_http_info(presence_id, opts) return data end # Get a Presence Definition # # @param presence_id Organization Presence ID # @param [Hash] opts the optional parameters # @return [Array<(OrganizationPresence, Fixnum, Hash)>] OrganizationPresence data, response status code and response headers def get_presence_id_with_http_info(presence_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#get_presence_id ..." end # verify the required parameter 'presence_id' is set fail "Missing the required parameter 'presence_id' when calling get_presence_id" if presence_id.nil? # resource path local_var_path = "/api/v2/presencedefinitions/{presenceId}".sub('{format}','json').sub('{' + 'presenceId' + '}', presence_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 => 'OrganizationPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#get_presence_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get an Organization's list of Presence Definitions # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_number Page number (default to 1) # @option opts [Integer] :page_size Page size (default to 25) # @option opts [String] :deleted Deleted query can be true, false or all (default to false) # @return [OrganizationPresenceEntityListing] def get_presencedefinitions(opts = {}) data, status_code, headers = get_presencedefinitions_with_http_info(opts) return data end # Get an Organization's list of Presence Definitions # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_number Page number # @option opts [Integer] :page_size Page size # @option opts [String] :deleted Deleted query can be true, false or all # @return [Array<(OrganizationPresenceEntityListing, Fixnum, Hash)>] OrganizationPresenceEntityListing data, response status code and response headers def get_presencedefinitions_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#get_presencedefinitions ..." end # resource path local_var_path = "/api/v2/presencedefinitions".sub('{format}','json') # query parameters query_params = {} query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'deleted'] = opts[:'deleted'] if opts[:'deleted'] # 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 => 'OrganizationPresenceEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#get_presencedefinitions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get the list of SystemPresences # # @param [Hash] opts the optional parameters # @return [SystemPresence] def get_systempresences(opts = {}) data, status_code, headers = get_systempresences_with_http_info(opts) return data end # Get the list of SystemPresences # # @param [Hash] opts the optional parameters # @return [Array<(SystemPresence, Fixnum, Hash)>] SystemPresence data, response status code and response headers def get_systempresences_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#get_systempresences ..." end # resource path local_var_path = "/api/v2/systempresences".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 = 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 => 'SystemPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#get_systempresences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get a user's Presence # # @param user_id user Id # @param source_id Source # @param [Hash] opts the optional parameters # @return [UserPresence] def get_user_id_presences_source_id(user_id, source_id, opts = {}) data, status_code, headers = get_user_id_presences_source_id_with_http_info(user_id, source_id, opts) return data end # Get a user's Presence # # @param user_id user Id # @param source_id Source # @param [Hash] opts the optional parameters # @return [Array<(UserPresence, Fixnum, Hash)>] UserPresence data, response status code and response headers def get_user_id_presences_source_id_with_http_info(user_id, source_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#get_user_id_presences_source_id ..." end # verify the required parameter 'user_id' is set fail "Missing the required parameter 'user_id' when calling get_user_id_presences_source_id" if user_id.nil? # verify the required parameter 'source_id' is set fail "Missing the required parameter 'source_id' when calling get_user_id_presences_source_id" if source_id.nil? # resource path local_var_path = "/api/v2/users/{userId}/presences/{sourceId}".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s).sub('{' + 'sourceId' + '}', source_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 => 'UserPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#get_user_id_presences_source_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Patch a user's Presence # The presence object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the 'source' defined in the path as the user's primary presence source. Option 2: Provide the presenceDefinition value. The 'id' is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be combined with Option 2 and/or Option 3. # @param user_id user Id # @param source_id Source # @param body User presence # @param [Hash] opts the optional parameters # @return [UserPresence] def patch_user_id_presences_source_id(user_id, source_id, body, opts = {}) data, status_code, headers = patch_user_id_presences_source_id_with_http_info(user_id, source_id, body, opts) return data end # Patch a user's Presence # The presence object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the 'source' defined in the path as the user's primary presence source. Option 2: Provide the presenceDefinition value. The 'id' is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be combined with Option 2 and/or Option 3. # @param user_id user Id # @param source_id Source # @param body User presence # @param [Hash] opts the optional parameters # @return [Array<(UserPresence, Fixnum, Hash)>] UserPresence data, response status code and response headers def patch_user_id_presences_source_id_with_http_info(user_id, source_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#patch_user_id_presences_source_id ..." end # verify the required parameter 'user_id' is set fail "Missing the required parameter 'user_id' when calling patch_user_id_presences_source_id" if user_id.nil? # verify the required parameter 'source_id' is set fail "Missing the required parameter 'source_id' when calling patch_user_id_presences_source_id" if source_id.nil? # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling patch_user_id_presences_source_id" if body.nil? # resource path local_var_path = "/api/v2/users/{userId}/presences/{sourceId}".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s).sub('{' + 'sourceId' + '}', source_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(:PATCH, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'UserPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#patch_user_id_presences_source_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create a Presence Definition # # @param body The Presence Definition to create # @param [Hash] opts the optional parameters # @return [OrganizationPresence] def post_presencedefinitions(body, opts = {}) data, status_code, headers = post_presencedefinitions_with_http_info(body, opts) return data end # Create a Presence Definition # # @param body The Presence Definition to create # @param [Hash] opts the optional parameters # @return [Array<(OrganizationPresence, Fixnum, Hash)>] OrganizationPresence data, response status code and response headers def post_presencedefinitions_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#post_presencedefinitions ..." end # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling post_presencedefinitions" if body.nil? # resource path local_var_path = "/api/v2/presencedefinitions".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 => 'OrganizationPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#post_presencedefinitions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update a Presence Definition # # @param presence_id Organization Presence ID # @param body The OrganizationPresence to update # @param [Hash] opts the optional parameters # @return [OrganizationPresence] def put_presence_id(presence_id, body, opts = {}) data, status_code, headers = put_presence_id_with_http_info(presence_id, body, opts) return data end # Update a Presence Definition # # @param presence_id Organization Presence ID # @param body The OrganizationPresence to update # @param [Hash] opts the optional parameters # @return [Array<(OrganizationPresence, Fixnum, Hash)>] OrganizationPresence data, response status code and response headers def put_presence_id_with_http_info(presence_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: PresenceApi#put_presence_id ..." end # verify the required parameter 'presence_id' is set fail "Missing the required parameter 'presence_id' when calling put_presence_id" if presence_id.nil? # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling put_presence_id" if body.nil? # resource path local_var_path = "/api/v2/presencedefinitions/{presenceId}".sub('{format}','json').sub('{' + 'presenceId' + '}', presence_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(: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 => 'OrganizationPresence') if @api_client.config.debugging @api_client.config.logger.debug "API called: PresenceApi#put_presence_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end