=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: 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_geolocations_settings(opts = {}) data, _status_code, _headers = get_geolocations_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_geolocations_settings_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi.get_geolocations_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) 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 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_geolocations_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_geolocation(user_id, client_id, opts = {}) data, _status_code, _headers = get_user_geolocation_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_geolocation_with_http_info(user_id, client_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi.get_user_geolocation ..." end # verify the required parameter 'user_id' is set fail ArgumentError, "Missing the required parameter 'user_id' when calling GeolocationApi.get_user_geolocation" if user_id.nil? # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling GeolocationApi.get_user_geolocation" 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) 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 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_geolocation\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_geolocations_settings(body, opts = {}) data, _status_code, _headers = patch_geolocations_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_geolocations_settings_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi.patch_geolocations_settings ..." end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling GeolocationApi.patch_geolocations_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) 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 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_geolocations_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_geolocation(user_id, client_id, body, opts = {}) data, _status_code, _headers = patch_user_geolocation_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_geolocation_with_http_info(user_id, client_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GeolocationApi.patch_user_geolocation ..." end # verify the required parameter 'user_id' is set fail ArgumentError, "Missing the required parameter 'user_id' when calling GeolocationApi.patch_user_geolocation" if user_id.nil? # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling GeolocationApi.patch_user_geolocation" if client_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling GeolocationApi.patch_user_geolocation" 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) 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 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_geolocation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end