=begin #Accounting Extension #These APIs allow you to interact with HubSpot's Accounting Extension. It allows you to: * Specify the URLs that HubSpot will use when making webhook requests to your external accounting system. * Respond to webhook calls made to your external accounting system by HubSpot The version of the OpenAPI document: v3 Generated by: https://openapi-generator.tech OpenAPI Generator version: 6.2.1 =end require 'cgi' module Hubspot module Crm module Extensions module Accounting class UserAccountsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete user account # Deletes a user account from HubSpot, meaning that HubSpot will no longer send requests to the external accounting system for this user. # @param account_id [String] The ID of the user account to delete. # @param [Hash] opts the optional parameters # @return [nil] def archive(account_id, opts = {}) archive_with_http_info(account_id, opts) nil end # Delete user account # Deletes a user account from HubSpot, meaning that HubSpot will no longer send requests to the external accounting system for this user. # @param account_id [String] The ID of the user account to delete. # @param [Hash] opts the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def archive_with_http_info(account_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: UserAccountsApi.archive ...' end # verify the required parameter 'account_id' is set if @api_client.config.client_side_validation && account_id.nil? fail ArgumentError, "Missing the required parameter 'account_id' when calling UserAccountsApi.archive" end # resource path local_var_path = '/crm/v3/extensions/accounting/user-accounts/{accountId}'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['*/*']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || ['hapikey', 'oauth2'] new_options = opts.merge( :operation => :"UserAccountsApi.archive", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: UserAccountsApi#archive\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create a user account # Creates an account which contains the information about the account in the external accounting system. This *must* be called after a user connects their HubSpot account to the external accounting system, as there is no other way for HubSpot to obtain the external account details. # @param create_user_account_request_external [CreateUserAccountRequestExternal] The external accounting system user account information. # @param [Hash] opts the optional parameters # @return [nil] def replace(create_user_account_request_external, opts = {}) replace_with_http_info(create_user_account_request_external, opts) nil end # Create a user account # Creates an account which contains the information about the account in the external accounting system. This *must* be called after a user connects their HubSpot account to the external accounting system, as there is no other way for HubSpot to obtain the external account details. # @param create_user_account_request_external [CreateUserAccountRequestExternal] The external accounting system user account information. # @param [Hash] opts the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def replace_with_http_info(create_user_account_request_external, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: UserAccountsApi.replace ...' end # verify the required parameter 'create_user_account_request_external' is set if @api_client.config.client_side_validation && create_user_account_request_external.nil? fail ArgumentError, "Missing the required parameter 'create_user_account_request_external' when calling UserAccountsApi.replace" end # resource path local_var_path = '/crm/v3/extensions/accounting/user-accounts' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['*/*']) # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(create_user_account_request_external) # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || ['hapikey', 'oauth2'] new_options = opts.merge( :operation => :"UserAccountsApi.replace", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: UserAccountsApi#replace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end end end end