kintsugi_sdk 5.5.14 → 5.6.0
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/crystalline/enum.rbi +17 -0
- data/lib/crystalline/metadata_fields.rb +94 -38
- data/lib/crystalline/module.rb +103 -13
- data/lib/crystalline/types.rb +100 -16
- data/lib/crystalline/utils.rb +13 -0
- data/lib/kintsugi_sdk/addressvalidation.rb +3 -3
- data/lib/kintsugi_sdk/customers.rb +10 -10
- data/lib/kintsugi_sdk/exemptions.rb +7 -7
- data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/errorresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +2 -3
- data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +6 -3
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +0 -1
- data/lib/kintsugi_sdk/models/ops.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -2
- data/lib/kintsugi_sdk/models/shared/addresses.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/addressresponsedata.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/addressstatus.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/addresstype.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/appliedto.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/attachmentread.rb +1 -2
- data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/countrycodeenum.rb +1 -3
- data/lib/kintsugi_sdk/models/shared/currencyenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/customerbase.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/customercreate.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/customerread.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/customerupdate.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/exemption.rb +5 -6
- data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +6 -5
- data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/file.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rb +56 -0
- data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rbi +25 -0
- data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +41 -22
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +10 -0
- data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -3
- data/lib/kintsugi_sdk/models/shared/productread.rb +12 -9
- data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/productupdate.rb +10 -7
- data/lib/kintsugi_sdk/models/shared/registration.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/security.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/sourceenum.rb +6 -3
- data/lib/kintsugi_sdk/models/shared/statusenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -3
- data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +1 -2
- data/lib/kintsugi_sdk/models/shared/taxitemread.rb +4 -5
- data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +23 -19
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +6 -11
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +0 -2
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +7 -12
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +0 -2
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +8 -7
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +8 -7
- data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +2 -3
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +3 -4
- data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +7 -6
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +21 -17
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/transactionread.rb +24 -20
- data/lib/kintsugi_sdk/models/shared/transactionread.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +20 -16
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/type.rb +0 -3
- data/lib/kintsugi_sdk/models/shared/validationaddress.rb +0 -1
- data/lib/kintsugi_sdk/models/shared/validationerror.rb +0 -1
- data/lib/kintsugi_sdk/models/shared.rb +1 -7
- data/lib/kintsugi_sdk/nexus.rb +1 -1
- data/lib/kintsugi_sdk/openapisdk.rb +13 -15
- data/lib/kintsugi_sdk/products.rb +6 -414
- data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +0 -1
- data/lib/kintsugi_sdk/sdkconfiguration.rb +5 -10
- data/lib/kintsugi_sdk/taxestimation.rb +4 -4
- data/lib/kintsugi_sdk/transactions.rb +8 -8
- data/lib/kintsugi_sdk/utils/forms.rb +1 -1
- data/lib/kintsugi_sdk/utils/query_params.rb +4 -2
- data/lib/kintsugi_sdk/utils/request_bodies.rb +11 -6
- data/lib/kintsugi_sdk/utils/security.rb +10 -0
- data/lib/kintsugi_sdk/utils/url.rb +11 -5
- data/lib/kintsugi_sdk/utils/utils.rb +45 -3
- metadata +73 -41
- data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +0 -61
- data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +0 -27
- data/lib/kintsugi_sdk/models/shared/page_productread_.rb +0 -49
- data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +0 -21
- data/lib/kintsugi_sdk/models/shared/productcategories.rb +0 -38
- data/lib/kintsugi_sdk/models/shared/productcategories.rbi +0 -15
- data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +0 -25
- data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +0 -11
- data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +0 -82
- data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +0 -11
- data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +0 -61
- data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +0 -27
- data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +0 -46
- data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +0 -19
- data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +0 -83
- data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rbi +0 -11
|
@@ -7,16 +7,17 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionItemBuilder
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
|
-
#
|
|
15
|
+
# Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
|
|
16
|
+
#
|
|
17
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
17
18
|
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
|
18
19
|
# Date/time of item.
|
|
19
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
20
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
20
21
|
# External product identifier.
|
|
21
22
|
field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
|
|
22
23
|
# External item identifier.
|
|
@@ -32,9 +33,9 @@ module KintsugiSDK
|
|
|
32
33
|
# Product description
|
|
33
34
|
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
|
34
35
|
|
|
35
|
-
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
36
|
+
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
36
37
|
|
|
37
|
-
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
38
|
+
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
38
39
|
# Converted item amount.
|
|
39
40
|
field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
|
40
41
|
# Converted taxable amount.
|
|
@@ -48,7 +49,7 @@ module KintsugiSDK
|
|
|
48
49
|
# Converted subtotal amount.
|
|
49
50
|
field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
|
|
50
51
|
# This enum is used to determine if a transaction is exempt from tax.
|
|
51
|
-
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
52
|
+
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
52
53
|
|
|
53
54
|
field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
|
|
54
55
|
|
|
@@ -71,7 +72,7 @@ module KintsugiSDK
|
|
|
71
72
|
field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
|
|
72
73
|
|
|
73
74
|
sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
|
|
74
|
-
def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.
|
|
75
|
+
def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.0, tax_amount_imported: 0.0, tax_rate_imported: 0.0, tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, taxable_amount: 0.0, exempt: false)
|
|
75
76
|
@organization_id = organization_id
|
|
76
77
|
@date = date
|
|
77
78
|
@external_product_id = external_product_id
|
|
@@ -7,16 +7,17 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionItemCreateUpdate
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
|
-
#
|
|
15
|
+
# Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
|
|
16
|
+
#
|
|
17
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
17
18
|
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
|
18
19
|
# Date/time of item.
|
|
19
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
20
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
20
21
|
# External product identifier.
|
|
21
22
|
field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
|
|
22
23
|
# External item identifier.
|
|
@@ -32,9 +33,9 @@ module KintsugiSDK
|
|
|
32
33
|
# Product description
|
|
33
34
|
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
|
34
35
|
|
|
35
|
-
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
36
|
+
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
36
37
|
|
|
37
|
-
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
38
|
+
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
38
39
|
# Converted item amount.
|
|
39
40
|
field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
|
40
41
|
# Converted taxable amount.
|
|
@@ -48,7 +49,7 @@ module KintsugiSDK
|
|
|
48
49
|
# Converted subtotal amount.
|
|
49
50
|
field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
|
|
50
51
|
# This enum is used to determine if a transaction is exempt from tax.
|
|
51
|
-
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
52
|
+
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
52
53
|
|
|
53
54
|
field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
|
|
54
55
|
|
|
@@ -71,7 +72,7 @@ module KintsugiSDK
|
|
|
71
72
|
field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
|
|
72
73
|
|
|
73
74
|
sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
|
|
74
|
-
def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.
|
|
75
|
+
def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.0, tax_amount_imported: 0.0, tax_rate_imported: 0.0, tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, taxable_amount: 0.0, exempt: false)
|
|
75
76
|
@organization_id = organization_id
|
|
76
77
|
@date = date
|
|
77
78
|
@external_product_id = external_product_id
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionItemEstimateBase
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
# The date of the transaction item.
|
|
17
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
16
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
18
17
|
# The total amount of the item.
|
|
19
18
|
field :amount, ::Float, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
|
|
20
19
|
# A unique identifier for the transaction item.
|
|
@@ -29,7 +28,7 @@ module KintsugiSDK
|
|
|
29
28
|
# Description of the product. Used if creating a new product.
|
|
30
29
|
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
|
31
30
|
|
|
32
|
-
field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
31
|
+
field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
33
32
|
# Subcategory of the product. Required if product_category is used
|
|
34
33
|
# in place of external_product_id.
|
|
35
34
|
field :product_subcategory, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory') } }
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionItemEstimateResponse
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
# The date of the transaction item.
|
|
17
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
16
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
18
17
|
# The total amount of the item.
|
|
19
18
|
field :amount, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
|
|
20
19
|
# A unique identifier for the transaction item.
|
|
@@ -29,7 +28,7 @@ module KintsugiSDK
|
|
|
29
28
|
# Description of the product. Used if creating a new product.
|
|
30
29
|
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
|
31
30
|
|
|
32
|
-
field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
31
|
+
field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
33
32
|
# Subcategory of the product. Required if product_category is used
|
|
34
33
|
# in place of external_product_id.
|
|
35
34
|
field :product_subcategory, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory') } }
|
|
@@ -37,7 +36,7 @@ module KintsugiSDK
|
|
|
37
36
|
# in place of external_product_id.
|
|
38
37
|
field :product_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_category') } }
|
|
39
38
|
# This enum is used to determine if a transaction is exempt from tax.
|
|
40
|
-
field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
39
|
+
field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
41
40
|
# List of tax items applied to the transaction item.
|
|
42
41
|
field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemEstimate)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
|
|
43
42
|
# Defaults to 1.0. The quantity of the item.
|
|
@@ -7,16 +7,17 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionItemRead
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
|
-
#
|
|
15
|
+
# Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
|
|
16
|
+
#
|
|
17
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
17
18
|
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
|
18
19
|
# Date/time of item.
|
|
19
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
20
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
20
21
|
# External product identifier.
|
|
21
22
|
field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
|
|
22
23
|
# The unique transaction item identifier.
|
|
@@ -36,9 +37,9 @@ module KintsugiSDK
|
|
|
36
37
|
# Product description
|
|
37
38
|
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
|
38
39
|
|
|
39
|
-
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
40
|
+
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
40
41
|
|
|
41
|
-
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
42
|
+
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
42
43
|
# Converted item amount.
|
|
43
44
|
field :converted_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
|
44
45
|
# Converted taxable amount.
|
|
@@ -52,7 +53,7 @@ module KintsugiSDK
|
|
|
52
53
|
# Converted subtotal amount.
|
|
53
54
|
field :converted_subtotal, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
|
|
54
55
|
# This enum is used to determine if a transaction is exempt from tax.
|
|
55
|
-
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
56
|
+
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
|
56
57
|
# Total discount amount applied to this transaction item.
|
|
57
58
|
field :total_discount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_discount') } }
|
|
58
59
|
# Subtotal amount before any discount is applied.
|
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionPublicRequest
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
|
-
# Unique identifier of the organization.
|
|
15
|
+
# Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
|
|
16
|
+
#
|
|
17
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
17
18
|
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
|
18
19
|
# External identifier of the transaction.
|
|
19
20
|
field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
|
|
20
21
|
# Transaction date and time
|
|
21
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
22
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
22
23
|
|
|
23
24
|
field :addresses, Crystalline::Array.new(Models::Shared::TransactionAddressPublic), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
|
|
24
25
|
|
|
@@ -26,28 +27,27 @@ module KintsugiSDK
|
|
|
26
27
|
|
|
27
28
|
field :customer, Models::Shared::CustomerBaseBase, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer'), required: true } }
|
|
28
29
|
|
|
29
|
-
field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
|
|
30
|
+
field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
|
|
30
31
|
|
|
31
32
|
field :requires_exemption, Crystalline::Nilable.new(Models::Shared::ExemptionRequired), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('requires_exemption') } }
|
|
32
33
|
# Transaction date in the shop's local timezone
|
|
33
34
|
field :shop_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date') } }
|
|
34
35
|
# Timezone of the shop
|
|
35
36
|
field :shop_date_tz, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date_tz') } }
|
|
36
|
-
|
|
37
|
-
field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
|
|
38
37
|
# Description of the transaction.
|
|
39
38
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
|
40
39
|
# Shopify has 2 order statuses for refund case: refunded and partially_refunded
|
|
41
40
|
# If the given order has different status from these 2, we will set the
|
|
42
41
|
# transaction's refund_status to PARTIALLY_REFUNDED by default.
|
|
43
|
-
field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
|
|
42
|
+
field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
|
|
44
43
|
# Unique identifier of the customer.
|
|
45
44
|
field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
|
|
46
45
|
# Based on transaction item exempt status.
|
|
47
46
|
# NOT EXEMPT: None of the items are NOT EXEMPT
|
|
48
47
|
# PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
|
|
49
48
|
# FULLY_EXEMPT: All items sold in the transaction are EXEMPT
|
|
50
|
-
|
|
49
|
+
# ZERO_RATE_NOT_EXEMPT: All items sold in the transaction are zero-rated
|
|
50
|
+
field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
|
|
51
51
|
# List of exemptions applied (if any).
|
|
52
52
|
field :exemptions, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::Exemption)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemptions') } }
|
|
53
53
|
# Related transaction identifier.
|
|
@@ -59,11 +59,11 @@ module KintsugiSDK
|
|
|
59
59
|
# Friendly identifier of the original item.
|
|
60
60
|
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
61
61
|
|
|
62
|
-
field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
|
|
62
|
+
field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
|
|
63
63
|
|
|
64
|
-
field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
64
|
+
field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
65
65
|
|
|
66
|
-
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
66
|
+
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
67
67
|
# Connection Identifier
|
|
68
68
|
field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
|
|
69
69
|
# Filing identifier.
|
|
@@ -75,11 +75,15 @@ module KintsugiSDK
|
|
|
75
75
|
# State of the transaction address.
|
|
76
76
|
field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
|
|
77
77
|
|
|
78
|
-
field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
78
|
+
field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
79
79
|
# Postal code of the transaction.
|
|
80
80
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
81
|
-
# Tax ID associated with the transaction
|
|
81
|
+
# Tax ID associated with the transaction. DEPRECATED: This field is only populated for QuickBooks integrations and will be removed in a future version.
|
|
82
|
+
#
|
|
83
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
82
84
|
field :tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id') } }
|
|
85
|
+
|
|
86
|
+
field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
|
|
83
87
|
# Total amount of the transaction.
|
|
84
88
|
field :total_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_amount') } }
|
|
85
89
|
# Indicates if transaction is marketplace-based.
|
|
@@ -99,8 +103,8 @@ module KintsugiSDK
|
|
|
99
103
|
# Transaction lock status.
|
|
100
104
|
field :locked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('locked') } }
|
|
101
105
|
|
|
102
|
-
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressPublic], transaction_items: T::Array[Models::Shared::TransactionItemBuilder], customer: Models::Shared::CustomerBaseBase, type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String),
|
|
103
|
-
def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, customer:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil,
|
|
106
|
+
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressPublic], transaction_items: T::Array[Models::Shared::TransactionItemBuilder], customer: Models::Shared::CustomerBaseBase, type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), total_amount: T.nilable(::Float), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), total_tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), total_tax_liability_amount: T.nilable(::Float), taxable_amount: T.nilable(::Float), locked: T.nilable(T::Boolean)).void }
|
|
107
|
+
def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, customer:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, status: nil, total_amount: 0.0, marketplace: false, total_tax_amount_imported: 0.0, tax_rate_imported: 0.0, total_tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, total_tax_liability_amount: 0.0, taxable_amount: 0.0, locked: false)
|
|
104
108
|
@organization_id = organization_id
|
|
105
109
|
@external_id = external_id
|
|
106
110
|
@date = date
|
|
@@ -111,7 +115,6 @@ module KintsugiSDK
|
|
|
111
115
|
@requires_exemption = requires_exemption
|
|
112
116
|
@shop_date = shop_date
|
|
113
117
|
@shop_date_tz = shop_date_tz
|
|
114
|
-
@status = status
|
|
115
118
|
@description = description
|
|
116
119
|
@refund_status = refund_status
|
|
117
120
|
@customer_id = customer_id
|
|
@@ -132,6 +135,7 @@ module KintsugiSDK
|
|
|
132
135
|
@country = country
|
|
133
136
|
@postal_code = postal_code
|
|
134
137
|
@tax_id = tax_id
|
|
138
|
+
@status = status
|
|
135
139
|
@total_amount = total_amount
|
|
136
140
|
@marketplace = marketplace
|
|
137
141
|
@total_tax_amount_imported = total_tax_amount_imported
|
|
@@ -156,7 +160,6 @@ module KintsugiSDK
|
|
|
156
160
|
return false unless @requires_exemption == other.requires_exemption
|
|
157
161
|
return false unless @shop_date == other.shop_date
|
|
158
162
|
return false unless @shop_date_tz == other.shop_date_tz
|
|
159
|
-
return false unless @status == other.status
|
|
160
163
|
return false unless @description == other.description
|
|
161
164
|
return false unless @refund_status == other.refund_status
|
|
162
165
|
return false unless @customer_id == other.customer_id
|
|
@@ -177,6 +180,7 @@ module KintsugiSDK
|
|
|
177
180
|
return false unless @country == other.country
|
|
178
181
|
return false unless @postal_code == other.postal_code
|
|
179
182
|
return false unless @tax_id == other.tax_id
|
|
183
|
+
return false unless @status == other.status
|
|
180
184
|
return false unless @total_amount == other.total_amount
|
|
181
185
|
return false unless @marketplace == other.marketplace
|
|
182
186
|
return false unless @total_tax_amount_imported == other.total_tax_amount_imported
|
|
@@ -28,8 +28,6 @@ class KintsugiSDK::Models::Shared::TransactionPublicRequest
|
|
|
28
28
|
def shop_date=(str_); end
|
|
29
29
|
def shop_date_tz(); end
|
|
30
30
|
def shop_date_tz=(str_); end
|
|
31
|
-
def status(); end
|
|
32
|
-
def status=(str_); end
|
|
33
31
|
def description(); end
|
|
34
32
|
def description=(str_); end
|
|
35
33
|
def refund_status(); end
|
|
@@ -70,6 +68,8 @@ class KintsugiSDK::Models::Shared::TransactionPublicRequest
|
|
|
70
68
|
def postal_code=(str_); end
|
|
71
69
|
def tax_id(); end
|
|
72
70
|
def tax_id=(str_); end
|
|
71
|
+
def status(); end
|
|
72
|
+
def status=(str_); end
|
|
73
73
|
def total_amount(); end
|
|
74
74
|
def total_amount=(str_); end
|
|
75
75
|
def marketplace(); end
|
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionRead
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
|
-
# Unique identifier of the organization.
|
|
15
|
+
# Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
|
|
16
|
+
#
|
|
17
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
17
18
|
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
|
18
19
|
# External identifier of the transaction.
|
|
19
20
|
field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
|
|
20
21
|
# Transaction date and time
|
|
21
|
-
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
22
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
|
|
22
23
|
# The unique transaction identifier.
|
|
23
24
|
field :id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id'), required: true } }
|
|
24
25
|
# List of addresses associated.
|
|
@@ -26,28 +27,27 @@ module KintsugiSDK
|
|
|
26
27
|
# List of items in the transaction.
|
|
27
28
|
field :transaction_items, Crystalline::Array.new(Models::Shared::TransactionItemRead), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_items'), required: true } }
|
|
28
29
|
|
|
29
|
-
field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
|
|
30
|
+
field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
|
|
30
31
|
|
|
31
32
|
field :requires_exemption, Crystalline::Nilable.new(Models::Shared::ExemptionRequired), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('requires_exemption') } }
|
|
32
33
|
# Transaction date in the shop's local timezone
|
|
33
34
|
field :shop_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date') } }
|
|
34
35
|
# Timezone of the shop
|
|
35
36
|
field :shop_date_tz, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date_tz') } }
|
|
36
|
-
|
|
37
|
-
field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
|
|
38
37
|
# Description of the transaction.
|
|
39
38
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
|
40
39
|
# Shopify has 2 order statuses for refund case: refunded and partially_refunded
|
|
41
40
|
# If the given order has different status from these 2, we will set the
|
|
42
41
|
# transaction's refund_status to PARTIALLY_REFUNDED by default.
|
|
43
|
-
field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
|
|
42
|
+
field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
|
|
44
43
|
# Unique identifier of the customer.
|
|
45
44
|
field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
|
|
46
45
|
# Based on transaction item exempt status.
|
|
47
46
|
# NOT EXEMPT: None of the items are NOT EXEMPT
|
|
48
47
|
# PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
|
|
49
48
|
# FULLY_EXEMPT: All items sold in the transaction are EXEMPT
|
|
50
|
-
|
|
49
|
+
# ZERO_RATE_NOT_EXEMPT: All items sold in the transaction are zero-rated
|
|
50
|
+
field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
|
|
51
51
|
# List of exemptions applied (if any).
|
|
52
52
|
field :exemptions, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::Exemption)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemptions') } }
|
|
53
53
|
# Related transaction identifier.
|
|
@@ -59,11 +59,11 @@ module KintsugiSDK
|
|
|
59
59
|
# Friendly identifier of the original item.
|
|
60
60
|
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
61
61
|
|
|
62
|
-
field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
|
|
62
|
+
field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
|
|
63
63
|
|
|
64
|
-
field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
64
|
+
field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
65
65
|
|
|
66
|
-
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
66
|
+
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
|
67
67
|
# Connection Identifier
|
|
68
68
|
field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
|
|
69
69
|
# Filing identifier.
|
|
@@ -75,18 +75,22 @@ module KintsugiSDK
|
|
|
75
75
|
# State of the transaction address.
|
|
76
76
|
field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
|
|
77
77
|
|
|
78
|
-
field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
78
|
+
field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
79
79
|
# Postal code of the transaction.
|
|
80
80
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
81
|
-
# Tax ID associated with the transaction
|
|
81
|
+
# Tax ID associated with the transaction. DEPRECATED: This field is only populated for QuickBooks integrations and will be removed in a future version.
|
|
82
|
+
#
|
|
83
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
82
84
|
field :tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id') } }
|
|
83
85
|
|
|
84
|
-
field :
|
|
86
|
+
field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
|
|
87
|
+
|
|
88
|
+
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
85
89
|
# Our transaction state, used to determine when/if a transaction needs additional
|
|
86
90
|
# processing.
|
|
87
|
-
field :processing_status, Crystalline::Nilable.new(Models::Shared::ProcessingStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': Utils.enum_from_string(Models::Shared::ProcessingStatusEnum, true) } }
|
|
91
|
+
field :processing_status, Crystalline::Nilable.new(Models::Shared::ProcessingStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ProcessingStatusEnum, true) } }
|
|
88
92
|
|
|
89
|
-
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
93
|
+
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
|
90
94
|
# Converted total amount.
|
|
91
95
|
field :converted_total_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_amount') } }
|
|
92
96
|
# Converted imported tax amount.
|
|
@@ -132,8 +136,8 @@ module KintsugiSDK
|
|
|
132
136
|
# Transaction lock status.
|
|
133
137
|
field :locked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('locked') } }
|
|
134
138
|
|
|
135
|
-
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, id: ::String, addresses: T::Array[Models::Shared::TransactionAddressReadOutput], transaction_items: T::Array[Models::Shared::TransactionItemRead], type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String),
|
|
136
|
-
def initialize(organization_id:, external_id:, date:, id:, addresses:, transaction_items:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil,
|
|
139
|
+
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, id: ::String, addresses: T::Array[Models::Shared::TransactionAddressReadOutput], transaction_items: T::Array[Models::Shared::TransactionItemRead], type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), address_status: T.nilable(Models::Shared::AddressStatus), processing_status: T.nilable(Models::Shared::ProcessingStatusEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_total_amount: T.nilable(::String), converted_total_tax_amount_imported: T.nilable(::String), converted_total_tax_amount_calculated: T.nilable(::String), conversion_rate: T.nilable(::String), converted_taxable_amount: T.nilable(::String), converted_total_discount: T.nilable(::String), converted_subtotal: T.nilable(::String), converted_total_tax_liability_amount: T.nilable(::String), customer: T.nilable(Models::Shared::CustomerRead), total_discount: T.nilable(::String), subtotal: T.nilable(::String), final_total_amount: T.nilable(::String), converted_final_total_amount: T.nilable(::String), total_amount: T.nilable(::String), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::String), tax_rate_imported: T.nilable(::String), total_tax_amount_calculated: T.nilable(::String), tax_rate_calculated: T.nilable(::String), total_tax_liability_amount: T.nilable(::String), taxable_amount: T.nilable(::String), locked: T.nilable(T::Boolean)).void }
|
|
140
|
+
def initialize(organization_id:, external_id:, date:, id:, addresses:, transaction_items:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, status: nil, address_status: nil, processing_status: nil, destination_currency: nil, converted_total_amount: nil, converted_total_tax_amount_imported: nil, converted_total_tax_amount_calculated: nil, conversion_rate: nil, converted_taxable_amount: nil, converted_total_discount: nil, converted_subtotal: nil, converted_total_tax_liability_amount: nil, customer: nil, total_discount: nil, subtotal: nil, final_total_amount: nil, converted_final_total_amount: nil, total_amount: '0.00', marketplace: false, total_tax_amount_imported: '0.00', tax_rate_imported: '0.00', total_tax_amount_calculated: '0.00', tax_rate_calculated: '0.00', total_tax_liability_amount: '0.00', taxable_amount: '0.00', locked: false)
|
|
137
141
|
@organization_id = organization_id
|
|
138
142
|
@external_id = external_id
|
|
139
143
|
@date = date
|
|
@@ -144,7 +148,6 @@ module KintsugiSDK
|
|
|
144
148
|
@requires_exemption = requires_exemption
|
|
145
149
|
@shop_date = shop_date
|
|
146
150
|
@shop_date_tz = shop_date_tz
|
|
147
|
-
@status = status
|
|
148
151
|
@description = description
|
|
149
152
|
@refund_status = refund_status
|
|
150
153
|
@customer_id = customer_id
|
|
@@ -165,6 +168,7 @@ module KintsugiSDK
|
|
|
165
168
|
@country = country
|
|
166
169
|
@postal_code = postal_code
|
|
167
170
|
@tax_id = tax_id
|
|
171
|
+
@status = status
|
|
168
172
|
@address_status = address_status
|
|
169
173
|
@processing_status = processing_status
|
|
170
174
|
@destination_currency = destination_currency
|
|
@@ -205,7 +209,6 @@ module KintsugiSDK
|
|
|
205
209
|
return false unless @requires_exemption == other.requires_exemption
|
|
206
210
|
return false unless @shop_date == other.shop_date
|
|
207
211
|
return false unless @shop_date_tz == other.shop_date_tz
|
|
208
|
-
return false unless @status == other.status
|
|
209
212
|
return false unless @description == other.description
|
|
210
213
|
return false unless @refund_status == other.refund_status
|
|
211
214
|
return false unless @customer_id == other.customer_id
|
|
@@ -226,6 +229,7 @@ module KintsugiSDK
|
|
|
226
229
|
return false unless @country == other.country
|
|
227
230
|
return false unless @postal_code == other.postal_code
|
|
228
231
|
return false unless @tax_id == other.tax_id
|
|
232
|
+
return false unless @status == other.status
|
|
229
233
|
return false unless @address_status == other.address_status
|
|
230
234
|
return false unless @processing_status == other.processing_status
|
|
231
235
|
return false unless @destination_currency == other.destination_currency
|
|
@@ -28,8 +28,6 @@ class KintsugiSDK::Models::Shared::TransactionRead
|
|
|
28
28
|
def shop_date=(str_); end
|
|
29
29
|
def shop_date_tz(); end
|
|
30
30
|
def shop_date_tz=(str_); end
|
|
31
|
-
def status(); end
|
|
32
|
-
def status=(str_); end
|
|
33
31
|
def description(); end
|
|
34
32
|
def description=(str_); end
|
|
35
33
|
def refund_status(); end
|
|
@@ -70,6 +68,8 @@ class KintsugiSDK::Models::Shared::TransactionRead
|
|
|
70
68
|
def postal_code=(str_); end
|
|
71
69
|
def tax_id(); end
|
|
72
70
|
def tax_id=(str_); end
|
|
71
|
+
def status(); end
|
|
72
|
+
def status=(str_); end
|
|
73
73
|
def address_status(); end
|
|
74
74
|
def address_status=(str_); end
|
|
75
75
|
def processing_status(); end
|
|
@@ -7,13 +7,10 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
# TransactionRefundStatus - Shopify has 2 order statuses for refund case: refunded and partially_refunded
|
|
12
11
|
# If the given order has different status from these 2, we will set the
|
|
13
12
|
# transaction's refund_status to PARTIALLY_REFUNDED by default.
|
|
14
13
|
class TransactionRefundStatus < T::Enum
|
|
15
|
-
|
|
16
|
-
|
|
17
14
|
enums do
|
|
18
15
|
FULLY_REFUNDED = new('FULLY_REFUNDED')
|
|
19
16
|
PARTIALLY_REFUNDED = new('PARTIALLY_REFUNDED')
|