payabli 3.0.6 → 3.0.8

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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +7 -6
  3. data/lib/payabli/bill/client.rb +8 -2
  4. data/lib/payabli/billing/client.rb +129 -0
  5. data/lib/payabli/billing/types/get_profile_billing_request_entity_type.rb +16 -0
  6. data/lib/payabli/billing/types/get_profile_billing_request_service_group.rb +14 -0
  7. data/lib/payabli/billing/types/list_billing_profiles_request.rb +23 -0
  8. data/lib/payabli/boarding/client.rb +4 -1
  9. data/lib/payabli/case_management/client.rb +662 -0
  10. data/lib/payabli/case_management/types/assign_case_request.rb +15 -0
  11. data/lib/payabli/case_management/types/create_bank_account_change_case_request.rb +31 -0
  12. data/lib/payabli/case_management/types/list_cases_case_management_request.rb +17 -0
  13. data/lib/payabli/case_management/types/list_messages_case_management_request.rb +15 -0
  14. data/lib/payabli/case_management/types/post_case_message_request.rb +13 -0
  15. data/lib/payabli/case_management/types/transition_case_request.rb +17 -0
  16. data/lib/payabli/case_management/types/upload_attachment_case_management_request.rb +11 -0
  17. data/lib/payabli/case_management/types/validate_bank_account_change_request.rb +23 -0
  18. data/lib/payabli/client.rb +11 -1
  19. data/lib/payabli/customer/client.rb +4 -1
  20. data/lib/payabli/hosted_payment_pages/client.rb +4 -1
  21. data/lib/payabli/internal/http/raw_client.rb +15 -2
  22. data/lib/payabli/internal/json/request.rb +7 -5
  23. data/lib/payabli/line_item/client.rb +4 -1
  24. data/lib/payabli/money_in/client.rb +55 -8
  25. data/lib/payabli/money_out/client.rb +17 -3
  26. data/lib/payabli/money_out/types/capture_all_out_request.rb +2 -0
  27. data/lib/payabli/money_out/types/capture_out_request.rb +2 -0
  28. data/lib/payabli/money_out/types/request_out_authorize.rb +2 -0
  29. data/lib/payabli/notification/client.rb +10 -7
  30. data/lib/payabli/ocr/client.rb +8 -2
  31. data/lib/payabli/organization/client.rb +5 -5
  32. data/lib/payabli/organization/types/organization_data.rb +2 -2
  33. data/lib/payabli/payment_link/client.rb +8 -2
  34. data/lib/payabli/paypoint/client.rb +4 -1
  35. data/lib/payabli/types/attachment_response.rb +24 -0
  36. data/lib/payabli/types/auth_capture_payout_response_data.rb +1 -1
  37. data/lib/payabli/types/available_transitions_response.rb +10 -0
  38. data/lib/payabli/types/bank_account_change_parameters.rb +30 -0
  39. data/lib/payabli/types/bank_account_change_parameters_type.rb +11 -0
  40. data/lib/payabli/types/bank_account_services.rb +12 -0
  41. data/lib/payabli/types/bank_review_decision_reason.rb +14 -0
  42. data/lib/payabli/types/bank_verification_metadata.rb +14 -0
  43. data/lib/payabli/types/billable_event.rb +29 -0
  44. data/lib/payabli/types/billing_entity.rb +13 -0
  45. data/lib/payabli/types/billing_entity_named.rb +13 -0
  46. data/lib/payabli/types/billing_profile_query_response.rb +14 -0
  47. data/lib/payabli/types/billing_profile_record.rb +32 -0
  48. data/lib/payabli/types/billing_profile_response.rb +31 -0
  49. data/lib/payabli/types/billing_profile_summary.rb +16 -0
  50. data/lib/payabli/types/case_list_response.rb +12 -0
  51. data/lib/payabli/types/case_list_summary.rb +20 -0
  52. data/lib/payabli/types/case_management_bank_account_function.rb +17 -0
  53. data/lib/payabli/types/case_metadata.rb +12 -0
  54. data/lib/payabli/types/case_response.rb +50 -0
  55. data/lib/payabli/types/case_state.rb +22 -0
  56. data/lib/payabli/types/case_trigger.rb +22 -0
  57. data/lib/payabli/types/case_type.rb +11 -0
  58. data/lib/payabli/types/collection_schedule_value.rb +23 -0
  59. data/lib/payabli/types/device_query_record.rb +8 -0
  60. data/lib/payabli/types/entities_assigned.rb +17 -0
  61. data/lib/payabli/types/entity_type_name.rb +17 -0
  62. data/lib/payabli/types/entity_type_value.rb +23 -0
  63. data/lib/payabli/types/event_group_value.rb +23 -0
  64. data/lib/payabli/types/event_source_value.rb +23 -0
  65. data/lib/payabli/types/event_type_value.rb +23 -0
  66. data/lib/payabli/types/fee_schedule.rb +47 -0
  67. data/lib/payabli/types/fee_type_name.rb +12 -0
  68. data/lib/payabli/types/fee_type_value.rb +23 -0
  69. data/lib/payabli/types/message_page.rb +12 -0
  70. data/lib/payabli/types/money_in_service.rb +17 -0
  71. data/lib/payabli/types/money_out_service.rb +17 -0
  72. data/lib/payabli/types/notification_content.rb +1 -1
  73. data/lib/payabli/types/notification_content_event_type.rb +14 -80
  74. data/lib/payabli/types/notification_standard_request_content_event_type.rb +97 -111
  75. data/lib/payabli/types/org_ref.rb +12 -0
  76. data/lib/payabli/types/passthrough_value.rb +23 -0
  77. data/lib/payabli/types/paypoint_ref.rb +12 -0
  78. data/lib/payabli/types/posted_message.rb +14 -0
  79. data/lib/payabli/types/pre_creation_validation_result.rb +16 -0
  80. data/lib/payabli/types/query_payout_transaction_records_item.rb +2 -0
  81. data/lib/payabli/types/query_payout_transaction_records_item_allowed_actions_item.rb +13 -0
  82. data/lib/payabli/types/region_type_value.rb +23 -0
  83. data/lib/payabli/types/review_decision_metadata.rb +12 -0
  84. data/lib/payabli/types/room_message_view.rb +18 -0
  85. data/lib/payabli/types/service_group_value.rb +23 -0
  86. data/lib/payabli/types/service_type_value.rb +23 -0
  87. data/lib/payabli/types/service_value.rb +23 -0
  88. data/lib/payabli/types/service_vertical_name.rb +13 -0
  89. data/lib/payabli/types/state_transition_response.rb +26 -0
  90. data/lib/payabli/types/user_ref.rb +12 -0
  91. data/lib/payabli/types/verification_code.rb +14 -0
  92. data/lib/payabli/user/client.rb +8 -2
  93. data/lib/payabli/vendor/client.rb +8 -2
  94. data/lib/payabli/version.rb +1 -1
  95. data/lib/payabli.rb +64 -0
  96. data/reference.md +1734 -421
  97. data/wiremock/wiremock-mappings.json +502 -9
  98. metadata +66 -2
@@ -104,11 +104,11 @@ module Payabli
104
104
  # @option request_options [Hash{String => Object}] :additional_query_parameters
105
105
  # @option request_options [Hash{String => Object}] :additional_body_parameters
106
106
  # @option request_options [Integer] :timeout_in_seconds
107
- # @option params [Integer] :org_id
107
+ # @option params [Integer] :org_id_path_param
108
108
  #
109
109
  # @example
110
110
  # client.organization.edit_organization(
111
- # org_id: 123,
111
+ # org_id_path_param: 123,
112
112
  # contacts: [{
113
113
  # contact_email: "herman@hermanscoatings.com",
114
114
  # contact_name: "Herman Martinez",
@@ -119,7 +119,7 @@ module Payabli
119
119
  # org_city: "Johnson City",
120
120
  # org_country: "US",
121
121
  # org_entry_name: "pilgrim-planner",
122
- # organization_data_org_id: "123",
122
+ # org_id: "123",
123
123
  # org_name: "Pilgrim Planner",
124
124
  # org_state: "TN",
125
125
  # org_timezone: -5,
@@ -132,14 +132,14 @@ module Payabli
132
132
  def edit_organization(request_options: {}, **params)
133
133
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
134
134
  request_data = Payabli::Organization::Types::OrganizationData.new(params).to_h
135
- non_body_param_names = %w[orgId]
135
+ non_body_param_names = %w[orgIdPathParam]
136
136
  body = request_data.except(*non_body_param_names)
137
137
 
138
138
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
139
139
  request = Payabli::Internal::JSON::Request.new(
140
140
  base_url: request_options[:base_url],
141
141
  method: "PUT",
142
- path: "Organization/#{URI.encode_uri_component(params[:org_id].to_s)}",
142
+ path: "Organization/#{URI.encode_uri_component(params[:org_id_path_param].to_s)}",
143
143
  headers: headers,
144
144
  body: body,
145
145
  request_options: request_options
@@ -4,7 +4,7 @@ module Payabli
4
4
  module Organization
5
5
  module Types
6
6
  class OrganizationData < Internal::Types::Model
7
- field :org_id, -> { Integer }, optional: false, nullable: false, api_name: "orgId"
7
+ field :org_id_path_param, -> { Integer }, optional: false, nullable: false, api_name: "orgIdPathParam"
8
8
 
9
9
  field :services, -> { Internal::Types::Array[Payabli::Types::ServiceCost] }, optional: true, nullable: false
10
10
 
@@ -24,7 +24,7 @@ module Payabli
24
24
 
25
25
  field :org_entry_name, -> { String }, optional: true, nullable: false, api_name: "orgEntryName"
26
26
 
27
- field :organization_data_org_id, -> { String }, optional: true, nullable: false, api_name: "orgId"
27
+ field :org_id, -> { String }, optional: true, nullable: false, api_name: "orgId"
28
28
 
29
29
  field :org_logo, -> { Payabli::Types::FileContent }, optional: true, nullable: false, api_name: "orgLogo"
30
30
 
@@ -393,13 +393,16 @@ module Payabli
393
393
  # @return [Payabli::Types::PayabliApiResponsePaymentLinks]
394
394
  def push_pay_link_from_id(request_options: {}, **params)
395
395
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
396
+ path_param_names = %i[pay_link_id]
397
+ body_params = params.except(*path_param_names)
398
+
396
399
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
397
400
  request = Payabli::Internal::JSON::Request.new(
398
401
  base_url: request_options[:base_url],
399
402
  method: "POST",
400
403
  path: "PaymentLink/push/#{URI.encode_uri_component(params[:pay_link_id].to_s)}",
401
404
  headers: headers,
402
- body: Payabli::Types::PushPayLinkRequest.new(params).to_h,
405
+ body: Payabli::Types::PushPayLinkRequest.new(body_params).to_h,
403
406
  request_options: request_options
404
407
  )
405
408
  begin
@@ -816,13 +819,16 @@ module Payabli
816
819
  # @return [Payabli::Types::PayabliApiResponsePaymentLinks]
817
820
  def update_pay_link_out_from_id(request_options: {}, **params)
818
821
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
822
+ path_param_names = %i[paylink_id]
823
+ body_params = params.except(*path_param_names)
824
+
819
825
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
820
826
  request = Payabli::Internal::JSON::Request.new(
821
827
  base_url: request_options[:base_url],
822
828
  method: "PATCH",
823
829
  path: "PaymentLink/updateOut/#{URI.encode_uri_component(params[:paylink_id].to_s)}",
824
830
  headers: headers,
825
- body: Payabli::Types::PaymentPageRequestBodyOut.new(params).to_h,
831
+ body: Payabli::Types::PaymentPageRequestBodyOut.new(body_params).to_h,
826
832
  request_options: request_options
827
833
  )
828
834
  begin
@@ -105,13 +105,16 @@ module Payabli
105
105
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
106
106
  def save_logo(request_options: {}, **params)
107
107
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
108
+ path_param_names = %i[entry]
109
+ body_params = params.except(*path_param_names)
110
+
108
111
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
109
112
  request = Payabli::Internal::JSON::Request.new(
110
113
  base_url: request_options[:base_url],
111
114
  method: "PUT",
112
115
  path: "Paypoint/logo/#{URI.encode_uri_component(params[:entry].to_s)}",
113
116
  headers: headers,
114
- body: Payabli::Types::FileContent.new(params).to_h,
117
+ body: Payabli::Types::FileContent.new(body_params).to_h,
115
118
  request_options: request_options
116
119
  )
117
120
  begin
@@ -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
@@ -5,7 +5,7 @@ module Payabli
5
5
  class AuthCapturePayoutResponseData < Internal::Types::Model
6
6
  field :auth_code, -> { String }, optional: false, nullable: true, api_name: "authCode"
7
7
 
8
- field :reference_id, -> { String }, optional: false, nullable: false, api_name: "referenceId"
8
+ field :reference_id, -> { String }, optional: false, nullable: true, api_name: "referenceId"
9
9
 
10
10
  field :result_code, -> { Integer }, optional: false, nullable: false, api_name: "resultCode"
11
11
 
@@ -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,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A chargeable action covered by a billing profile, with the fee schedule(s)
6
+ # that apply to it.
7
+ class BillableEvent < Internal::Types::Model
8
+ field :id, -> { Integer }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: false, nullable: false
11
+
12
+ field :vertical, -> { Integer }, optional: false, nullable: false
13
+
14
+ field :service, -> { Integer }, optional: false, nullable: false
15
+
16
+ field :service_type, -> { Integer }, optional: false, nullable: false, api_name: "serviceType"
17
+
18
+ field :event_type, -> { Integer }, optional: false, nullable: false, api_name: "eventType"
19
+
20
+ field :event_group, -> { Integer }, optional: false, nullable: false, api_name: "eventGroup"
21
+
22
+ field :event_source, -> { Integer }, optional: false, nullable: false, api_name: "eventSource"
23
+
24
+ field :region_type, -> { Integer }, optional: false, nullable: false, api_name: "regionType"
25
+
26
+ field :fee_schedules, -> { Internal::Types::Array[Payabli::Types::FeeSchedule] }, optional: false, nullable: false, api_name: "feeSchedules"
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # An owning or participating entity, as returned by the View profile endpoint
6
+ # (`entityType` serialized as an integer).
7
+ class BillingEntity < Internal::Types::Model
8
+ field :entity_type, -> { Integer }, optional: false, nullable: false, api_name: "entityType"
9
+
10
+ field :entity_id, -> { Integer }, optional: false, nullable: false, api_name: "entityId"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # An owning entity, as returned by the List profiles endpoint (`entityType`
6
+ # serialized as a name).
7
+ class BillingEntityNamed < Internal::Types::Model
8
+ field :entity_type, -> { Payabli::Types::EntityTypeName }, optional: false, nullable: false, api_name: "entityType"
9
+
10
+ field :entity_id, -> { Integer }, optional: false, nullable: false, api_name: "entityId"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A page of billing profiles that belong to an organization, returned by the
6
+ # List profiles endpoint. This is the data behind the Profile Library table in
7
+ # the Payabli Portal.
8
+ class BillingProfileQueryResponse < Internal::Types::Model
9
+ field :summary, -> { Payabli::Types::BillingProfileSummary }, optional: false, nullable: false
10
+
11
+ field :records, -> { Internal::Types::Array[Payabli::Types::BillingProfileRecord] }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A single billing profile as it appears in the list.
6
+ class BillingProfileRecord < Internal::Types::Model
7
+ field :id, -> { Integer }, optional: false, nullable: false
8
+
9
+ field :version_id, -> { Integer }, optional: false, nullable: false, api_name: "versionId"
10
+
11
+ field :version_number, -> { Integer }, optional: false, nullable: false, api_name: "versionNumber"
12
+
13
+ field :business, -> { Payabli::Types::BillingEntityNamed }, optional: false, nullable: false
14
+
15
+ field :service_vertical, -> { Payabli::Types::ServiceVerticalName }, optional: false, nullable: false, api_name: "serviceVertical"
16
+
17
+ field :name, -> { String }, optional: false, nullable: false
18
+
19
+ field :fee_type, -> { Payabli::Types::FeeTypeName }, optional: false, nullable: false, api_name: "feeType"
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 :entities_assigned, -> { Payabli::Types::EntitiesAssigned }, optional: false, nullable: false, api_name: "entitiesAssigned"
26
+
27
+ field :parent_id, -> { String }, optional: false, nullable: false, api_name: "parentId"
28
+
29
+ field :count_of_events, -> { Integer }, optional: false, nullable: false, api_name: "countOfEvents"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A billing profile assigned to an entity, returned by the View profile
6
+ # endpoint. A profile is a named configuration of billable events, each with
7
+ # one or more fee schedules. Profiles are append-only versioned — every edit
8
+ # mints a new version.
9
+ class BillingProfileResponse < Internal::Types::Model
10
+ field :id, -> { Integer }, optional: false, nullable: false
11
+
12
+ field :version_id, -> { Integer }, optional: false, nullable: false, api_name: "versionId"
13
+
14
+ field :version_number, -> { Integer }, optional: false, nullable: false, api_name: "versionNumber"
15
+
16
+ field :business, -> { Payabli::Types::BillingEntity }, optional: false, nullable: false
17
+
18
+ field :name, -> { String }, optional: false, nullable: false
19
+
20
+ field :fee_type, -> { Integer }, optional: false, nullable: false, api_name: "feeType"
21
+
22
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
23
+
24
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
25
+
26
+ field :parent_id, -> { String }, optional: false, nullable: false, api_name: "parentId"
27
+
28
+ field :billable_events, -> { Internal::Types::Array[Payabli::Types::BillableEvent] }, optional: false, nullable: false, api_name: "billableEvents"
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Pagination summary for the profile list.
6
+ class BillingProfileSummary < Internal::Types::Model
7
+ field :page_identifier, -> { String }, optional: false, nullable: false, api_name: "pageIdentifier"
8
+
9
+ field :page_size, -> { Integer }, optional: false, nullable: false, api_name: "pageSize"
10
+
11
+ field :total_pages, -> { Integer }, optional: false, nullable: false, api_name: "totalPages"
12
+
13
+ field :total_records, -> { Integer }, optional: false, nullable: false, api_name: "totalRecords"
14
+ end
15
+ end
16
+ 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,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CollectionScheduleValue
6
+ # CollectionScheduleValue is an alias for Integer
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -45,11 +45,19 @@ module Payabli
45
45
 
46
46
  field :paypoint_entry, -> { String }, optional: false, nullable: true, api_name: "paypointEntry"
47
47
 
48
+ field :paypoint_logo, -> { String }, optional: false, nullable: true, api_name: "paypointLogo"
49
+
48
50
  field :external_paypoint_id, -> { String }, optional: false, nullable: true, api_name: "externalPaypointId"
49
51
 
50
52
  field :parent_org_id, -> { Integer }, optional: false, nullable: true, api_name: "parentOrgId"
51
53
 
52
54
  field :parent_org_name, -> { String }, optional: false, nullable: true, api_name: "parentOrgName"
55
+
56
+ field :parent_org_logo, -> { String }, optional: false, nullable: true, api_name: "parentOrgLogo"
57
+
58
+ field :transaction_count, -> { Integer }, optional: false, nullable: false, api_name: "transactionCount"
59
+
60
+ field :volume_processed, -> { Integer }, optional: false, nullable: false, api_name: "volumeProcessed"
53
61
  end
54
62
  end
55
63
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Counts of entities the profile is assigned to. Any non-zero count locks the
6
+ # profile from deletion in the Payabli Portal.
7
+ class EntitiesAssigned < Internal::Types::Model
8
+ field :organizations, -> { Integer }, optional: false, nullable: false
9
+
10
+ field :paypoints, -> { Integer }, optional: false, nullable: false
11
+
12
+ field :templates, -> { Integer }, optional: false, nullable: false
13
+
14
+ field :applications, -> { Integer }, optional: false, nullable: false
15
+ end
16
+ end
17
+ end