voltaria_sdk 2.34.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +69 -0
- data/README.md +202 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +16 -0
- data/lib/voltaria/accounts/client.rb +168 -0
- data/lib/voltaria/accounts/types/get_client_account_request.rb +12 -0
- data/lib/voltaria/accounts/types/list_client_account_fields_request.rb +11 -0
- data/lib/voltaria/accounts/types/list_client_accounts_request.rb +14 -0
- data/lib/voltaria/accounts/types/partner_client_account_create_request.rb +23 -0
- data/lib/voltaria/accounts/types/partner_client_account_create_request_status.rb +14 -0
- data/lib/voltaria/client.rb +74 -0
- data/lib/voltaria/clients/client.rb +557 -0
- data/lib/voltaria/clients/types/approve_onboarding_request.rb +11 -0
- data/lib/voltaria/clients/types/client_create_payload.rb +16 -0
- data/lib/voltaria/clients/types/client_data_create_payload.rb +12 -0
- data/lib/voltaria/clients/types/client_user_invite_request.rb +16 -0
- data/lib/voltaria/clients/types/delete_client_request.rb +11 -0
- data/lib/voltaria/clients/types/get_client_by_id_request.rb +11 -0
- data/lib/voltaria/clients/types/get_limit_request_request.rb +11 -0
- data/lib/voltaria/clients/types/limit_request_create_payload.rb +14 -0
- data/lib/voltaria/clients/types/limit_request_create_payload_requested_limit.rb +15 -0
- data/lib/voltaria/clients/types/list_client_checklist_summaries_request.rb +13 -0
- data/lib/voltaria/clients/types/list_client_waivers_request.rb +15 -0
- data/lib/voltaria/clients/types/list_clients_request.rb +14 -0
- data/lib/voltaria/clients/types/list_limit_requests_request.rb +15 -0
- data/lib/voltaria/clients/types/list_onboarding_clients_request.rb +12 -0
- data/lib/voltaria/clients/types/reject_onboarding_request.rb +11 -0
- data/lib/voltaria/documents/client.rb +221 -0
- data/lib/voltaria/documents/types/delete_document_request.rb +11 -0
- data/lib/voltaria/documents/types/document_create_payload.rb +14 -0
- data/lib/voltaria/documents/types/get_document_by_id_request.rb +11 -0
- data/lib/voltaria/documents/types/list_documents_request.rb +18 -0
- data/lib/voltaria/drawdowns/client.rb +141 -0
- data/lib/voltaria/drawdowns/types/drawdown_create_payload.rb +12 -0
- data/lib/voltaria/drawdowns/types/drawdown_create_payload_amount.rb +15 -0
- data/lib/voltaria/drawdowns/types/list_drawdown_checklists_request.rb +15 -0
- data/lib/voltaria/drawdowns/types/list_drawdowns_request.rb +14 -0
- data/lib/voltaria/environment.rb +8 -0
- data/lib/voltaria/errors/api_error.rb +8 -0
- data/lib/voltaria/errors/client_error.rb +17 -0
- data/lib/voltaria/errors/redirect_error.rb +8 -0
- data/lib/voltaria/errors/response_error.rb +42 -0
- data/lib/voltaria/errors/server_error.rb +11 -0
- data/lib/voltaria/errors/timeout_error.rb +8 -0
- data/lib/voltaria/installments/client.rb +292 -0
- data/lib/voltaria/installments/types/delete_installment_request.rb +11 -0
- data/lib/voltaria/installments/types/get_installment_by_id_request.rb +11 -0
- data/lib/voltaria/installments/types/installment_create_payload.rb +12 -0
- data/lib/voltaria/installments/types/installment_edit_payload.rb +13 -0
- data/lib/voltaria/installments/types/installment_edit_payload_amount.rb +15 -0
- data/lib/voltaria/installments/types/list_installments_request.rb +16 -0
- data/lib/voltaria/installments/types/list_payment_promises_request.rb +16 -0
- data/lib/voltaria/installments/types/payment_promise_create_payload.rb +14 -0
- data/lib/voltaria/installments/types/payment_promise_create_payload_amount.rb +15 -0
- data/lib/voltaria/internal/errors/constraint_error.rb +10 -0
- data/lib/voltaria/internal/errors/type_error.rb +10 -0
- data/lib/voltaria/internal/http/base_request.rb +51 -0
- data/lib/voltaria/internal/http/raw_client.rb +214 -0
- data/lib/voltaria/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/voltaria/internal/iterators/cursor_page_iterator.rb +51 -0
- data/lib/voltaria/internal/iterators/item_iterator.rb +59 -0
- data/lib/voltaria/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/voltaria/internal/iterators/offset_page_iterator.rb +83 -0
- data/lib/voltaria/internal/json/request.rb +41 -0
- data/lib/voltaria/internal/json/serializable.rb +25 -0
- data/lib/voltaria/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/voltaria/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/voltaria/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/voltaria/internal/multipart/multipart_request.rb +40 -0
- data/lib/voltaria/internal/types/array.rb +47 -0
- data/lib/voltaria/internal/types/boolean.rb +34 -0
- data/lib/voltaria/internal/types/enum.rb +56 -0
- data/lib/voltaria/internal/types/hash.rb +36 -0
- data/lib/voltaria/internal/types/model/field.rb +38 -0
- data/lib/voltaria/internal/types/model.rb +208 -0
- data/lib/voltaria/internal/types/type.rb +35 -0
- data/lib/voltaria/internal/types/union.rb +161 -0
- data/lib/voltaria/internal/types/unknown.rb +15 -0
- data/lib/voltaria/internal/types/utils.rb +116 -0
- data/lib/voltaria/investors/client.rb +312 -0
- data/lib/voltaria/investors/types/investor_get_client_request.rb +11 -0
- data/lib/voltaria/investors/types/investor_get_installment_request.rb +11 -0
- data/lib/voltaria/investors/types/investor_get_loan_request.rb +11 -0
- data/lib/voltaria/investors/types/investor_list_clients_request.rb +14 -0
- data/lib/voltaria/investors/types/investor_list_installments_request.rb +16 -0
- data/lib/voltaria/investors/types/investor_list_loans_request.rb +15 -0
- data/lib/voltaria/investors/types/investor_list_repayments_request.rb +17 -0
- data/lib/voltaria/loans/client.rb +271 -0
- data/lib/voltaria/loans/types/bulk_loan_create_payload.rb +11 -0
- data/lib/voltaria/loans/types/delete_loan_request.rb +11 -0
- data/lib/voltaria/loans/types/get_bulk_loan_status_request.rb +11 -0
- data/lib/voltaria/loans/types/get_loan_by_id_request.rb +11 -0
- data/lib/voltaria/loans/types/list_loans_request.rb +15 -0
- data/lib/voltaria/loans/types/loan_create_payload.rb +17 -0
- data/lib/voltaria/loans/types/loan_create_payload_amount.rb +15 -0
- data/lib/voltaria/loans/types/loan_default_payload.rb +13 -0
- data/lib/voltaria/loans/types/loan_default_payload_sold_amount.rb +15 -0
- data/lib/voltaria/partners/client.rb +129 -0
- data/lib/voltaria/partners/types/list_partner_waterfalls_request.rb +14 -0
- data/lib/voltaria/partners/types/partner_data_create_payload.rb +11 -0
- data/lib/voltaria/prefix_routing.rb +80 -0
- data/lib/voltaria/repayments/client.rb +183 -0
- data/lib/voltaria/repayments/types/bulk_repayment_create_payload.rb +11 -0
- data/lib/voltaria/repayments/types/get_bulk_repayment_status_request.rb +11 -0
- data/lib/voltaria/repayments/types/list_repayment_logs_request.rb +17 -0
- data/lib/voltaria/repayments/types/repayment_create_payload.rb +17 -0
- data/lib/voltaria/repayments/types/repayment_create_payload_amount.rb +15 -0
- data/lib/voltaria/sandbox/client.rb +124 -0
- data/lib/voltaria/sandbox/types/client_update_sandbox.rb +13 -0
- data/lib/voltaria/sandbox/types/client_update_sandbox_limit.rb +15 -0
- data/lib/voltaria/sandbox/types/loan_update_sandbox.rb +12 -0
- data/lib/voltaria/sandbox/types/webhook_test_sandbox.rb +12 -0
- data/lib/voltaria/types/account_address.rb +14 -0
- data/lib/voltaria/types/account_holder_type_enum.rb +12 -0
- data/lib/voltaria/types/account_status_enum.rb +13 -0
- data/lib/voltaria/types/available_document_categories_response.rb +9 -0
- data/lib/voltaria/types/available_funding.rb +15 -0
- data/lib/voltaria/types/bulk_loan_item_payload.rb +15 -0
- data/lib/voltaria/types/bulk_loan_item_payload_amount.rb +13 -0
- data/lib/voltaria/types/bulk_loan_item_result.rb +15 -0
- data/lib/voltaria/types/bulk_loan_result.rb +13 -0
- data/lib/voltaria/types/bulk_loan_task_response.rb +11 -0
- data/lib/voltaria/types/bulk_loan_task_status.rb +14 -0
- data/lib/voltaria/types/bulk_repayment_item_payload.rb +15 -0
- data/lib/voltaria/types/bulk_repayment_item_payload_amount.rb +13 -0
- data/lib/voltaria/types/bulk_repayment_item_result.rb +15 -0
- data/lib/voltaria/types/bulk_repayment_result.rb +13 -0
- data/lib/voltaria/types/bulk_repayment_task_response.rb +11 -0
- data/lib/voltaria/types/bulk_repayment_task_status.rb +14 -0
- data/lib/voltaria/types/checklist_summary_partner_response.rb +14 -0
- data/lib/voltaria/types/checklist_type_enum.rb +12 -0
- data/lib/voltaria/types/client_account_response.rb +21 -0
- data/lib/voltaria/types/client_base_info.rb +13 -0
- data/lib/voltaria/types/client_data_response.rb +12 -0
- data/lib/voltaria/types/client_investor_response.rb +17 -0
- data/lib/voltaria/types/client_limit_response.rb +16 -0
- data/lib/voltaria/types/client_response.rb +19 -0
- data/lib/voltaria/types/client_status_enum.rb +18 -0
- data/lib/voltaria/types/client_type_enum.rb +12 -0
- data/lib/voltaria/types/client_user_response.rb +24 -0
- data/lib/voltaria/types/client_user_status_enum.rb +13 -0
- data/lib/voltaria/types/currency_enum.rb +16 -0
- data/lib/voltaria/types/currency_field_spec.rb +10 -0
- data/lib/voltaria/types/document_response.rb +20 -0
- data/lib/voltaria/types/drawdown_checklist_response.rb +16 -0
- data/lib/voltaria/types/drawdown_response.rb +15 -0
- data/lib/voltaria/types/drawdown_status_enum.rb +13 -0
- data/lib/voltaria/types/http_validation_error.rb +9 -0
- data/lib/voltaria/types/installment_response.rb +24 -0
- data/lib/voltaria/types/installment_response_with_client_info.rb +25 -0
- data/lib/voltaria/types/installment_status_enum.rb +19 -0
- data/lib/voltaria/types/jurisdiction_enum.rb +13 -0
- data/lib/voltaria/types/kyc_status_enum.rb +14 -0
- data/lib/voltaria/types/limit_request_response.rb +16 -0
- data/lib/voltaria/types/limit_request_status_enum.rb +13 -0
- data/lib/voltaria/types/loan_installment_create_payload.rb +10 -0
- data/lib/voltaria/types/loan_installment_create_payload_amount.rb +13 -0
- data/lib/voltaria/types/loan_installment_response.rb +15 -0
- data/lib/voltaria/types/loan_investor_response.rb +27 -0
- data/lib/voltaria/types/loan_payment_status_enum.rb +12 -0
- data/lib/voltaria/types/loan_response_with_client_info.rb +26 -0
- data/lib/voltaria/types/loan_response_with_installments.rb +26 -0
- data/lib/voltaria/types/loan_status_enum.rb +21 -0
- data/lib/voltaria/types/paginated_response_checklist_summary_partner_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_client_account_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_client_investor_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_client_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_document_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_drawdown_checklist_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_drawdown_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_installment_response_with_client_info.rb +16 -0
- data/lib/voltaria/types/paginated_response_limit_request_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_loan_investor_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_loan_response_with_client_info.rb +16 -0
- data/lib/voltaria/types/paginated_response_payment_promise_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_repayment_response_with_client_info.rb +16 -0
- data/lib/voltaria/types/paginated_response_waiver_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_waterfall_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_webhook_log_response.rb +16 -0
- data/lib/voltaria/types/paginated_response_webhook_subscription_response.rb +16 -0
- data/lib/voltaria/types/partner_data_response.rb +11 -0
- data/lib/voltaria/types/payment_promise_response.rb +19 -0
- data/lib/voltaria/types/payment_promise_status_enum.rb +14 -0
- data/lib/voltaria/types/repayment_response.rb +21 -0
- data/lib/voltaria/types/repayment_response_with_client_info.rb +22 -0
- data/lib/voltaria/types/role_response.rb +11 -0
- data/lib/voltaria/types/validation_error.rb +13 -0
- data/lib/voltaria/types/validation_error_loc_item.rb +12 -0
- data/lib/voltaria/types/waiver_response.rb +18 -0
- data/lib/voltaria/types/waiver_status_enum.rb +14 -0
- data/lib/voltaria/types/waterfall_response.rb +19 -0
- data/lib/voltaria/types/waterfall_status_enum.rb +12 -0
- data/lib/voltaria/types/webhook_event_type_enum.rb +15 -0
- data/lib/voltaria/types/webhook_log_response.rb +19 -0
- data/lib/voltaria/types/webhook_log_response_request_body.rb +13 -0
- data/lib/voltaria/types/webhook_status_enum.rb +13 -0
- data/lib/voltaria/types/webhook_subscription_response.rb +17 -0
- data/lib/voltaria/version.rb +5 -0
- data/lib/voltaria/webhooks/client.rb +241 -0
- data/lib/voltaria/webhooks/types/delete_webhook_subscription_request.rb +11 -0
- data/lib/voltaria/webhooks/types/get_webhook_subscription_request.rb +11 -0
- data/lib/voltaria/webhooks/types/list_webhook_logs_request.rb +13 -0
- data/lib/voltaria/webhooks/types/list_webhook_subscriptions_request.rb +13 -0
- data/lib/voltaria/webhooks/types/webhook_create_payload.rb +16 -0
- data/lib/voltaria/webhooks/types/webhook_update_payload.rb +17 -0
- data/lib/voltaria.rb +205 -0
- data/reference.md +5135 -0
- metadata +250 -0
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [Voltaria::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Retrieve a list of all clients associated with your partner account.
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [Hash]
|
|
16
|
+
# @param params [Hash]
|
|
17
|
+
# @option request_options [String] :base_url
|
|
18
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
21
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
22
|
+
# @option params [Integer, nil] :page
|
|
23
|
+
# @option params [Integer, nil] :page_size
|
|
24
|
+
# @option params [String, nil] :order_by
|
|
25
|
+
# @option params [String, nil] :q
|
|
26
|
+
#
|
|
27
|
+
# @return [Voltaria::Types::PaginatedResponseClientResponse]
|
|
28
|
+
def list_clients(request_options: {}, **params)
|
|
29
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
30
|
+
query_param_names = %i[page page_size order_by q]
|
|
31
|
+
query_params = {}
|
|
32
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
33
|
+
query_params["page_size"] = params[:page_size] if params.key?(:page_size)
|
|
34
|
+
query_params["order_by"] = params[:order_by] if params.key?(:order_by)
|
|
35
|
+
query_params["q"] = params[:q] if params.key?(:q)
|
|
36
|
+
params.except(*query_param_names)
|
|
37
|
+
|
|
38
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
39
|
+
base_url: request_options[:base_url],
|
|
40
|
+
method: "GET",
|
|
41
|
+
path: "v2/clients",
|
|
42
|
+
query: query_params,
|
|
43
|
+
request_options: request_options
|
|
44
|
+
)
|
|
45
|
+
begin
|
|
46
|
+
response = @client.send(request)
|
|
47
|
+
rescue Net::HTTPRequestTimeout
|
|
48
|
+
raise Voltaria::Errors::TimeoutError
|
|
49
|
+
end
|
|
50
|
+
code = response.code.to_i
|
|
51
|
+
if code.between?(200, 299)
|
|
52
|
+
Voltaria::Types::PaginatedResponseClientResponse.load(response.body)
|
|
53
|
+
else
|
|
54
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
55
|
+
raise error_class.new(response.body, code: code)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Create a new client under your partner account. The client will remain in a pending state until reviewed by
|
|
60
|
+
# Winyield.
|
|
61
|
+
#
|
|
62
|
+
# @param request_options [Hash]
|
|
63
|
+
# @param params [Voltaria::Clients::Types::ClientCreatePayload]
|
|
64
|
+
# @option request_options [String] :base_url
|
|
65
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
66
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
67
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
68
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
69
|
+
#
|
|
70
|
+
# @return [Voltaria::Types::ClientResponse]
|
|
71
|
+
def create_client(request_options: {}, **params)
|
|
72
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
73
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
74
|
+
base_url: request_options[:base_url],
|
|
75
|
+
method: "POST",
|
|
76
|
+
path: "v2/clients",
|
|
77
|
+
body: Voltaria::Clients::Types::ClientCreatePayload.new(params).to_h,
|
|
78
|
+
request_options: request_options
|
|
79
|
+
)
|
|
80
|
+
begin
|
|
81
|
+
response = @client.send(request)
|
|
82
|
+
rescue Net::HTTPRequestTimeout
|
|
83
|
+
raise Voltaria::Errors::TimeoutError
|
|
84
|
+
end
|
|
85
|
+
code = response.code.to_i
|
|
86
|
+
if code.between?(200, 299)
|
|
87
|
+
Voltaria::Types::ClientResponse.load(response.body)
|
|
88
|
+
else
|
|
89
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
90
|
+
raise error_class.new(response.body, code: code)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Upload supplementary client information, such as bank account balance, accounting figures, or other relevant
|
|
95
|
+
# details.
|
|
96
|
+
#
|
|
97
|
+
# @param request_options [Hash]
|
|
98
|
+
# @param params [Voltaria::Clients::Types::ClientDataCreatePayload]
|
|
99
|
+
# @option request_options [String] :base_url
|
|
100
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
101
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
102
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
103
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
104
|
+
#
|
|
105
|
+
# @return [Voltaria::Types::ClientDataResponse]
|
|
106
|
+
def create_client_data(request_options: {}, **params)
|
|
107
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
108
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
109
|
+
base_url: request_options[:base_url],
|
|
110
|
+
method: "POST",
|
|
111
|
+
path: "v2/clients/data",
|
|
112
|
+
body: Voltaria::Clients::Types::ClientDataCreatePayload.new(params).to_h,
|
|
113
|
+
request_options: request_options
|
|
114
|
+
)
|
|
115
|
+
begin
|
|
116
|
+
response = @client.send(request)
|
|
117
|
+
rescue Net::HTTPRequestTimeout
|
|
118
|
+
raise Voltaria::Errors::TimeoutError
|
|
119
|
+
end
|
|
120
|
+
code = response.code.to_i
|
|
121
|
+
if code.between?(200, 299)
|
|
122
|
+
Voltaria::Types::ClientDataResponse.load(response.body)
|
|
123
|
+
else
|
|
124
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
125
|
+
raise error_class.new(response.body, code: code)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Retrieve a list of all limit requests associated with your partner account.
|
|
130
|
+
#
|
|
131
|
+
# @param request_options [Hash]
|
|
132
|
+
# @param params [Hash]
|
|
133
|
+
# @option request_options [String] :base_url
|
|
134
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
135
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
136
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
137
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
138
|
+
# @option params [String, nil] :client_id
|
|
139
|
+
# @option params [Integer, nil] :page
|
|
140
|
+
# @option params [Integer, nil] :page_size
|
|
141
|
+
# @option params [String, nil] :order_by
|
|
142
|
+
# @option params [String, nil] :q
|
|
143
|
+
#
|
|
144
|
+
# @return [Voltaria::Types::PaginatedResponseLimitRequestResponse]
|
|
145
|
+
def list_limit_requests(request_options: {}, **params)
|
|
146
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
147
|
+
query_param_names = %i[client_id page page_size order_by q]
|
|
148
|
+
query_params = {}
|
|
149
|
+
query_params["client_id"] = params[:client_id] if params.key?(:client_id)
|
|
150
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
151
|
+
query_params["page_size"] = params[:page_size] if params.key?(:page_size)
|
|
152
|
+
query_params["order_by"] = params[:order_by] if params.key?(:order_by)
|
|
153
|
+
query_params["q"] = params[:q] if params.key?(:q)
|
|
154
|
+
params.except(*query_param_names)
|
|
155
|
+
|
|
156
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
157
|
+
base_url: request_options[:base_url],
|
|
158
|
+
method: "GET",
|
|
159
|
+
path: "v2/clients/limit-requests",
|
|
160
|
+
query: query_params,
|
|
161
|
+
request_options: request_options
|
|
162
|
+
)
|
|
163
|
+
begin
|
|
164
|
+
response = @client.send(request)
|
|
165
|
+
rescue Net::HTTPRequestTimeout
|
|
166
|
+
raise Voltaria::Errors::TimeoutError
|
|
167
|
+
end
|
|
168
|
+
code = response.code.to_i
|
|
169
|
+
if code.between?(200, 299)
|
|
170
|
+
Voltaria::Types::PaginatedResponseLimitRequestResponse.load(response.body)
|
|
171
|
+
else
|
|
172
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
173
|
+
raise error_class.new(response.body, code: code)
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Create a limit review request for a client. The request will remain in a pending state until reviewed by
|
|
178
|
+
# Winyield.
|
|
179
|
+
#
|
|
180
|
+
# @param request_options [Hash]
|
|
181
|
+
# @param params [Voltaria::Clients::Types::LimitRequestCreatePayload]
|
|
182
|
+
# @option request_options [String] :base_url
|
|
183
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
184
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
185
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
186
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
187
|
+
#
|
|
188
|
+
# @return [Voltaria::Types::LimitRequestResponse]
|
|
189
|
+
def create_limit_request(request_options: {}, **params)
|
|
190
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
191
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
192
|
+
base_url: request_options[:base_url],
|
|
193
|
+
method: "POST",
|
|
194
|
+
path: "v2/clients/limit-requests",
|
|
195
|
+
body: Voltaria::Clients::Types::LimitRequestCreatePayload.new(params).to_h,
|
|
196
|
+
request_options: request_options
|
|
197
|
+
)
|
|
198
|
+
begin
|
|
199
|
+
response = @client.send(request)
|
|
200
|
+
rescue Net::HTTPRequestTimeout
|
|
201
|
+
raise Voltaria::Errors::TimeoutError
|
|
202
|
+
end
|
|
203
|
+
code = response.code.to_i
|
|
204
|
+
if code.between?(200, 299)
|
|
205
|
+
Voltaria::Types::LimitRequestResponse.load(response.body)
|
|
206
|
+
else
|
|
207
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
208
|
+
raise error_class.new(response.body, code: code)
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
# Retrieve a specific limit request by its ID.
|
|
213
|
+
#
|
|
214
|
+
# @param request_options [Hash]
|
|
215
|
+
# @param params [Hash]
|
|
216
|
+
# @option request_options [String] :base_url
|
|
217
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
218
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
219
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
220
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
221
|
+
# @option params [String] :request_id
|
|
222
|
+
#
|
|
223
|
+
# @return [Voltaria::Types::LimitRequestResponse]
|
|
224
|
+
def get_limit_request(request_options: {}, **params)
|
|
225
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
226
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
227
|
+
base_url: request_options[:base_url],
|
|
228
|
+
method: "GET",
|
|
229
|
+
path: "v2/clients/limit-requests/#{URI.encode_uri_component(params[:request_id].to_s)}",
|
|
230
|
+
request_options: request_options
|
|
231
|
+
)
|
|
232
|
+
begin
|
|
233
|
+
response = @client.send(request)
|
|
234
|
+
rescue Net::HTTPRequestTimeout
|
|
235
|
+
raise Voltaria::Errors::TimeoutError
|
|
236
|
+
end
|
|
237
|
+
code = response.code.to_i
|
|
238
|
+
if code.between?(200, 299)
|
|
239
|
+
Voltaria::Types::LimitRequestResponse.load(response.body)
|
|
240
|
+
else
|
|
241
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
242
|
+
raise error_class.new(response.body, code: code)
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# Retrieve all clients that have self-registered via the portal and are awaiting partner approval.
|
|
247
|
+
#
|
|
248
|
+
# @param request_options [Hash]
|
|
249
|
+
# @param params [Hash]
|
|
250
|
+
# @option request_options [String] :base_url
|
|
251
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
252
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
253
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
254
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
255
|
+
# @option params [Integer, nil] :page
|
|
256
|
+
# @option params [Integer, nil] :page_size
|
|
257
|
+
#
|
|
258
|
+
# @return [Voltaria::Types::PaginatedResponseClientResponse]
|
|
259
|
+
def list_onboarding_clients(request_options: {}, **params)
|
|
260
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
261
|
+
query_param_names = %i[page page_size]
|
|
262
|
+
query_params = {}
|
|
263
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
264
|
+
query_params["page_size"] = params[:page_size] if params.key?(:page_size)
|
|
265
|
+
params.except(*query_param_names)
|
|
266
|
+
|
|
267
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
268
|
+
base_url: request_options[:base_url],
|
|
269
|
+
method: "GET",
|
|
270
|
+
path: "v2/clients/onboarding",
|
|
271
|
+
query: query_params,
|
|
272
|
+
request_options: request_options
|
|
273
|
+
)
|
|
274
|
+
begin
|
|
275
|
+
response = @client.send(request)
|
|
276
|
+
rescue Net::HTTPRequestTimeout
|
|
277
|
+
raise Voltaria::Errors::TimeoutError
|
|
278
|
+
end
|
|
279
|
+
code = response.code.to_i
|
|
280
|
+
if code.between?(200, 299)
|
|
281
|
+
Voltaria::Types::PaginatedResponseClientResponse.load(response.body)
|
|
282
|
+
else
|
|
283
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
284
|
+
raise error_class.new(response.body, code: code)
|
|
285
|
+
end
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
# Accept a self-onboarded client. The client status moves to 'pending' and the owner's portal account is activated
|
|
289
|
+
# so they can begin submitting documents.
|
|
290
|
+
#
|
|
291
|
+
# @param request_options [Hash]
|
|
292
|
+
# @param params [Hash]
|
|
293
|
+
# @option request_options [String] :base_url
|
|
294
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
295
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
296
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
297
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
298
|
+
# @option params [String] :client_id
|
|
299
|
+
#
|
|
300
|
+
# @return [Voltaria::Types::ClientResponse]
|
|
301
|
+
def approve_onboarding(request_options: {}, **params)
|
|
302
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
303
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
304
|
+
base_url: request_options[:base_url],
|
|
305
|
+
method: "POST",
|
|
306
|
+
path: "v2/clients/onboarding/#{URI.encode_uri_component(params[:client_id].to_s)}/approve",
|
|
307
|
+
request_options: request_options
|
|
308
|
+
)
|
|
309
|
+
begin
|
|
310
|
+
response = @client.send(request)
|
|
311
|
+
rescue Net::HTTPRequestTimeout
|
|
312
|
+
raise Voltaria::Errors::TimeoutError
|
|
313
|
+
end
|
|
314
|
+
code = response.code.to_i
|
|
315
|
+
if code.between?(200, 299)
|
|
316
|
+
Voltaria::Types::ClientResponse.load(response.body)
|
|
317
|
+
else
|
|
318
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
319
|
+
raise error_class.new(response.body, code: code)
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
# Reject a self-onboarded client. The client record is kept with 'rejected' status for audit history and is not
|
|
324
|
+
# deleted.
|
|
325
|
+
#
|
|
326
|
+
# @param request_options [Hash]
|
|
327
|
+
# @param params [Hash]
|
|
328
|
+
# @option request_options [String] :base_url
|
|
329
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
330
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
331
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
332
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
333
|
+
# @option params [String] :client_id
|
|
334
|
+
#
|
|
335
|
+
# @return [Voltaria::Types::ClientResponse]
|
|
336
|
+
def reject_onboarding(request_options: {}, **params)
|
|
337
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
338
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
339
|
+
base_url: request_options[:base_url],
|
|
340
|
+
method: "POST",
|
|
341
|
+
path: "v2/clients/onboarding/#{URI.encode_uri_component(params[:client_id].to_s)}/reject",
|
|
342
|
+
request_options: request_options
|
|
343
|
+
)
|
|
344
|
+
begin
|
|
345
|
+
response = @client.send(request)
|
|
346
|
+
rescue Net::HTTPRequestTimeout
|
|
347
|
+
raise Voltaria::Errors::TimeoutError
|
|
348
|
+
end
|
|
349
|
+
code = response.code.to_i
|
|
350
|
+
if code.between?(200, 299)
|
|
351
|
+
Voltaria::Types::ClientResponse.load(response.body)
|
|
352
|
+
else
|
|
353
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
354
|
+
raise error_class.new(response.body, code: code)
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
# Invite a new user to a client's portal account. The invited user will receive an email with a one-time link to
|
|
359
|
+
# set their password. Partner can assign any role: 'owner', 'admin', or 'viewer'.
|
|
360
|
+
#
|
|
361
|
+
# @param request_options [Hash]
|
|
362
|
+
# @param params [Voltaria::Clients::Types::ClientUserInviteRequest]
|
|
363
|
+
# @option request_options [String] :base_url
|
|
364
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
365
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
366
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
367
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
368
|
+
# @option params [String] :client_id
|
|
369
|
+
#
|
|
370
|
+
# @return [Voltaria::Types::ClientUserResponse]
|
|
371
|
+
def add_client_portal_user(request_options: {}, **params)
|
|
372
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
373
|
+
request_data = Voltaria::Clients::Types::ClientUserInviteRequest.new(params).to_h
|
|
374
|
+
non_body_param_names = ["client_id"]
|
|
375
|
+
body = request_data.except(*non_body_param_names)
|
|
376
|
+
|
|
377
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
378
|
+
base_url: request_options[:base_url],
|
|
379
|
+
method: "POST",
|
|
380
|
+
path: "v2/clients/#{URI.encode_uri_component(params[:client_id].to_s)}/users",
|
|
381
|
+
body: body,
|
|
382
|
+
request_options: request_options
|
|
383
|
+
)
|
|
384
|
+
begin
|
|
385
|
+
response = @client.send(request)
|
|
386
|
+
rescue Net::HTTPRequestTimeout
|
|
387
|
+
raise Voltaria::Errors::TimeoutError
|
|
388
|
+
end
|
|
389
|
+
code = response.code.to_i
|
|
390
|
+
if code.between?(200, 299)
|
|
391
|
+
Voltaria::Types::ClientUserResponse.load(response.body)
|
|
392
|
+
else
|
|
393
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
394
|
+
raise error_class.new(response.body, code: code)
|
|
395
|
+
end
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
# Retrieve all waivers associated with a specific client.
|
|
399
|
+
#
|
|
400
|
+
# @param request_options [Hash]
|
|
401
|
+
# @param params [Hash]
|
|
402
|
+
# @option request_options [String] :base_url
|
|
403
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
404
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
405
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
406
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
407
|
+
# @option params [String] :client_id
|
|
408
|
+
# @option params [Integer, nil] :page
|
|
409
|
+
# @option params [Integer, nil] :page_size
|
|
410
|
+
# @option params [String, nil] :order_by
|
|
411
|
+
# @option params [String, nil] :q
|
|
412
|
+
#
|
|
413
|
+
# @return [Voltaria::Types::PaginatedResponseWaiverResponse]
|
|
414
|
+
def list_client_waivers(request_options: {}, **params)
|
|
415
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
416
|
+
query_param_names = %i[page page_size order_by q]
|
|
417
|
+
query_params = {}
|
|
418
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
419
|
+
query_params["page_size"] = params[:page_size] if params.key?(:page_size)
|
|
420
|
+
query_params["order_by"] = params[:order_by] if params.key?(:order_by)
|
|
421
|
+
query_params["q"] = params[:q] if params.key?(:q)
|
|
422
|
+
params = params.except(*query_param_names)
|
|
423
|
+
|
|
424
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
425
|
+
base_url: request_options[:base_url],
|
|
426
|
+
method: "GET",
|
|
427
|
+
path: "v2/clients/#{URI.encode_uri_component(params[:client_id].to_s)}/waivers",
|
|
428
|
+
query: query_params,
|
|
429
|
+
request_options: request_options
|
|
430
|
+
)
|
|
431
|
+
begin
|
|
432
|
+
response = @client.send(request)
|
|
433
|
+
rescue Net::HTTPRequestTimeout
|
|
434
|
+
raise Voltaria::Errors::TimeoutError
|
|
435
|
+
end
|
|
436
|
+
code = response.code.to_i
|
|
437
|
+
if code.between?(200, 299)
|
|
438
|
+
Voltaria::Types::PaginatedResponseWaiverResponse.load(response.body)
|
|
439
|
+
else
|
|
440
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
441
|
+
raise error_class.new(response.body, code: code)
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
# Retrieve detailed information for a specific client using their client ID.
|
|
446
|
+
#
|
|
447
|
+
# @param request_options [Hash]
|
|
448
|
+
# @param params [Hash]
|
|
449
|
+
# @option request_options [String] :base_url
|
|
450
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
451
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
452
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
453
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
454
|
+
# @option params [String] :client_id
|
|
455
|
+
#
|
|
456
|
+
# @return [Voltaria::Types::ClientResponse]
|
|
457
|
+
def get_client_by_id(request_options: {}, **params)
|
|
458
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
459
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
460
|
+
base_url: request_options[:base_url],
|
|
461
|
+
method: "GET",
|
|
462
|
+
path: "v2/clients/#{URI.encode_uri_component(params[:client_id].to_s)}",
|
|
463
|
+
request_options: request_options
|
|
464
|
+
)
|
|
465
|
+
begin
|
|
466
|
+
response = @client.send(request)
|
|
467
|
+
rescue Net::HTTPRequestTimeout
|
|
468
|
+
raise Voltaria::Errors::TimeoutError
|
|
469
|
+
end
|
|
470
|
+
code = response.code.to_i
|
|
471
|
+
if code.between?(200, 299)
|
|
472
|
+
Voltaria::Types::ClientResponse.load(response.body)
|
|
473
|
+
else
|
|
474
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
475
|
+
raise error_class.new(response.body, code: code)
|
|
476
|
+
end
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
# Delete a client by ID. Only clients with 'pending' status can be deleted. All client's loans must also be in
|
|
480
|
+
# 'pending' status.
|
|
481
|
+
#
|
|
482
|
+
# @param request_options [Hash]
|
|
483
|
+
# @param params [Hash]
|
|
484
|
+
# @option request_options [String] :base_url
|
|
485
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
486
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
487
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
488
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
489
|
+
# @option params [String] :client_id
|
|
490
|
+
#
|
|
491
|
+
# @return [Hash[String, Object], nil]
|
|
492
|
+
def delete_client(request_options: {}, **params)
|
|
493
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
494
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
495
|
+
base_url: request_options[:base_url],
|
|
496
|
+
method: "DELETE",
|
|
497
|
+
path: "v2/clients/#{URI.encode_uri_component(params[:client_id].to_s)}",
|
|
498
|
+
request_options: request_options
|
|
499
|
+
)
|
|
500
|
+
begin
|
|
501
|
+
response = @client.send(request)
|
|
502
|
+
rescue Net::HTTPRequestTimeout
|
|
503
|
+
raise Voltaria::Errors::TimeoutError
|
|
504
|
+
end
|
|
505
|
+
code = response.code.to_i
|
|
506
|
+
return if code.between?(200, 299)
|
|
507
|
+
|
|
508
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
509
|
+
raise error_class.new(response.body, code: code)
|
|
510
|
+
end
|
|
511
|
+
|
|
512
|
+
# Retrieve the checklist summaries for one of your clients, including the AI description and item completion
|
|
513
|
+
# counts.
|
|
514
|
+
#
|
|
515
|
+
# @param request_options [Hash]
|
|
516
|
+
# @param params [Hash]
|
|
517
|
+
# @option request_options [String] :base_url
|
|
518
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
519
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
520
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
521
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
522
|
+
# @option params [String] :client_id
|
|
523
|
+
# @option params [Integer, nil] :page
|
|
524
|
+
# @option params [Integer, nil] :page_size
|
|
525
|
+
#
|
|
526
|
+
# @return [Voltaria::Types::PaginatedResponseChecklistSummaryPartnerResponse]
|
|
527
|
+
def list_client_checklist_summaries(request_options: {}, **params)
|
|
528
|
+
params = Voltaria::Internal::Types::Utils.normalize_keys(params)
|
|
529
|
+
query_param_names = %i[page page_size]
|
|
530
|
+
query_params = {}
|
|
531
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
532
|
+
query_params["page_size"] = params[:page_size] if params.key?(:page_size)
|
|
533
|
+
params = params.except(*query_param_names)
|
|
534
|
+
|
|
535
|
+
request = Voltaria::Internal::JSON::Request.new(
|
|
536
|
+
base_url: request_options[:base_url],
|
|
537
|
+
method: "GET",
|
|
538
|
+
path: "v2/clients/#{URI.encode_uri_component(params[:client_id].to_s)}/checklist-summaries",
|
|
539
|
+
query: query_params,
|
|
540
|
+
request_options: request_options
|
|
541
|
+
)
|
|
542
|
+
begin
|
|
543
|
+
response = @client.send(request)
|
|
544
|
+
rescue Net::HTTPRequestTimeout
|
|
545
|
+
raise Voltaria::Errors::TimeoutError
|
|
546
|
+
end
|
|
547
|
+
code = response.code.to_i
|
|
548
|
+
if code.between?(200, 299)
|
|
549
|
+
Voltaria::Types::PaginatedResponseChecklistSummaryPartnerResponse.load(response.body)
|
|
550
|
+
else
|
|
551
|
+
error_class = Voltaria::Errors::ResponseError.subclass_for_code(code)
|
|
552
|
+
raise error_class.new(response.body, code: code)
|
|
553
|
+
end
|
|
554
|
+
end
|
|
555
|
+
end
|
|
556
|
+
end
|
|
557
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
module Types
|
|
6
|
+
class ClientCreatePayload < Internal::Types::Model
|
|
7
|
+
field :correlation_id, -> { String }, optional: true, nullable: false
|
|
8
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :type, -> { Voltaria::Types::ClientTypeEnum }, optional: true, nullable: false
|
|
10
|
+
field :jurisdiction, -> { Voltaria::Types::JurisdictionEnum }, optional: false, nullable: false
|
|
11
|
+
field :company_number, -> { String }, optional: true, nullable: false
|
|
12
|
+
field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
module Types
|
|
6
|
+
class ClientDataCreatePayload < Internal::Types::Model
|
|
7
|
+
field :client_id, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :data, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
module Types
|
|
6
|
+
class ClientUserInviteRequest < Internal::Types::Model
|
|
7
|
+
field :client_id, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :first_name, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :last_name, -> { String }, optional: false, nullable: false
|
|
10
|
+
field :email, -> { String }, optional: false, nullable: false
|
|
11
|
+
field :phone, -> { String }, optional: true, nullable: false
|
|
12
|
+
field :role_type, -> { String }, optional: false, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
module Types
|
|
6
|
+
class LimitRequestCreatePayload < Internal::Types::Model
|
|
7
|
+
field :client_id, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :requested_limit, -> { Voltaria::Clients::Types::LimitRequestCreatePayloadRequestedLimit }, optional: false, nullable: false
|
|
9
|
+
field :reason, -> { String }, optional: false, nullable: false
|
|
10
|
+
field :waiver_request, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Voltaria
|
|
4
|
+
module Clients
|
|
5
|
+
module Types
|
|
6
|
+
# The requested credit limit amount
|
|
7
|
+
class LimitRequestCreatePayloadRequestedLimit < Internal::Types::Model
|
|
8
|
+
extend Voltaria::Internal::Types::Union
|
|
9
|
+
|
|
10
|
+
member -> { Integer }
|
|
11
|
+
member -> { String }
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|