=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 OAuthApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete OAuth Client # # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [nil] def delete_oauth_client(client_id, opts = {}) delete_oauth_client_with_http_info(client_id, opts) return nil end # Delete OAuth Client # # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def delete_oauth_client_with_http_info(client_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.delete_oauth_client ..." end # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling OAuthApi.delete_oauth_client" if client_id.nil? # resource path local_var_path = "/api/v2/oauth/clients/{clientId}".sub('{format}','json').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(: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: OAuthApi#delete_oauth_client\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get OAuth Client # # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [OAuthClient] def get_oauth_client(client_id, opts = {}) data, _status_code, _headers = get_oauth_client_with_http_info(client_id, opts) return data end # Get OAuth Client # # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [Array<(OAuthClient, Fixnum, Hash)>] OAuthClient data, response status code and response headers def get_oauth_client_with_http_info(client_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.get_oauth_client ..." end # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling OAuthApi.get_oauth_client" if client_id.nil? # resource path local_var_path = "/api/v2/oauth/clients/{clientId}".sub('{format}','json').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 => 'OAuthClient') if @api_client.config.debugging @api_client.config.logger.debug "API called: OAuthApi#get_oauth_client\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # The list of OAuth clients # # @param [Hash] opts the optional parameters # @return [OAuthClientEntityListing] def get_oauth_clients(opts = {}) data, _status_code, _headers = get_oauth_clients_with_http_info(opts) return data end # The list of OAuth clients # # @param [Hash] opts the optional parameters # @return [Array<(OAuthClientEntityListing, Fixnum, Hash)>] OAuthClientEntityListing data, response status code and response headers def get_oauth_clients_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.get_oauth_clients ..." end # resource path local_var_path = "/api/v2/oauth/clients".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 => 'OAuthClientEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: OAuthApi#get_oauth_clients\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Regenerate Client Secret # This operation will set the client secret to a randomly generated cryptographically random value. All clients must be updated with the new secret. This operation should be used with caution. # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [OAuthClient] def post_oauth_client_secret(client_id, opts = {}) data, _status_code, _headers = post_oauth_client_secret_with_http_info(client_id, opts) return data end # Regenerate Client Secret # This operation will set the client secret to a randomly generated cryptographically random value. All clients must be updated with the new secret. This operation should be used with caution. # @param client_id Client ID # @param [Hash] opts the optional parameters # @return [Array<(OAuthClient, Fixnum, Hash)>] OAuthClient data, response status code and response headers def post_oauth_client_secret_with_http_info(client_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.post_oauth_client_secret ..." end # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling OAuthApi.post_oauth_client_secret" if client_id.nil? # resource path local_var_path = "/api/v2/oauth/clients/{clientId}/secret".sub('{format}','json').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(: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 => 'OAuthClient') if @api_client.config.debugging @api_client.config.logger.debug "API called: OAuthApi#post_oauth_client_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create OAuth client # The OAuth Grant/Client is required in order to create an authentication token and gain access to PureCloud. The preferred authorizedGrantTypes is 'CODE' which requires applications to send a client ID and client secret. This is typically a web server. If the client is unable to secure the client secret then the 'TOKEN' grant type aka IMPLICIT should be used. This is would be for browser or mobile apps. If a client is to be used outside of the context of a user then the 'CLIENT-CREDENTIALS' grant may be used. In this case the client must be granted roles via the 'roleIds' field. # @param body Client # @param [Hash] opts the optional parameters # @return [OAuthClient] def post_oauth_clients(body, opts = {}) data, _status_code, _headers = post_oauth_clients_with_http_info(body, opts) return data end # Create OAuth client # The OAuth Grant/Client is required in order to create an authentication token and gain access to PureCloud. The preferred authorizedGrantTypes is 'CODE' which requires applications to send a client ID and client secret. This is typically a web server. If the client is unable to secure the client secret then the 'TOKEN' grant type aka IMPLICIT should be used. This is would be for browser or mobile apps. If a client is to be used outside of the context of a user then the 'CLIENT-CREDENTIALS' grant may be used. In this case the client must be granted roles via the 'roleIds' field. # @param body Client # @param [Hash] opts the optional parameters # @return [Array<(OAuthClient, Fixnum, Hash)>] OAuthClient data, response status code and response headers def post_oauth_clients_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.post_oauth_clients ..." end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling OAuthApi.post_oauth_clients" if body.nil? # resource path local_var_path = "/api/v2/oauth/clients".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(: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 => 'OAuthClient') if @api_client.config.debugging @api_client.config.logger.debug "API called: OAuthApi#post_oauth_clients\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update OAuth Client # # @param client_id Client ID # @param body Client # @param [Hash] opts the optional parameters # @return [OAuthClient] def put_oauth_client(client_id, body, opts = {}) data, _status_code, _headers = put_oauth_client_with_http_info(client_id, body, opts) return data end # Update OAuth Client # # @param client_id Client ID # @param body Client # @param [Hash] opts the optional parameters # @return [Array<(OAuthClient, Fixnum, Hash)>] OAuthClient data, response status code and response headers def put_oauth_client_with_http_info(client_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: OAuthApi.put_oauth_client ..." end # verify the required parameter 'client_id' is set fail ArgumentError, "Missing the required parameter 'client_id' when calling OAuthApi.put_oauth_client" if client_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling OAuthApi.put_oauth_client" if body.nil? # resource path local_var_path = "/api/v2/oauth/clients/{clientId}".sub('{format}','json').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(: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 => 'OAuthClient') if @api_client.config.debugging @api_client.config.logger.debug "API called: OAuthApi#put_oauth_client\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end