Class: Voltaria::Collections::Client
- Inherits:
-
Object
- Object
- Voltaria::Collections::Client
- Defined in:
- lib/voltaria/collections/client.rb
Instance Method Summary collapse
- #initialize(client:) ⇒ void constructor
-
#list_collection_action_logs(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseCollectionActionLogResponse
Retrieve collection action logs for your partner account.
-
#list_collection_actions(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseCollectionActionResponse
Retrieve all collection actions configured for your partner account.
-
#update_collection_action_log(request_options: {}, **params) ⇒ Voltaria::Types::CollectionActionLogResponse
Update the status and notes of a collection action log.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/voltaria/collections/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#list_collection_action_logs(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseCollectionActionLogResponse
Retrieve collection action logs for your partner account. Supports filtering by client, loan, installment, status, or action type.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/voltaria/collections/client.rb', line 80 def list_collection_action_logs(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[client_id loan_id installment_id status action_type page page_size order_by q] query_params = {} query_params["client_id"] = params[:client_id] if params.key?(:client_id) query_params["loan_id"] = params[:loan_id] if params.key?(:loan_id) query_params["installment_id"] = params[:installment_id] if params.key?(:installment_id) query_params["status"] = params[:status] if params.key?(:status) query_params["action_type"] = params[:action_type] if params.key?(:action_type) query_params["page"] = params[:page] if params.key?(:page) query_params["page_size"] = params[:page_size] if params.key?(:page_size) query_params["order_by"] = params[:order_by] if params.key?(:order_by) query_params["q"] = params[:q] if params.key?(:q) params.except(*query_param_names) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/collection-actions/logs", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::PaginatedResponseCollectionActionLogResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list_collection_actions(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseCollectionActionResponse
Retrieve all collection actions configured for your partner account.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/voltaria/collections/client.rb', line 28 def list_collection_actions(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[page page_size order_by q] query_params = {} query_params["page"] = params[:page] if params.key?(:page) query_params["page_size"] = params[:page_size] if params.key?(:page_size) query_params["order_by"] = params[:order_by] if params.key?(:order_by) query_params["q"] = params[:q] if params.key?(:q) params.except(*query_param_names) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/collection-actions", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::PaginatedResponseCollectionActionResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#update_collection_action_log(request_options: {}, **params) ⇒ Voltaria::Types::CollectionActionLogResponse
Update the status and notes of a collection action log.
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/voltaria/collections/client.rb', line 128 def update_collection_action_log(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) request_data = Voltaria::Collections::Types::CollectionActionLogUpdatePayload.new(params).to_h non_body_param_names = ["log_id"] body = request_data.except(*non_body_param_names) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "PATCH", path: "v2/collection-actions/logs/#{URI.encode_uri_component(params[:log_id].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::CollectionActionLogResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |