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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4be50a5d248c6bead3079413803be2b8dc5633066dde2d0cf30aeabb022dc22b
4
- data.tar.gz: 0a41703fb012562d9bdc614c4046d32cbe16952bffc4bed7dd94a44cfb97a718
3
+ metadata.gz: 7cea61d10b3cafacb06c10380c78c3614ef5567afe7daeca9b59b6395da35140
4
+ data.tar.gz: 2583dd669a4c9927bbd4d70cde26346ae9fc8767e1cffe63e51392cc377305e6
5
5
  SHA512:
6
- metadata.gz: cf9edd3022ddf76cb022e634ffb7c90ce56e665ce11bd79ea8649d3d70dc4a01e47ccc2c372e173e9b91e6af0a669006e44b8e35677c6344cea475c141d48556
7
- data.tar.gz: 3a08c3b7d29ae04ec8eadaed4afb2f26aa7d18b940b64c5720d923b9cb2b9d26fc11b629e505bb05dabf5b522ba021045c8c3085e6645bee5f017c1646d35117
6
+ metadata.gz: 1c9f0e871ea5bea7767c60a3adc6a3aef47e847288bf9a956500219b65e11f5154a826ecc67f8a52d017e01a3258fb945b7ae4cd22370a7cb02de6c719f363f1
7
+ data.tar.gz: f2bea200f260b7ab5b473647131f29711b24bee0cf42cb9ebffbb73a45a4895b4ff4c7271a3f97437e45317e583b288b54d1d212905af8fe2af9ab760dd2873f
data/.fern/metadata.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
- "cliVersion": "5.56.0",
2
+ "cliVersion": "5.95.1",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
- "generatorVersion": "1.20.1",
4
+ "generatorVersion": "1.23.0",
5
5
  "generatorConfig": {
6
6
  "enableWireTests": true,
7
- "rubocopVariableNumberStyle": "snake_case"
7
+ "rubocopVariableNumberStyle": "snake_case",
8
+ "respectOptionalRequestBody": true
8
9
  },
9
- "originGitCommit": "bba6b6215757725a8aada77eabcb84166221f24e",
10
+ "originGitCommit": "c0d928adb5a06dd2f0f02ec1e68e0159c230e3b6",
10
11
  "originGitCommitIsDirty": true,
11
12
  "invokedBy": "ci",
12
- "requestedVersion": "3.0.6",
13
+ "requestedVersion": "3.0.8",
13
14
  "ciProvider": "github",
14
- "sdkVersion": "3.0.6"
15
+ "sdkVersion": "3.0.8"
15
16
  }
@@ -152,13 +152,16 @@ module Payabli
152
152
  # @return [Payabli::Types::EditBillResponse]
153
153
  def edit_bill(request_options: {}, **params)
154
154
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
155
+ path_param_names = %i[id_bill]
156
+ body_params = params.except(*path_param_names)
157
+
155
158
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
156
159
  request = Payabli::Internal::JSON::Request.new(
157
160
  base_url: request_options[:base_url],
158
161
  method: "PUT",
159
162
  path: "Bill/#{URI.encode_uri_component(params[:id_bill].to_s)}",
160
163
  headers: headers,
161
- body: Payabli::Types::BillOutData.new(params).to_h,
164
+ body: Payabli::Types::BillOutData.new(body_params).to_h,
162
165
  request_options: request_options
163
166
  )
164
167
  begin
@@ -389,13 +392,16 @@ module Payabli
389
392
  # @return [Payabli::Types::ModifyApprovalBillResponse]
390
393
  def modify_approval_bill(request_options: {}, **params)
391
394
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
395
+ path_param_names = %i[id_bill]
396
+ body_params = params.except(*path_param_names)
397
+
392
398
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
393
399
  request = Payabli::Internal::JSON::Request.new(
394
400
  base_url: request_options[:base_url],
395
401
  method: "PUT",
396
402
  path: "Bill/approval/#{URI.encode_uri_component(params[:id_bill].to_s)}",
397
403
  headers: headers,
398
- body: params,
404
+ body: body_params,
399
405
  request_options: request_options
400
406
  )
401
407
  begin
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Billing
5
+ class Client
6
+ # @param client [Payabli::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Returns every billing profile that belongs to an organization. This is
14
+ # the data behind the Profile Library table in the Payabli Portal.
15
+ #
16
+ # Requires a token with the `billing_profile_read` permission; a token
17
+ # without it gets `403 Forbidden`.
18
+ #
19
+ # @param request_options [Hash]
20
+ # @param params [Hash]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ # @option params [Integer] :org_id
27
+ # @option params [String, nil] :profile_name
28
+ # @option params [Integer, nil] :fee_type
29
+ # @option params [Integer, nil] :service_vertical
30
+ # @option params [Integer, nil] :profile_id
31
+ # @option params [Integer, nil] :limit_record
32
+ # @option params [Integer, nil] :from_record
33
+ #
34
+ # @example
35
+ # client.billing.list_profiles(
36
+ # org_id: 123,
37
+ # limit_record: 20,
38
+ # from_record: 0
39
+ # )
40
+ #
41
+ # @return [Payabli::Types::BillingProfileQueryResponse]
42
+ def list_profiles(request_options: {}, **params)
43
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
44
+ query_params = {}
45
+ query_params["profileName"] = params[:profile_name] if params.key?(:profile_name)
46
+ query_params["feeType"] = params[:fee_type] if params.key?(:fee_type)
47
+ query_params["serviceVertical"] = params[:service_vertical] if params.key?(:service_vertical)
48
+ query_params["profileId"] = params[:profile_id] if params.key?(:profile_id)
49
+ query_params["limitRecord"] = params[:limit_record] if params.key?(:limit_record)
50
+ query_params["fromRecord"] = params[:from_record] if params.key?(:from_record)
51
+
52
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
53
+ request = Payabli::Internal::JSON::Request.new(
54
+ base_url: request_options[:base_url],
55
+ method: "GET",
56
+ path: "billing/configuration/org/#{URI.encode_uri_component(params[:org_id].to_s)}",
57
+ headers: headers,
58
+ query: query_params,
59
+ request_options: request_options
60
+ )
61
+ begin
62
+ response = @client.send(request)
63
+ rescue Net::HTTPRequestTimeout
64
+ raise Payabli::Errors::TimeoutError
65
+ end
66
+ code = response.code.to_i
67
+ if code.between?(200, 299)
68
+ Payabli::Types::BillingProfileQueryResponse.load(response.body)
69
+ else
70
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
71
+ raise error_class.new(response.body, code: code)
72
+ end
73
+ end
74
+
75
+ # Returns the billing profile currently assigned to an entity, including
76
+ # its billable events and fee schedules. Use it to read the pricing terms
77
+ # in effect for an organization, paypoint, template, or application.
78
+ #
79
+ # Requires a token with the `billing_profile_read` permission and access
80
+ # to the requested entity; otherwise the call gets `403 Forbidden`.
81
+ #
82
+ # If the entity exists but has no profile assigned, the call returns
83
+ # `404 Not Found`.
84
+ #
85
+ # @param request_options [Hash]
86
+ # @param params [Hash]
87
+ # @option request_options [String] :base_url
88
+ # @option request_options [Hash{String => Object}] :additional_headers
89
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
90
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
91
+ # @option request_options [Integer] :timeout_in_seconds
92
+ # @option params [Payabli::Billing::Types::GetProfileBillingRequestServiceGroup] :service_group
93
+ # @option params [Payabli::Billing::Types::GetProfileBillingRequestEntityType] :entity_type
94
+ # @option params [Integer] :entity_id
95
+ #
96
+ # @example
97
+ # client.billing.get_profile(
98
+ # service_group: "PayIn",
99
+ # entity_type: "Organization",
100
+ # entity_id: 123
101
+ # )
102
+ #
103
+ # @return [Payabli::Types::BillingProfileResponse]
104
+ def get_profile(request_options: {}, **params)
105
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
106
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
107
+ request = Payabli::Internal::JSON::Request.new(
108
+ base_url: request_options[:base_url],
109
+ method: "GET",
110
+ path: "billing/configuration/#{URI.encode_uri_component(params[:service_group].to_s)}/#{URI.encode_uri_component(params[:entity_type].to_s)}/#{URI.encode_uri_component(params[:entity_id].to_s)}",
111
+ headers: headers,
112
+ request_options: request_options
113
+ )
114
+ begin
115
+ response = @client.send(request)
116
+ rescue Net::HTTPRequestTimeout
117
+ raise Payabli::Errors::TimeoutError
118
+ end
119
+ code = response.code.to_i
120
+ if code.between?(200, 299)
121
+ Payabli::Types::BillingProfileResponse.load(response.body)
122
+ else
123
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
124
+ raise error_class.new(response.body, code: code)
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Billing
5
+ module Types
6
+ module GetProfileBillingRequestEntityType
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ ORGANIZATION = "Organization"
10
+ PAYPOINT = "Paypoint"
11
+ TEMPLATE = "Template"
12
+ APPLICATION = "Application"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Billing
5
+ module Types
6
+ module GetProfileBillingRequestServiceGroup
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ PAY_IN = "PayIn"
10
+ PAY_OUT = "PayOut"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Billing
5
+ module Types
6
+ class ListBillingProfilesRequest < Internal::Types::Model
7
+ field :org_id, -> { Integer }, optional: false, nullable: false, api_name: "orgId"
8
+
9
+ field :profile_name, -> { String }, optional: true, nullable: false, api_name: "profileName"
10
+
11
+ field :fee_type, -> { Integer }, optional: true, nullable: false, api_name: "feeType"
12
+
13
+ field :service_vertical, -> { Integer }, optional: true, nullable: false, api_name: "serviceVertical"
14
+
15
+ field :profile_id, -> { Integer }, optional: true, nullable: false, api_name: "profileId"
16
+
17
+ field :limit_record, -> { Integer }, optional: true, nullable: false, api_name: "limitRecord"
18
+
19
+ field :from_record, -> { Integer }, optional: true, nullable: false, api_name: "fromRecord"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -187,13 +187,16 @@ module Payabli
187
187
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
188
188
  def update_application(request_options: {}, **params)
189
189
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
190
+ path_param_names = %i[app_id]
191
+ body_params = params.except(*path_param_names)
192
+
190
193
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
191
194
  request = Payabli::Internal::JSON::Request.new(
192
195
  base_url: request_options[:base_url],
193
196
  method: "PUT",
194
197
  path: "Boarding/app/#{URI.encode_uri_component(params[:app_id].to_s)}",
195
198
  headers: headers,
196
- body: Payabli::Types::ApplicationData.new(params).to_h,
199
+ body: Payabli::Types::ApplicationData.new(body_params).to_h,
197
200
  request_options: request_options
198
201
  )
199
202
  begin