=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 GeolocationApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Get a organization's GeolocationSettings # # @param [Hash] opts the optional parameters # @return [GeolocationSettings] def get_settings(opts = {}) data, status_code, headers = get_settings_with_http_info(opts) return data end # Get a organization's GeolocationSettings # # @param [Hash] opts the optional parameters # @return [Array<(GeolocationSettings, Fixnum, Hash)>] GeolocationSettings data, response status code and response headers def get_settings_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi#get_settings ..." end # resource path local_var_path = "/api/v2/geolocations/settings".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 => 'GeolocationSettings') if @api_client.config.debugging @api_client.config.logger.debug "API called: GeolocationApi#get_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get a user's Geolocation # # @param user_id user Id # @param client_id client Id # @param [Hash] opts the optional parameters # @return [Geolocation] def get_user_id_geolocations_client_id(user_id, client_id, opts = {}) data, status_code, headers = get_user_id_geolocations_client_id_with_http_info(user_id, client_id, opts) return data end # Get a user's Geolocation # # @param user_id user Id # @param client_id client Id # @param [Hash] opts the optional parameters # @return [Array<(Geolocation, Fixnum, Hash)>] Geolocation data, response status code and response headers def get_user_id_geolocations_client_id_with_http_info(user_id, client_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi#get_user_id_geolocations_client_id ..." end # verify the required parameter 'user_id' is set fail "Missing the required parameter 'user_id' when calling get_user_id_geolocations_client_id" if user_id.nil? # verify the required parameter 'client_id' is set fail "Missing the required parameter 'client_id' when calling get_user_id_geolocations_client_id" if client_id.nil? # resource path local_var_path = "/api/v2/users/{userId}/geolocations/{clientId}".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s).sub('{' + 'clientId' + '}', client_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 => 'Geolocation') if @api_client.config.debugging @api_client.config.logger.debug "API called: GeolocationApi#get_user_id_geolocations_client_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Patch a organization's GeolocationSettings # # @param body Geolocation settings # @param [Hash] opts the optional parameters # @return [GeolocationSettings] def patch_settings(body, opts = {}) data, status_code, headers = patch_settings_with_http_info(body, opts) return data end # Patch a organization's GeolocationSettings # # @param body Geolocation settings # @param [Hash] opts the optional parameters # @return [Array<(GeolocationSettings, Fixnum, Hash)>] GeolocationSettings data, response status code and response headers def patch_settings_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi#patch_settings ..." end # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling patch_settings" if body.nil? # resource path local_var_path = "/api/v2/geolocations/settings".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(: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 => 'GeolocationSettings') if @api_client.config.debugging @api_client.config.logger.debug "API called: GeolocationApi#patch_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Patch a user's Geolocation # The geolocation object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the client as the user's primary geolocation source. Option 2: Provide the 'latitude' and 'longitude' values. This will enqueue an asynchronous update of the 'city', 'region', and 'country', generating a notification. A subsequent GET operation will include the new values for 'city', 'region' and 'country'. Option 3: Provide the 'city', 'region', 'country' values. Option 1 can be combined with Option 2 or Option 3. For example, update the client as primary and provide latitude and longitude values. # @param user_id user Id # @param client_id client Id # @param body Geolocation # @param [Hash] opts the optional parameters # @return [Geolocation] def patch_user_id_geolocations_client_id(user_id, client_id, body, opts = {}) data, status_code, headers = patch_user_id_geolocations_client_id_with_http_info(user_id, client_id, body, opts) return data end # Patch a user's Geolocation # The geolocation object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the client as the user's primary geolocation source. Option 2: Provide the 'latitude' and 'longitude' values. This will enqueue an asynchronous update of the 'city', 'region', and 'country', generating a notification. A subsequent GET operation will include the new values for 'city', 'region' and 'country'. Option 3: Provide the 'city', 'region', 'country' values. Option 1 can be combined with Option 2 or Option 3. For example, update the client as primary and provide latitude and longitude values. # @param user_id user Id # @param client_id client Id # @param body Geolocation # @param [Hash] opts the optional parameters # @return [Array<(Geolocation, Fixnum, Hash)>] Geolocation data, response status code and response headers def patch_user_id_geolocations_client_id_with_http_info(user_id, client_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi#patch_user_id_geolocations_client_id ..." end # verify the required parameter 'user_id' is set fail "Missing the required parameter 'user_id' when calling patch_user_id_geolocations_client_id" if user_id.nil? # verify the required parameter 'client_id' is set fail "Missing the required parameter 'client_id' when calling patch_user_id_geolocations_client_id" if client_id.nil? # verify the required parameter 'body' is set fail "Missing the required parameter 'body' when calling patch_user_id_geolocations_client_id" if body.nil? # resource path local_var_path = "/api/v2/users/{userId}/geolocations/{clientId}".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s).sub('{' + 'clientId' + '}', client_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 => 'Geolocation') if @api_client.config.debugging @api_client.config.logger.debug "API called: GeolocationApi#patch_user_id_geolocations_client_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end