payabli 3.0.6 → 3.0.7

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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/lib/payabli/case_management/client.rb +662 -0
  4. data/lib/payabli/case_management/types/assign_case_request.rb +15 -0
  5. data/lib/payabli/case_management/types/create_bank_account_change_case_request.rb +31 -0
  6. data/lib/payabli/case_management/types/list_cases_case_management_request.rb +17 -0
  7. data/lib/payabli/case_management/types/list_messages_case_management_request.rb +15 -0
  8. data/lib/payabli/case_management/types/post_case_message_request.rb +13 -0
  9. data/lib/payabli/case_management/types/transition_case_request.rb +17 -0
  10. data/lib/payabli/case_management/types/upload_attachment_case_management_request.rb +11 -0
  11. data/lib/payabli/case_management/types/validate_bank_account_change_request.rb +23 -0
  12. data/lib/payabli/client.rb +6 -1
  13. data/lib/payabli/money_out/client.rb +17 -3
  14. data/lib/payabli/money_out/types/capture_all_out_request.rb +2 -0
  15. data/lib/payabli/money_out/types/capture_out_request.rb +2 -0
  16. data/lib/payabli/money_out/types/request_out_authorize.rb +2 -0
  17. data/lib/payabli/notification/client.rb +2 -2
  18. data/lib/payabli/types/attachment_response.rb +24 -0
  19. data/lib/payabli/types/available_transitions_response.rb +10 -0
  20. data/lib/payabli/types/bank_account_change_parameters.rb +30 -0
  21. data/lib/payabli/types/bank_account_change_parameters_type.rb +11 -0
  22. data/lib/payabli/types/bank_account_services.rb +12 -0
  23. data/lib/payabli/types/bank_review_decision_reason.rb +14 -0
  24. data/lib/payabli/types/bank_verification_metadata.rb +14 -0
  25. data/lib/payabli/types/case_list_response.rb +12 -0
  26. data/lib/payabli/types/case_list_summary.rb +20 -0
  27. data/lib/payabli/types/case_management_bank_account_function.rb +17 -0
  28. data/lib/payabli/types/case_metadata.rb +12 -0
  29. data/lib/payabli/types/case_response.rb +50 -0
  30. data/lib/payabli/types/case_state.rb +22 -0
  31. data/lib/payabli/types/case_trigger.rb +22 -0
  32. data/lib/payabli/types/case_type.rb +11 -0
  33. data/lib/payabli/types/message_page.rb +12 -0
  34. data/lib/payabli/types/money_in_service.rb +17 -0
  35. data/lib/payabli/types/money_out_service.rb +17 -0
  36. data/lib/payabli/types/notification_content.rb +1 -1
  37. data/lib/payabli/types/notification_content_event_type.rb +14 -80
  38. data/lib/payabli/types/notification_standard_request_content_event_type.rb +97 -111
  39. data/lib/payabli/types/org_ref.rb +12 -0
  40. data/lib/payabli/types/paypoint_ref.rb +12 -0
  41. data/lib/payabli/types/posted_message.rb +14 -0
  42. data/lib/payabli/types/pre_creation_validation_result.rb +16 -0
  43. data/lib/payabli/types/review_decision_metadata.rb +12 -0
  44. data/lib/payabli/types/room_message_view.rb +18 -0
  45. data/lib/payabli/types/state_transition_response.rb +26 -0
  46. data/lib/payabli/types/user_ref.rb +12 -0
  47. data/lib/payabli/types/verification_code.rb +14 -0
  48. data/lib/payabli/version.rb +1 -1
  49. data/lib/payabli.rb +36 -0
  50. data/reference.md +1182 -4
  51. data/wiremock/wiremock-mappings.json +418 -1
  52. metadata +38 -2
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class AssignCaseRequest < Internal::Types::Model
7
+ field :uuid, -> { String }, optional: false, nullable: false
8
+
9
+ field :assignee_id, -> { Integer }, optional: false, nullable: false, api_name: "assigneeId"
10
+
11
+ field :reason, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class CreateBankAccountChangeCaseRequest < Internal::Types::Model
7
+ field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
8
+
9
+ field :nickname, -> { String }, optional: false, nullable: false
10
+
11
+ field :bank_name, -> { String }, optional: false, nullable: false, api_name: "bankName"
12
+
13
+ field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
14
+
15
+ field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
16
+
17
+ field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
18
+
19
+ field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
20
+
21
+ field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
22
+
23
+ field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
24
+
25
+ field :default, -> { Internal::Types::Boolean }, optional: false, nullable: false
26
+
27
+ field :schedule_for, -> { String }, optional: true, nullable: false, api_name: "scheduleFor"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class ListCasesCaseManagementRequest < Internal::Types::Model
7
+ field :organization_id, -> { Integer }, optional: false, nullable: false, api_name: "organizationId"
8
+
9
+ field :from_record, -> { Integer }, optional: true, nullable: false, api_name: "fromRecord"
10
+
11
+ field :limit_record, -> { Integer }, optional: true, nullable: false, api_name: "limitRecord"
12
+
13
+ field :sort_by, -> { String }, optional: true, nullable: false, api_name: "sortBy"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class ListMessagesCaseManagementRequest < Internal::Types::Model
7
+ field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
8
+
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+
11
+ field :cursor, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class PostCaseMessageRequest < Internal::Types::Model
7
+ field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
8
+
9
+ field :content, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class TransitionCaseRequest < Internal::Types::Model
7
+ field :uuid, -> { String }, optional: false, nullable: false
8
+
9
+ field :trigger, -> { Payabli::Types::CaseTrigger }, optional: false, nullable: false
10
+
11
+ field :reason, -> { String }, optional: false, nullable: false
12
+
13
+ field :decline_reason, -> { Payabli::Types::BankReviewDecisionReason }, optional: true, nullable: false, api_name: "declineReason"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class UploadAttachmentCaseManagementRequest < Internal::Types::Model
7
+ field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module CaseManagement
5
+ module Types
6
+ class ValidateBankAccountChangeRequest < Internal::Types::Model
7
+ field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
8
+
9
+ field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
10
+
11
+ field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
12
+
13
+ field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
14
+
15
+ field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
16
+
17
+ field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
18
+
19
+ field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
20
+ end
21
+ end
22
+ end
23
+ end
@@ -32,7 +32,7 @@ module Payabli
32
32
  @raw_client = Payabli::Internal::Http::RawClient.new(
33
33
  base_url: base_url || Payabli::Environment::SANDBOX,
34
34
  headers: {
35
- "User-Agent" => "payabli/3.0.6",
35
+ "User-Agent" => "payabli/3.0.7",
36
36
  "X-Fern-Language" => "Ruby"
37
37
  },
38
38
  auth_provider: Payabli::Internal::RoutingAuthProvider.new(
@@ -207,5 +207,10 @@ module Payabli
207
207
  def charge_backs
208
208
  @charge_backs ||= Payabli::ChargeBacks::Client.new(client: @raw_client)
209
209
  end
210
+
211
+ # @return [Payabli::CaseManagement::Client]
212
+ def case_management
213
+ @case_management ||= Payabli::CaseManagement::Client.new(client: @raw_client)
214
+ end
210
215
  end
211
216
  end
@@ -18,8 +18,8 @@ module Payabli
18
18
  # When `autoCapture` is `true`, Payabli captures the transaction asynchronously after authorization. The response
19
19
  # confirms only that the transaction was authorized; it doesn't confirm that capture succeeded. To confirm
20
20
  # capture, listen for the
21
- # [`payout_transaction_approvedcaptured`](/developers/api-reference/webhooks-overview/payout-transaction-approved-captured)
22
- # webhook event.
21
+ # [`payout_transaction_approvedcaptured`](/developers/webhooks/payout-transaction-approved-captured) webhook
22
+ # event.
23
23
  #
24
24
  # If a velocity fraud alert is triggered, the endpoint returns a `202` response with `responseCode` `9051`, and
25
25
  # the authorization is held for risk review rather than rejected. If a risk policy blocks the transaction, the
@@ -40,6 +40,7 @@ module Payabli
40
40
  # @option params [Boolean, nil] :allow_duplicated_bills
41
41
  # @option params [Boolean, nil] :do_not_create_bills
42
42
  # @option params [Boolean, nil] :force_vendor_creation
43
+ # @option params [Boolean, nil] :same_day_ach
43
44
  # @option params [String, nil] :idempotency_key
44
45
  #
45
46
  # @example
@@ -66,13 +67,14 @@ module Payabli
66
67
  def authorize_out(request_options: {}, **params)
67
68
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
68
69
  request_data = Payabli::MoneyOut::Types::RequestOutAuthorize.new(params).to_h
69
- non_body_param_names = %w[allowDuplicatedBills doNotCreateBills forceVendorCreation idempotencyKey]
70
+ non_body_param_names = %w[allowDuplicatedBills doNotCreateBills forceVendorCreation sameDayACH idempotencyKey]
70
71
  body = request_data.except(*non_body_param_names)
71
72
 
72
73
  query_params = {}
73
74
  query_params["allowDuplicatedBills"] = params[:allow_duplicated_bills] if params.key?(:allow_duplicated_bills)
74
75
  query_params["doNotCreateBills"] = params[:do_not_create_bills] if params.key?(:do_not_create_bills)
75
76
  query_params["forceVendorCreation"] = params[:force_vendor_creation] if params.key?(:force_vendor_creation)
77
+ query_params["sameDayACH"] = params[:same_day_ach] if params.key?(:same_day_ach)
76
78
 
77
79
  headers = {}
78
80
  headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
@@ -228,6 +230,7 @@ module Payabli
228
230
  # @option request_options [Hash{String => Object}] :additional_query_parameters
229
231
  # @option request_options [Hash{String => Object}] :additional_body_parameters
230
232
  # @option request_options [Integer] :timeout_in_seconds
233
+ # @option params [Boolean, nil] :auto_convert_same_day_ach
231
234
  # @option params [String, nil] :idempotency_key
232
235
  #
233
236
  # @example
@@ -236,6 +239,11 @@ module Payabli
236
239
  # @return [Payabli::Types::CaptureAllOutResponse]
237
240
  def capture_all_out(request_options: {}, **params)
238
241
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
242
+ query_param_names = %i[auto_convert_same_day_ach]
243
+ query_params = {}
244
+ query_params["autoConvertSameDayAch"] = params[:auto_convert_same_day_ach] if params.key?(:auto_convert_same_day_ach)
245
+ params = params.except(*query_param_names)
246
+
239
247
  headers = {}
240
248
  headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
241
249
 
@@ -245,6 +253,7 @@ module Payabli
245
253
  method: "POST",
246
254
  path: "MoneyOut/captureAll",
247
255
  headers: headers,
256
+ query: query_params,
248
257
  body: params,
249
258
  request_options: request_options
250
259
  )
@@ -277,6 +286,7 @@ module Payabli
277
286
  # @option request_options [Hash{String => Object}] :additional_body_parameters
278
287
  # @option request_options [Integer] :timeout_in_seconds
279
288
  # @option params [String] :reference_id
289
+ # @option params [Boolean, nil] :auto_convert_same_day_ach
280
290
  # @option params [String, nil] :idempotency_key
281
291
  #
282
292
  # @example
@@ -285,6 +295,9 @@ module Payabli
285
295
  # @return [Payabli::Types::AuthCapturePayoutResponse]
286
296
  def capture_out(request_options: {}, **params)
287
297
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
298
+ query_params = {}
299
+ query_params["autoConvertSameDayAch"] = params[:auto_convert_same_day_ach] if params.key?(:auto_convert_same_day_ach)
300
+
288
301
  headers = {}
289
302
  headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
290
303
 
@@ -294,6 +307,7 @@ module Payabli
294
307
  method: "GET",
295
308
  path: "MoneyOut/capture/#{URI.encode_uri_component(params[:reference_id].to_s)}",
296
309
  headers: headers,
310
+ query: query_params,
297
311
  request_options: request_options
298
312
  )
299
313
  begin
@@ -4,6 +4,8 @@ module Payabli
4
4
  module MoneyOut
5
5
  module Types
6
6
  class CaptureAllOutRequest < Internal::Types::Model
7
+ field :auto_convert_same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "autoConvertSameDayAch"
8
+
7
9
  field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
8
10
 
9
11
  field :body, -> { Internal::Types::Array[String] }, optional: false, nullable: false
@@ -6,6 +6,8 @@ module Payabli
6
6
  class CaptureOutRequest < Internal::Types::Model
7
7
  field :reference_id, -> { String }, optional: false, nullable: false, api_name: "referenceId"
8
8
 
9
+ field :auto_convert_same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "autoConvertSameDayAch"
10
+
9
11
  field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
10
12
  end
11
13
  end
@@ -10,6 +10,8 @@ module Payabli
10
10
 
11
11
  field :force_vendor_creation, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "forceVendorCreation"
12
12
 
13
+ field :same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sameDayACH"
14
+
13
15
  field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
14
16
 
15
17
  field :entry_point, -> { String }, optional: false, nullable: false, api_name: "entryPoint"
@@ -23,7 +23,7 @@ module Payabli
23
23
  # @example
24
24
  # client.notification.add_notification(
25
25
  # content: {
26
- # event_type: "CreatedApplication"
26
+ # event_type: "createdapplication"
27
27
  # },
28
28
  # frequency: "untilcancelled",
29
29
  # method_: "web",
@@ -113,7 +113,7 @@ module Payabli
113
113
  # client.notification.update_notification(
114
114
  # n_id: "1717",
115
115
  # content: {
116
- # event_type: "ApprovedPayment"
116
+ # event_type: "approvedpayment"
117
117
  # },
118
118
  # frequency: "untilcancelled",
119
119
  # method_: "email",
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A file attached to a case.
6
+ class AttachmentResponse < Internal::Types::Model
7
+ field :uuid, -> { String }, optional: false, nullable: false
8
+
9
+ field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
10
+
11
+ field :file_type, -> { String }, optional: false, nullable: false, api_name: "fileType"
12
+
13
+ field :filename, -> { String }, optional: false, nullable: false
14
+
15
+ field :file_url, -> { String }, optional: false, nullable: false, api_name: "fileUrl"
16
+
17
+ field :uploaded_at, -> { String }, optional: false, nullable: false, api_name: "uploadedAt"
18
+
19
+ field :uploaded_by, -> { String }, optional: false, nullable: false, api_name: "uploadedBy"
20
+
21
+ field :uploaded_by_user, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "uploadedByUser"
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The transition actions currently available on a case. Empty when no user action is available.
6
+ class AvailableTransitionsResponse < Internal::Types::Model
7
+ field :transitions, -> { Internal::Types::Array[Payabli::Types::CaseTrigger] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The bank-account-change details stored on a case. The raw account and
6
+ # routing numbers are write-only and never appear here — only a vault token
7
+ # (`bankToken`) and non-sensitive details.
8
+ class BankAccountChangeParameters < Internal::Types::Model
9
+ field :type, -> { Payabli::Types::BankAccountChangeParametersType }, optional: false, nullable: false
10
+
11
+ field :nickname, -> { String }, optional: false, nullable: false
12
+
13
+ field :bank_name, -> { String }, optional: false, nullable: false, api_name: "bankName"
14
+
15
+ field :bank_token, -> { String }, optional: false, nullable: false, api_name: "bankToken"
16
+
17
+ field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
18
+
19
+ field :bank_account_holder_name, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderName"
20
+
21
+ field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
22
+
23
+ field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
24
+
25
+ field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
26
+
27
+ field :default, -> { Internal::Types::Boolean }, optional: false, nullable: false
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module BankAccountChangeParametersType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ BANK_ACCOUNT_CHANGE = "BankAccountChange"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The Pay In and Pay Out services the bank account applies to. Include at least one entry across the two lists.
6
+ class BankAccountServices < Internal::Types::Model
7
+ field :money_in, -> { Internal::Types::Array[Payabli::Types::MoneyInService] }, optional: true, nullable: false, api_name: "moneyIn"
8
+
9
+ field :money_out, -> { Internal::Types::Array[Payabli::Types::MoneyOutService] }, optional: true, nullable: false, api_name: "moneyOut"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module BankReviewDecisionReason
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ CREDIT_DECLINE = "CreditDecline"
9
+ FRAUD_DECLINE = "FraudDecline"
10
+ KYB_KYC_DECLINE = "KybKycDecline"
11
+ WITHDRAWN = "Withdrawn"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The outcome of automatic bank account verification.
6
+ class BankVerificationMetadata < Internal::Types::Model
7
+ field :verification_result, -> { Payabli::Types::VerificationCode }, optional: false, nullable: false, api_name: "verificationResult"
8
+
9
+ field :account_response_code, -> { Payabli::Types::VerificationCode }, optional: false, nullable: true, api_name: "accountResponseCode"
10
+
11
+ field :customer_response_code, -> { Payabli::Types::VerificationCode }, optional: false, nullable: true, api_name: "customerResponseCode"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A paginated list of cases.
6
+ class CaseListResponse < Internal::Types::Model
7
+ field :summary, -> { Payabli::Types::CaseListSummary }, optional: false, nullable: false
8
+
9
+ field :records, -> { Internal::Types::Array[Payabli::Types::CaseResponse] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Pagination and totals for a case list response.
6
+ class CaseListSummary < Internal::Types::Model
7
+ field :total_records, -> { Integer }, optional: false, nullable: false, api_name: "totalRecords"
8
+
9
+ field :total_amount, -> { Integer }, optional: false, nullable: false, api_name: "totalAmount"
10
+
11
+ field :total_net_amount, -> { Integer }, optional: false, nullable: false, api_name: "totalNetAmount"
12
+
13
+ field :total_pages, -> { Integer }, optional: false, nullable: false, api_name: "totalPages"
14
+
15
+ field :page_size, -> { Integer }, optional: false, nullable: false, api_name: "pageSize"
16
+
17
+ field :pageidentifier, -> { String }, optional: false, nullable: true
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseManagementBankAccountFunction
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ DEPOSITS = "Deposits"
9
+ WITHDRAWALS = "Withdrawals"
10
+ DEPOSITS_AND_WITHDRAWALS = "DepositsAndWithdrawals"
11
+ REMITTANCES = "Remittances"
12
+ REMITTANCES_AND_DEPOSITS = "RemittancesAndDeposits"
13
+ REMITTANCES_AND_WITHDRAWALS = "RemittancesAndWithdrawals"
14
+ REMITTANCES_DEPOSITS_AND_WITHDRAWALS = "RemittancesDepositsAndWithdrawals"
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Case metadata, populated as the case progresses. Null until verification completes.
6
+ class CaseMetadata < Internal::Types::Model
7
+ field :verification, -> { Payabli::Types::BankVerificationMetadata }, optional: false, nullable: true
8
+
9
+ field :review_decision, -> { Payabli::Types::ReviewDecisionMetadata }, optional: false, nullable: true, api_name: "reviewDecision"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A bank-account-change case.
6
+ class CaseResponse < Internal::Types::Model
7
+ field :uuid, -> { String }, optional: false, nullable: false
8
+
9
+ field :state, -> { Payabli::Types::CaseState }, optional: false, nullable: false
10
+
11
+ field :case_type, -> { Payabli::Types::CaseType }, optional: false, nullable: false, api_name: "caseType"
12
+
13
+ field :parameters, -> { Payabli::Types::BankAccountChangeParameters }, optional: false, nullable: false
14
+
15
+ field :org_id, -> { Integer }, optional: false, nullable: false, api_name: "orgId"
16
+
17
+ field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
18
+
19
+ field :schedule_for, -> { String }, optional: false, nullable: true, api_name: "scheduleFor"
20
+
21
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
22
+
23
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
24
+
25
+ field :created_by, -> { Integer }, optional: false, nullable: false, api_name: "createdBy"
26
+
27
+ field :assignee_id, -> { Integer }, optional: false, nullable: true, api_name: "assigneeId"
28
+
29
+ field :last_reviewed_by_id, -> { Integer }, optional: false, nullable: true, api_name: "lastReviewedById"
30
+
31
+ field :state_history, -> { Internal::Types::Array[Payabli::Types::StateTransitionResponse] }, optional: false, nullable: false, api_name: "stateHistory"
32
+
33
+ field :attachments, -> { Internal::Types::Array[Payabli::Types::AttachmentResponse] }, optional: false, nullable: false
34
+
35
+ field :room_id, -> { Integer }, optional: false, nullable: true, api_name: "roomId"
36
+
37
+ field :metadata, -> { Payabli::Types::CaseMetadata }, optional: false, nullable: true
38
+
39
+ field :org, -> { Payabli::Types::OrgRef }, optional: false, nullable: true
40
+
41
+ field :paypoint, -> { Payabli::Types::PaypointRef }, optional: false, nullable: true
42
+
43
+ field :created_by_user, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "createdByUser"
44
+
45
+ field :assignee, -> { Payabli::Types::UserRef }, optional: false, nullable: true
46
+
47
+ field :last_reviewed_by, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "lastReviewedBy"
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseState
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ SUBMITTED = "Submitted"
9
+ VERIFYING = "Verifying"
10
+ PENDING_REVIEW = "PendingReview"
11
+ ASSIGNED = "Assigned"
12
+ PENDING_RESPONSE = "PendingResponse"
13
+ ESCALATED = "Escalated"
14
+ APPROVED = "Approved"
15
+ AUTO_APPROVED = "AutoApproved"
16
+ PENDING_COMPLETION = "PendingCompletion"
17
+ COMPLETED = "Completed"
18
+ DENIED = "Denied"
19
+ ERROR = "Error"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseTrigger
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ SUBMIT = "Submit"
9
+ VERIFY = "Verify"
10
+ REQUEST_REVIEW = "RequestReview"
11
+ ASSIGN = "Assign"
12
+ REQUEST_RESPONSE = "RequestResponse"
13
+ ESCALATE = "Escalate"
14
+ APPROVE = "Approve"
15
+ AUTO_APPROVE = "AutoApprove"
16
+ REQUEST_COMPLETION = "RequestCompletion"
17
+ COMPLETE = "Complete"
18
+ DENY = "Deny"
19
+ ERROR = "Error"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ BANK_ACCOUNT_CHANGE = "BankAccountChange"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A cursor-paginated page of case notes, ordered oldest to newest.
6
+ class MessagePage < Internal::Types::Model
7
+ field :messages, -> { Internal::Types::Array[Payabli::Types::RoomMessageView] }, optional: false, nullable: false
8
+
9
+ field :next_cursor, -> { String }, optional: false, nullable: true, api_name: "nextCursor"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module MoneyInService
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ ACH = "Ach"
9
+ CARD = "Card"
10
+ CLOUD = "Cloud"
11
+ DEVICE = "Device"
12
+ WALLET = "Wallet"
13
+ CASH = "Cash"
14
+ CHECK = "Check"
15
+ end
16
+ end
17
+ end