moov_ruby 0.3.21 → 0.3.23
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 +4 -4
- data/lib/moov/client.rb +2 -1
- data/lib/moov/invoices.rb +288 -0
- data/lib/moov/models/components/achtransactiondetails.rb +6 -2
- data/lib/moov/models/components/achtransactiondetails.rbi +2 -0
- data/lib/moov/models/components/createinvoicepayment.rb +41 -0
- data/lib/moov/models/components/createinvoicepayment.rbi +17 -0
- data/lib/moov/models/components/createtransferachaddendarecord.rb +33 -0
- data/lib/moov/models/components/createtransferachaddendarecord.rbi +13 -0
- data/lib/moov/models/components/createtransferdestinationach.rb +6 -2
- data/lib/moov/models/components/createtransferdestinationach.rbi +2 -0
- data/lib/moov/models/components/createtransfersourceach.rb +6 -2
- data/lib/moov/models/components/createtransfersourceach.rbi +2 -0
- data/lib/moov/models/components/createwebhook.rb +45 -0
- data/lib/moov/models/components/createwebhook.rbi +19 -0
- data/lib/moov/models/components/eventtype.rb +41 -0
- data/lib/moov/models/components/eventtype.rbi +17 -0
- data/lib/moov/models/components/invoiceexternalpayment.rb +2 -6
- data/lib/moov/models/components/invoiceexternalpayment.rbi +0 -2
- data/lib/moov/models/components/invoicepayment.rb +9 -5
- data/lib/moov/models/components/invoicepayment.rbi +4 -2
- data/lib/moov/models/components/invoicetransferpayment.rb +2 -6
- data/lib/moov/models/components/invoicetransferpayment.rbi +0 -2
- data/lib/moov/models/components/pingresponse.rb +41 -0
- data/lib/moov/models/components/pingresponse.rbi +17 -0
- data/lib/moov/models/components/transferachaddendarecord.rb +37 -0
- data/lib/moov/models/components/transferachaddendarecord.rbi +15 -0
- data/lib/moov/models/components/updatewebhook.rb +45 -0
- data/lib/moov/models/components/updatewebhook.rbi +19 -0
- data/lib/moov/models/components/webhook.rb +61 -0
- data/lib/moov/models/components/webhook.rbi +27 -0
- data/lib/moov/models/components/webhooksecret.rb +33 -0
- data/lib/moov/models/components/webhooksecret.rbi +13 -0
- data/lib/moov/models/components/{invoiceexternalpayment_paymenttype.rb → webhookstatus.rb} +4 -3
- data/lib/moov/models/components/webhookstatus.rbi +11 -0
- data/lib/moov/models/components.rb +10 -2
- data/lib/moov/models/errors/createinvoicepaymenterror.rb +45 -0
- data/lib/moov/models/errors/createinvoicepaymenterror.rbi +19 -0
- data/lib/moov/models/errors/createwebhookvalidationerror.rb +49 -0
- data/lib/moov/models/errors/createwebhookvalidationerror.rbi +21 -0
- data/lib/moov/models/errors/updatewebhookvalidationerror.rb +49 -0
- data/lib/moov/models/errors/updatewebhookvalidationerror.rbi +21 -0
- data/lib/moov/models/errors.rb +3 -0
- data/lib/moov/models/operations/createinvoicepayment_request.rb +54 -0
- data/lib/moov/models/operations/createinvoicepayment_request.rbi +19 -0
- data/lib/moov/models/operations/createinvoicepayment_response.rb +49 -0
- data/lib/moov/models/operations/createinvoicepayment_response.rbi +21 -0
- data/lib/moov/models/operations/createwebhook_request.rb +46 -0
- data/lib/moov/models/operations/createwebhook_request.rbi +15 -0
- data/lib/moov/models/operations/createwebhook_response.rb +49 -0
- data/lib/moov/models/operations/createwebhook_response.rbi +21 -0
- data/lib/moov/models/operations/disablewebhook_request.rb +46 -0
- data/lib/moov/models/operations/disablewebhook_request.rbi +15 -0
- data/lib/moov/models/operations/disablewebhook_response.rb +45 -0
- data/lib/moov/models/operations/disablewebhook_response.rbi +19 -0
- data/lib/moov/models/operations/getwebhook_request.rb +46 -0
- data/lib/moov/models/operations/getwebhook_request.rbi +15 -0
- data/lib/moov/models/operations/getwebhook_response.rb +49 -0
- data/lib/moov/models/operations/getwebhook_response.rbi +21 -0
- data/lib/moov/models/operations/getwebhooksecret_request.rb +46 -0
- data/lib/moov/models/operations/getwebhooksecret_request.rbi +15 -0
- data/lib/moov/models/operations/getwebhooksecret_response.rb +49 -0
- data/lib/moov/models/operations/getwebhooksecret_response.rbi +21 -0
- data/lib/moov/models/operations/listeventtypes_request.rb +42 -0
- data/lib/moov/models/operations/listeventtypes_request.rbi +13 -0
- data/lib/moov/models/operations/listeventtypes_response.rb +49 -0
- data/lib/moov/models/operations/listeventtypes_response.rbi +21 -0
- data/lib/moov/models/operations/listinvoicepayments_request.rb +50 -0
- data/lib/moov/models/operations/listinvoicepayments_request.rbi +17 -0
- data/lib/moov/models/operations/listinvoicepayments_response.rb +49 -0
- data/lib/moov/models/operations/listinvoicepayments_response.rbi +21 -0
- data/lib/moov/models/operations/listwebhooks_request.rb +42 -0
- data/lib/moov/models/operations/listwebhooks_request.rbi +13 -0
- data/lib/moov/models/operations/listwebhooks_response.rb +49 -0
- data/lib/moov/models/operations/listwebhooks_response.rbi +21 -0
- data/lib/moov/models/operations/pingwebhook_request.rb +46 -0
- data/lib/moov/models/operations/pingwebhook_request.rbi +15 -0
- data/lib/moov/models/operations/pingwebhook_response.rb +49 -0
- data/lib/moov/models/operations/pingwebhook_response.rbi +21 -0
- data/lib/moov/models/operations/updatewebhook_request.rb +50 -0
- data/lib/moov/models/operations/updatewebhook_request.rbi +17 -0
- data/lib/moov/models/operations/updatewebhook_response.rb +49 -0
- data/lib/moov/models/operations/updatewebhook_response.rbi +21 -0
- data/lib/moov/models/operations.rb +20 -0
- data/lib/moov/sdkconfiguration.rb +2 -2
- data/lib/moov/webhooks.rb +1056 -0
- data/lib/moov_ruby.rb +1 -0
- metadata +69 -6
- data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rbi +0 -11
- data/lib/moov/models/components/invoicetransferpayment_paymenttype.rb +0 -21
- data/lib/moov/models/components/invoicetransferpayment_paymenttype.rbi +0 -11
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::EventType
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::EventType
|
|
11
|
+
def event_type_id(); end
|
|
12
|
+
def event_type_id=(str_); end
|
|
13
|
+
def type(); end
|
|
14
|
+
def type=(str_); end
|
|
15
|
+
def description(); end
|
|
16
|
+
def description=(str_); end
|
|
17
|
+
end
|
|
@@ -14,8 +14,6 @@ module Moov
|
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
field :payment_type, Models::Components::InvoiceExternalPaymentPaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoiceExternalPaymentPaymentType, false) } }
|
|
18
|
-
|
|
19
17
|
field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
|
|
20
18
|
|
|
21
19
|
field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
@@ -24,9 +22,8 @@ module Moov
|
|
|
24
22
|
|
|
25
23
|
field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
26
24
|
|
|
27
|
-
sig { params(
|
|
28
|
-
def initialize(
|
|
29
|
-
@payment_type = payment_type
|
|
25
|
+
sig { params(description: ::String, amount: Models::Components::AmountDecimal, foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
|
|
26
|
+
def initialize(description:, amount:, foreign_id: nil, payment_date: nil)
|
|
30
27
|
@description = description
|
|
31
28
|
@amount = amount
|
|
32
29
|
@foreign_id = foreign_id
|
|
@@ -36,7 +33,6 @@ module Moov
|
|
|
36
33
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
37
34
|
def ==(other)
|
|
38
35
|
return false unless other.is_a? self.class
|
|
39
|
-
return false unless @payment_type == other.payment_type
|
|
40
36
|
return false unless @description == other.description
|
|
41
37
|
return false unless @amount == other.amount
|
|
42
38
|
return false unless @foreign_id == other.foreign_id
|
|
@@ -14,15 +14,18 @@ module Moov
|
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
field :
|
|
17
|
+
field :invoice_payment_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentID'), required: true } }
|
|
18
|
+
|
|
19
|
+
field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
|
|
18
20
|
|
|
19
21
|
field :transfer, Crystalline::Nilable.new(Models::Components::InvoiceTransferPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transfer') } }
|
|
20
22
|
|
|
21
23
|
field :external, Crystalline::Nilable.new(Models::Components::InvoiceExternalPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('external') } }
|
|
22
24
|
|
|
23
|
-
sig { params(
|
|
24
|
-
def initialize(
|
|
25
|
-
@
|
|
25
|
+
sig { params(invoice_payment_id: ::String, invoice_payment_type: Models::Components::InvoicePaymentType, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
|
|
26
|
+
def initialize(invoice_payment_id:, invoice_payment_type:, transfer: nil, external: nil)
|
|
27
|
+
@invoice_payment_id = invoice_payment_id
|
|
28
|
+
@invoice_payment_type = invoice_payment_type
|
|
26
29
|
@transfer = transfer
|
|
27
30
|
@external = external
|
|
28
31
|
end
|
|
@@ -30,7 +33,8 @@ module Moov
|
|
|
30
33
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
31
34
|
def ==(other)
|
|
32
35
|
return false unless other.is_a? self.class
|
|
33
|
-
return false unless @
|
|
36
|
+
return false unless @invoice_payment_id == other.invoice_payment_id
|
|
37
|
+
return false unless @invoice_payment_type == other.invoice_payment_type
|
|
34
38
|
return false unless @transfer == other.transfer
|
|
35
39
|
return false unless @external == other.external
|
|
36
40
|
true
|
|
@@ -8,8 +8,10 @@ end
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class Moov::Models::Components::InvoicePayment
|
|
11
|
-
def
|
|
12
|
-
def
|
|
11
|
+
def invoice_payment_id(); end
|
|
12
|
+
def invoice_payment_id=(str_); end
|
|
13
|
+
def invoice_payment_type(); end
|
|
14
|
+
def invoice_payment_type=(str_); end
|
|
13
15
|
def transfer(); end
|
|
14
16
|
def transfer=(str_); end
|
|
15
17
|
def external(); end
|
|
@@ -14,20 +14,16 @@ module Moov
|
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
field :payment_type, Models::Components::InvoiceTransferPaymentPaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoiceTransferPaymentPaymentType, false) } }
|
|
18
|
-
|
|
19
17
|
field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
|
|
20
18
|
|
|
21
|
-
sig { params(
|
|
22
|
-
def initialize(
|
|
23
|
-
@payment_type = payment_type
|
|
19
|
+
sig { params(transfer_id: ::String).void }
|
|
20
|
+
def initialize(transfer_id:)
|
|
24
21
|
@transfer_id = transfer_id
|
|
25
22
|
end
|
|
26
23
|
|
|
27
24
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
28
25
|
def ==(other)
|
|
29
26
|
return false unless other.is_a? self.class
|
|
30
|
-
return false unless @payment_type == other.payment_type
|
|
31
27
|
return false unless @transfer_id == other.transfer_id
|
|
32
28
|
true
|
|
33
29
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
# Response from pinging a webhook.
|
|
12
|
+
class PingResponse
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The webhook that was pinged.
|
|
17
|
+
field :webhook, Models::Components::Webhook, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('webhook'), required: true } }
|
|
18
|
+
# The request body sent to the target URL. It will contain an event type of `event.test` and an empty (null) data payload.
|
|
19
|
+
field :request_body_sent, Crystalline::Hash.new(Symbol, ::Object), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requestBodySent'), required: true } }
|
|
20
|
+
# The response status code after sending a ping event to the URL.
|
|
21
|
+
field :response_status_code, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('responseStatusCode'), required: true } }
|
|
22
|
+
|
|
23
|
+
sig { params(webhook: Models::Components::Webhook, request_body_sent: T::Hash[Symbol, ::Object], response_status_code: ::Integer).void }
|
|
24
|
+
def initialize(webhook:, request_body_sent:, response_status_code:)
|
|
25
|
+
@webhook = webhook
|
|
26
|
+
@request_body_sent = request_body_sent
|
|
27
|
+
@response_status_code = response_status_code
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
31
|
+
def ==(other)
|
|
32
|
+
return false unless other.is_a? self.class
|
|
33
|
+
return false unless @webhook == other.webhook
|
|
34
|
+
return false unless @request_body_sent == other.request_body_sent
|
|
35
|
+
return false unless @response_status_code == other.response_status_code
|
|
36
|
+
true
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PingResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PingResponse
|
|
11
|
+
def webhook(); end
|
|
12
|
+
def webhook=(str_); end
|
|
13
|
+
def request_body_sent(); end
|
|
14
|
+
def request_body_sent=(str_); end
|
|
15
|
+
def response_status_code(); end
|
|
16
|
+
def response_status_code=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
# An addenda record which was added to an ACH transfer
|
|
12
|
+
class TransferACHAddendaRecord
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The ACH addenda record, which may have masked PII
|
|
17
|
+
field :record, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('record'), required: true } }
|
|
18
|
+
# Flag indicating whether or not this record has been masked
|
|
19
|
+
field :is_masked, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isMasked'), required: true } }
|
|
20
|
+
|
|
21
|
+
sig { params(record: ::String, is_masked: T::Boolean).void }
|
|
22
|
+
def initialize(record:, is_masked:)
|
|
23
|
+
@record = record
|
|
24
|
+
@is_masked = is_masked
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
28
|
+
def ==(other)
|
|
29
|
+
return false unless other.is_a? self.class
|
|
30
|
+
return false unless @record == other.record
|
|
31
|
+
return false unless @is_masked == other.is_masked
|
|
32
|
+
true
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::TransferACHAddendaRecord
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TransferACHAddendaRecord
|
|
11
|
+
def record(); end
|
|
12
|
+
def record=(str_); end
|
|
13
|
+
def is_masked(); end
|
|
14
|
+
def is_masked=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
# Request body for updating an existing webhook.
|
|
12
|
+
class UpdateWebhook
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The URL where webhook events will be sent.
|
|
17
|
+
field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
|
|
18
|
+
# The status of the webhook.
|
|
19
|
+
field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
|
|
20
|
+
# The list of event types this webhook should subscribe to.
|
|
21
|
+
field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
|
|
22
|
+
# A description of the webhook for reference. Can be an empty string.
|
|
23
|
+
field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
|
|
24
|
+
|
|
25
|
+
sig { params(url: ::String, status: Models::Components::WebhookStatus, event_types: T::Array[Models::Components::WebhookEventType], description: ::String).void }
|
|
26
|
+
def initialize(url:, status:, event_types:, description:)
|
|
27
|
+
@url = url
|
|
28
|
+
@status = status
|
|
29
|
+
@event_types = event_types
|
|
30
|
+
@description = description
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
34
|
+
def ==(other)
|
|
35
|
+
return false unless other.is_a? self.class
|
|
36
|
+
return false unless @url == other.url
|
|
37
|
+
return false unless @status == other.status
|
|
38
|
+
return false unless @event_types == other.event_types
|
|
39
|
+
return false unless @description == other.description
|
|
40
|
+
true
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::UpdateWebhook
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::UpdateWebhook
|
|
11
|
+
def url(); end
|
|
12
|
+
def url=(str_); end
|
|
13
|
+
def status(); end
|
|
14
|
+
def status=(str_); end
|
|
15
|
+
def event_types(); end
|
|
16
|
+
def event_types=(str_); end
|
|
17
|
+
def description(); end
|
|
18
|
+
def description=(str_); end
|
|
19
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
# A configured webhook endpoint that receives event notifications.
|
|
12
|
+
class Webhook
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# Unique identifier for the webhook.
|
|
17
|
+
field :webhook_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('webhookID'), required: true } }
|
|
18
|
+
# The URL where webhook events will be sent.
|
|
19
|
+
field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
|
|
20
|
+
# The status of a webhook.
|
|
21
|
+
field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
|
|
22
|
+
# The list of event types this webhook is subscribed to.
|
|
23
|
+
field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
|
|
24
|
+
# A description of the webhook for reference.
|
|
25
|
+
field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
|
|
26
|
+
# Timestamp of when the webhook was created.
|
|
27
|
+
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
28
|
+
# Timestamp of when the webhook was last updated.
|
|
29
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
30
|
+
# Timestamp of when the webhook last received an event.
|
|
31
|
+
field :last_used_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastUsedOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
32
|
+
|
|
33
|
+
sig { params(webhook_id: ::String, url: ::String, status: Models::Components::WebhookStatus, event_types: T::Array[Models::Components::WebhookEventType], description: ::String, created_on: ::DateTime, updated_on: ::DateTime, last_used_on: T.nilable(::DateTime)).void }
|
|
34
|
+
def initialize(webhook_id:, url:, status:, event_types:, description:, created_on:, updated_on:, last_used_on: nil)
|
|
35
|
+
@webhook_id = webhook_id
|
|
36
|
+
@url = url
|
|
37
|
+
@status = status
|
|
38
|
+
@event_types = event_types
|
|
39
|
+
@description = description
|
|
40
|
+
@created_on = created_on
|
|
41
|
+
@updated_on = updated_on
|
|
42
|
+
@last_used_on = last_used_on
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
46
|
+
def ==(other)
|
|
47
|
+
return false unless other.is_a? self.class
|
|
48
|
+
return false unless @webhook_id == other.webhook_id
|
|
49
|
+
return false unless @url == other.url
|
|
50
|
+
return false unless @status == other.status
|
|
51
|
+
return false unless @event_types == other.event_types
|
|
52
|
+
return false unless @description == other.description
|
|
53
|
+
return false unless @created_on == other.created_on
|
|
54
|
+
return false unless @updated_on == other.updated_on
|
|
55
|
+
return false unless @last_used_on == other.last_used_on
|
|
56
|
+
true
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::Webhook
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::Webhook
|
|
11
|
+
def webhook_id(); end
|
|
12
|
+
def webhook_id=(str_); end
|
|
13
|
+
def url(); end
|
|
14
|
+
def url=(str_); end
|
|
15
|
+
def status(); end
|
|
16
|
+
def status=(str_); end
|
|
17
|
+
def event_types(); end
|
|
18
|
+
def event_types=(str_); end
|
|
19
|
+
def description(); end
|
|
20
|
+
def description=(str_); end
|
|
21
|
+
def created_on(); end
|
|
22
|
+
def created_on=(str_); end
|
|
23
|
+
def updated_on(); end
|
|
24
|
+
def updated_on=(str_); end
|
|
25
|
+
def last_used_on(); end
|
|
26
|
+
def last_used_on=(str_); end
|
|
27
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
# The secret used to verify webhook payloads.
|
|
12
|
+
class WebhookSecret
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The secret key used to sign webhook payloads. Use this to verify the authenticity of incoming webhooks.
|
|
17
|
+
field :secret, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secret'), required: true } }
|
|
18
|
+
|
|
19
|
+
sig { params(secret: ::String).void }
|
|
20
|
+
def initialize(secret:)
|
|
21
|
+
@secret = secret
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
25
|
+
def ==(other)
|
|
26
|
+
return false unless other.is_a? self.class
|
|
27
|
+
return false unless @secret == other.secret
|
|
28
|
+
true
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::WebhookSecret
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::WebhookSecret
|
|
11
|
+
def secret(); end
|
|
12
|
+
def secret=(str_); end
|
|
13
|
+
end
|
|
@@ -8,12 +8,13 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
class
|
|
11
|
+
# WebhookStatus - The status of a webhook.
|
|
12
|
+
class WebhookStatus < T::Enum
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
enums do
|
|
16
|
-
|
|
16
|
+
ENABLED = new('enabled')
|
|
17
|
+
DISABLED = new('disabled')
|
|
17
18
|
end
|
|
18
19
|
end
|
|
19
20
|
end
|
|
@@ -171,6 +171,7 @@ module Moov
|
|
|
171
171
|
autoload :CreateInvoiceLineItems, 'moov/models/components/createinvoicelineitems.rb'
|
|
172
172
|
autoload :CreateInvoiceLineItemsUpdate, 'moov/models/components/createinvoicelineitemsupdate.rb'
|
|
173
173
|
autoload :CreateInvoiceLineItemsValidationError, 'moov/models/components/createinvoicelineitemsvalidationerror.rb'
|
|
174
|
+
autoload :CreateInvoicePayment, 'moov/models/components/createinvoicepayment.rb'
|
|
174
175
|
autoload :CreatePaymentLink, 'moov/models/components/createpaymentlink.rb'
|
|
175
176
|
autoload :CreatePaymentLinkLineItem, 'moov/models/components/createpaymentlinklineitem.rb'
|
|
176
177
|
autoload :CreatePaymentLinkLineItemOption, 'moov/models/components/createpaymentlinklineitemoption.rb'
|
|
@@ -192,6 +193,7 @@ module Moov
|
|
|
192
193
|
autoload :CreateTicket, 'moov/models/components/createticket.rb'
|
|
193
194
|
autoload :CreateTicketContactError, 'moov/models/components/createticketcontacterror.rb'
|
|
194
195
|
autoload :CreateTransfer, 'moov/models/components/createtransfer.rb'
|
|
196
|
+
autoload :CreateTransferACHAddendaRecord, 'moov/models/components/createtransferachaddendarecord.rb'
|
|
195
197
|
autoload :CreateTransferDestination, 'moov/models/components/createtransferdestination.rb'
|
|
196
198
|
autoload :CreateTransferDestinationACH, 'moov/models/components/createtransferdestinationach.rb'
|
|
197
199
|
autoload :CreateTransferDestinationCard, 'moov/models/components/createtransferdestinationcard.rb'
|
|
@@ -206,6 +208,7 @@ module Moov
|
|
|
206
208
|
autoload :CreateTransferSourceACH, 'moov/models/components/createtransfersourceach.rb'
|
|
207
209
|
autoload :CreateTransferSourceCard, 'moov/models/components/createtransfersourcecard.rb'
|
|
208
210
|
autoload :CreateWallet, 'moov/models/components/createwallet.rb'
|
|
211
|
+
autoload :CreateWebhook, 'moov/models/components/createwebhook.rb'
|
|
209
212
|
autoload :CreatedTransfer, 'moov/models/components/createdtransfer.rb'
|
|
210
213
|
autoload :CustomerSupport, 'moov/models/components/customersupport.rb'
|
|
211
214
|
autoload :CustomerSupportError, 'moov/models/components/customersupporterror.rb'
|
|
@@ -232,6 +235,7 @@ module Moov
|
|
|
232
235
|
autoload :EntryMode, 'moov/models/components/entrymode.rb'
|
|
233
236
|
autoload :EstimatedActivity, 'moov/models/components/estimatedactivity.rb'
|
|
234
237
|
autoload :EstimatedActivityError, 'moov/models/components/estimatedactivityerror.rb'
|
|
238
|
+
autoload :EventType, 'moov/models/components/eventtype.rb'
|
|
235
239
|
autoload :EvidenceTextResponse, 'moov/models/components/evidencetextresponse.rb'
|
|
236
240
|
autoload :EvidenceType, 'moov/models/components/evidencetype.rb'
|
|
237
241
|
autoload :EvidenceUploadResponse, 'moov/models/components/evidenceuploadresponse.rb'
|
|
@@ -285,7 +289,6 @@ module Moov
|
|
|
285
289
|
autoload :InstitutionsSearchResponse, 'moov/models/components/institutionssearchresponse.rb'
|
|
286
290
|
autoload :Invoice, 'moov/models/components/invoice.rb'
|
|
287
291
|
autoload :InvoiceExternalPayment, 'moov/models/components/invoiceexternalpayment.rb'
|
|
288
|
-
autoload :InvoiceExternalPaymentPaymentType, 'moov/models/components/invoiceexternalpayment_paymenttype.rb'
|
|
289
292
|
autoload :InvoiceLineItem, 'moov/models/components/invoicelineitem.rb'
|
|
290
293
|
autoload :InvoiceLineItemImageMetadata, 'moov/models/components/invoicelineitemimagemetadata.rb'
|
|
291
294
|
autoload :InvoiceLineItemOption, 'moov/models/components/invoicelineitemoption.rb'
|
|
@@ -297,7 +300,6 @@ module Moov
|
|
|
297
300
|
autoload :InvoicePaymentType, 'moov/models/components/invoicepaymenttype.rb'
|
|
298
301
|
autoload :InvoiceStatus, 'moov/models/components/invoicestatus.rb'
|
|
299
302
|
autoload :InvoiceTransferPayment, 'moov/models/components/invoicetransferpayment.rb'
|
|
300
|
-
autoload :InvoiceTransferPaymentPaymentType, 'moov/models/components/invoicetransferpayment_paymenttype.rb'
|
|
301
303
|
autoload :IssuedCard, 'moov/models/components/issuedcard.rb'
|
|
302
304
|
autoload :IssuedCardAuthorization, 'moov/models/components/issuedcardauthorization.rb'
|
|
303
305
|
autoload :IssuedCardAuthorizationEvent, 'moov/models/components/issuedcardauthorizationevent.rb'
|
|
@@ -390,6 +392,7 @@ module Moov
|
|
|
390
392
|
autoload :PendingLitigation, 'moov/models/components/pendinglitigation.rb'
|
|
391
393
|
autoload :PhoneNumber, 'moov/models/components/phonenumber.rb'
|
|
392
394
|
autoload :PhoneNumberError, 'moov/models/components/phonenumbererror.rb'
|
|
395
|
+
autoload :PingResponse, 'moov/models/components/pingresponse.rb'
|
|
393
396
|
autoload :PlaidIntegration, 'moov/models/components/plaidintegration.rb'
|
|
394
397
|
autoload :PlaidLinkIntegration, 'moov/models/components/plaidlinkintegration.rb'
|
|
395
398
|
autoload :PlaidLinkPayload, 'moov/models/components/plaidlinkpayload.rb'
|
|
@@ -493,6 +496,7 @@ module Moov
|
|
|
493
496
|
autoload :TokenType, 'moov/models/components/tokentype.rb'
|
|
494
497
|
autoload :TransactionSource, 'moov/models/components/transactionsource.rb'
|
|
495
498
|
autoload :Transfer, 'moov/models/components/transfer.rb'
|
|
499
|
+
autoload :TransferACHAddendaRecord, 'moov/models/components/transferachaddendarecord.rb'
|
|
496
500
|
autoload :TransferAccount, 'moov/models/components/transferaccount.rb'
|
|
497
501
|
autoload :TransferDestination, 'moov/models/components/transferdestination.rb'
|
|
498
502
|
autoload :TransferFailureReason, 'moov/models/components/transferfailurereason.rb'
|
|
@@ -526,6 +530,7 @@ module Moov
|
|
|
526
530
|
autoload :UpdateTicketStatus, 'moov/models/components/updateticketstatus.rb'
|
|
527
531
|
autoload :UpdateUnderwriting, 'moov/models/components/updateunderwriting.rb'
|
|
528
532
|
autoload :UpdateUnderwritingErrorError, 'moov/models/components/updateunderwritingerror_error.rb'
|
|
533
|
+
autoload :UpdateWebhook, 'moov/models/components/updatewebhook.rb'
|
|
529
534
|
autoload :UpsertSchedule, 'moov/models/components/upsertschedule.rb'
|
|
530
535
|
autoload :UpsertUnderwriting, 'moov/models/components/upsertunderwriting.rb'
|
|
531
536
|
autoload :Verification, 'moov/models/components/verification.rb'
|
|
@@ -544,6 +549,7 @@ module Moov
|
|
|
544
549
|
autoload :WalletTransactionStatus, 'moov/models/components/wallettransactionstatus.rb'
|
|
545
550
|
autoload :WalletTransactionType, 'moov/models/components/wallettransactiontype.rb'
|
|
546
551
|
autoload :WalletType, 'moov/models/components/wallettype.rb'
|
|
552
|
+
autoload :Webhook, 'moov/models/components/webhook.rb'
|
|
547
553
|
autoload :WebhookBillingStatementCreated, 'moov/models/components/webhookbillingstatementcreated.rb'
|
|
548
554
|
autoload :WebhookData, 'moov/models/components/webhookdata.rb'
|
|
549
555
|
autoload :WebhookDataAccountCreated, 'moov/models/components/webhookdataaccountcreated.rb'
|
|
@@ -585,6 +591,8 @@ module Moov
|
|
|
585
591
|
autoload :WebhookDataWalletUpdated, 'moov/models/components/webhookdatawalletupdated.rb'
|
|
586
592
|
autoload :WebhookEvent, 'moov/models/components/webhookevent.rb'
|
|
587
593
|
autoload :WebhookEventType, 'moov/models/components/webhookeventtype.rb'
|
|
594
|
+
autoload :WebhookSecret, 'moov/models/components/webhooksecret.rb'
|
|
595
|
+
autoload :WebhookStatus, 'moov/models/components/webhookstatus.rb'
|
|
588
596
|
autoload :WebhookTransferPaymentMethodDetails, 'moov/models/components/webhooktransferpaymentmethoddetails.rb'
|
|
589
597
|
autoload :WireInstitution, 'moov/models/components/wireinstitution.rb'
|
|
590
598
|
autoload :WireServices, 'moov/models/components/wireservices.rb'
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Errors
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CreateInvoicePaymentError < StandardError
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
18
|
+
|
|
19
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
20
|
+
|
|
21
|
+
field :payment_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate') } }
|
|
22
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
23
|
+
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
24
|
+
|
|
25
|
+
sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
|
|
26
|
+
def initialize(foreign_id: nil, description: nil, payment_date: nil, raw_response: nil)
|
|
27
|
+
@foreign_id = foreign_id
|
|
28
|
+
@description = description
|
|
29
|
+
@payment_date = payment_date
|
|
30
|
+
@raw_response = raw_response
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
34
|
+
def ==(other)
|
|
35
|
+
return false unless other.is_a? self.class
|
|
36
|
+
return false unless @foreign_id == other.foreign_id
|
|
37
|
+
return false unless @description == other.description
|
|
38
|
+
return false unless @payment_date == other.payment_date
|
|
39
|
+
return false unless @raw_response == other.raw_response
|
|
40
|
+
true
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Errors::CreateInvoicePaymentError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Errors::CreateInvoicePaymentError
|
|
11
|
+
def foreign_id(); end
|
|
12
|
+
def foreign_id=(str_); end
|
|
13
|
+
def description(); end
|
|
14
|
+
def description=(str_); end
|
|
15
|
+
def payment_date(); end
|
|
16
|
+
def payment_date=(str_); end
|
|
17
|
+
def raw_response(); end
|
|
18
|
+
def raw_response=(str_); end
|
|
19
|
+
end
|