kintsugi_sdk 5.5.12 → 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 +12 -5
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +4 -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 +14 -7
- data/lib/kintsugi_sdk/models/shared/customercreate.rbi +4 -0
- data/lib/kintsugi_sdk/models/shared/customerread.rb +14 -7
- data/lib/kintsugi_sdk/models/shared/customerread.rbi +4 -0
- data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rb +52 -0
- data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rbi +23 -0
- data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/customerupdate.rb +10 -7
- data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +2 -0
- 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 -26
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +10 -2
- 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 +10 -4
- 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 +9 -8
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +10 -9
- 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 +19 -60
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +2 -24
- 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 +3 -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 +77 -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,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class ProductRead
|
|
13
12
|
extend T::Sig
|
|
@@ -20,27 +19,31 @@ module KintsugiSDK
|
|
|
20
19
|
|
|
21
20
|
field :sku, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sku'), required: true } }
|
|
22
21
|
|
|
23
|
-
field :code,
|
|
22
|
+
field :code, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('code'), required: true } }
|
|
24
23
|
|
|
25
24
|
field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
|
|
26
25
|
|
|
27
26
|
field :description, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description'), required: true } }
|
|
28
27
|
|
|
29
|
-
field :status, Models::Shared::ProductStatusEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ProductStatusEnum, false) } }
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
field :
|
|
28
|
+
field :status, Models::Shared::ProductStatusEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ProductStatusEnum, false) } }
|
|
29
|
+
# Main category of the product.
|
|
30
|
+
# For example, Physical, Digital, etc. You can
|
|
31
|
+
# retrieve supported categories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
|
|
32
|
+
field :product_category, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_category'), required: true } }
|
|
33
|
+
# Subcategory of the product.
|
|
34
|
+
# For example, General Clothing, UNKNOWN, etc. You can
|
|
35
|
+
# retrieve supported subcategories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
|
|
36
|
+
field :product_subcategory, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory'), required: true } }
|
|
34
37
|
|
|
35
38
|
field :tax_exempt, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exempt'), required: true } }
|
|
36
39
|
|
|
37
|
-
field :source, Models::Shared::SourceEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, false) } }
|
|
40
|
+
field :source, Models::Shared::SourceEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, false) } }
|
|
38
41
|
|
|
39
42
|
field :connection_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id'), required: true } }
|
|
40
43
|
|
|
41
44
|
field :classification_failed, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('classification_failed'), required: true } }
|
|
42
45
|
|
|
43
|
-
sig { params(id: ::String, external_id: ::String, sku: T::Array[::String], code:
|
|
46
|
+
sig { params(id: ::String, external_id: ::String, sku: T::Array[::String], code: ::String, name: ::String, description: ::String, status: Models::Shared::ProductStatusEnum, product_category: ::String, product_subcategory: ::String, tax_exempt: T::Boolean, source: Models::Shared::SourceEnum, connection_id: ::String, classification_failed: T::Boolean).void }
|
|
44
47
|
def initialize(id:, external_id:, sku:, code:, name:, description:, status:, product_category:, product_subcategory:, tax_exempt:, source:, connection_id:, classification_failed:)
|
|
45
48
|
@id = id
|
|
46
49
|
@external_id = external_id
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class ProductUpdate
|
|
13
12
|
extend T::Sig
|
|
@@ -15,10 +14,14 @@ module KintsugiSDK
|
|
|
15
14
|
|
|
16
15
|
# Name of the product.
|
|
17
16
|
field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
field :
|
|
17
|
+
# Main category of the product.
|
|
18
|
+
# For example, Physical, Digital, etc. You can
|
|
19
|
+
# retrieve supported categories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
|
|
20
|
+
field :product_category, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_category'), required: true } }
|
|
21
|
+
# Subcategory of the product.
|
|
22
|
+
# For example, General Clothing, UNKNOWN, etc. You can
|
|
23
|
+
# retrieve supported subcategories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
|
|
24
|
+
field :product_subcategory, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory'), required: true } }
|
|
22
25
|
# Indicates whether the product is tax-exempt.
|
|
23
26
|
field :tax_exempt, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exempt'), required: true } }
|
|
24
27
|
# The unique identifier of the product to be updated.
|
|
@@ -31,11 +34,11 @@ module KintsugiSDK
|
|
|
31
34
|
# Description of the product.
|
|
32
35
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
|
33
36
|
|
|
34
|
-
field :status, Crystalline::Nilable.new(Models::Shared::ProductStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::ProductStatusEnum, true) } }
|
|
37
|
+
field :status, Crystalline::Nilable.new(Models::Shared::ProductStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ProductStatusEnum, true) } }
|
|
35
38
|
# Indicates if the product classification failed.
|
|
36
39
|
field :classification_failed, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('classification_failed') } }
|
|
37
40
|
|
|
38
|
-
sig { params(name: ::String, product_category:
|
|
41
|
+
sig { params(name: ::String, product_category: ::String, product_subcategory: ::String, tax_exempt: T::Boolean, id: T.nilable(::String), external_id: T.nilable(::String), sku: T.nilable(T::Array[::String]), description: T.nilable(::String), status: T.nilable(Models::Shared::ProductStatusEnum), classification_failed: T.nilable(T::Boolean)).void }
|
|
39
42
|
def initialize(name:, product_category:, product_subcategory:, tax_exempt:, id: nil, external_id: nil, sku: nil, description: nil, status: nil, classification_failed: false)
|
|
40
43
|
@name = name
|
|
41
44
|
@product_category = product_category
|
|
@@ -7,13 +7,12 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class SourceEnum < T::Enum
|
|
13
|
-
|
|
14
|
-
|
|
15
12
|
enums do
|
|
16
13
|
BIGCOMMERCE = new('BIGCOMMERCE')
|
|
14
|
+
BESTBUY = new('BESTBUY')
|
|
15
|
+
BUNNY = new('BUNNY')
|
|
17
16
|
CHARGEBEE = new('CHARGEBEE')
|
|
18
17
|
SHOPIFY = new('SHOPIFY')
|
|
19
18
|
STRIPE = new('STRIPE')
|
|
@@ -47,6 +46,7 @@ module KintsugiSDK
|
|
|
47
46
|
GUSTO = new('GUSTO')
|
|
48
47
|
FACEBOOK = new('FACEBOOK')
|
|
49
48
|
OTHER = new('OTHER')
|
|
49
|
+
ORDWAY = new('ORDWAY')
|
|
50
50
|
INSTAGRAM = new('INSTAGRAM')
|
|
51
51
|
PINTEREST = new('PINTEREST')
|
|
52
52
|
WAYFAIR = new('WAYFAIR')
|
|
@@ -63,7 +63,13 @@ module KintsugiSDK
|
|
|
63
63
|
FAIRE = new('FAIRE')
|
|
64
64
|
SHOPWARE = new('SHOPWARE')
|
|
65
65
|
ZOHO = new('ZOHO')
|
|
66
|
-
SAGE_INTACCT = new('
|
|
66
|
+
SAGE_INTACCT = new('SAGE-INTACCT')
|
|
67
|
+
AIRWALLEX = new('AIRWALLEX')
|
|
68
|
+
ORB = new('ORB')
|
|
69
|
+
ZENSKAR = new('ZENSKAR')
|
|
70
|
+
MICROSOFT_DYNAMICS_365 = new('MICROSOFT_DYNAMICS_365')
|
|
71
|
+
KICKSTARTER = new('KICKSTARTER')
|
|
72
|
+
INTERNAL_ERP = new('INTERNAL_ERP')
|
|
67
73
|
end
|
|
68
74
|
end
|
|
69
75
|
end
|
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
# TaxExemptionEnum - This enum is used to determine if a transaction is exempt from tax.
|
|
12
11
|
class TaxExemptionEnum < T::Enum
|
|
13
|
-
|
|
14
|
-
|
|
15
12
|
enums do
|
|
16
13
|
PRODUCT = new('PRODUCT')
|
|
17
14
|
TRANSACTION = new('TRANSACTION')
|
|
@@ -24,6 +21,7 @@ module KintsugiSDK
|
|
|
24
21
|
ZERO_VALUE_ITEM = new('ZERO_VALUE_ITEM')
|
|
25
22
|
NO_RULE_FOUND = new('NO_RULE_FOUND')
|
|
26
23
|
IMPORTED = new('IMPORTED')
|
|
24
|
+
ZERO_RATE_NOT_EXEMPT = new('ZERO_RATE_NOT_EXEMPT')
|
|
27
25
|
end
|
|
28
26
|
end
|
|
29
27
|
end
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TaxItemBuilder
|
|
13
12
|
extend T::Sig
|
|
@@ -24,15 +23,15 @@ module KintsugiSDK
|
|
|
24
23
|
|
|
25
24
|
field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
|
26
25
|
|
|
27
|
-
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) } }
|
|
26
|
+
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) } }
|
|
28
27
|
|
|
29
|
-
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) } }
|
|
28
|
+
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) } }
|
|
30
29
|
|
|
31
30
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
32
31
|
|
|
33
|
-
field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
|
|
32
|
+
field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
|
|
34
33
|
|
|
35
|
-
field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
|
|
34
|
+
field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
|
|
36
35
|
|
|
37
36
|
field :jurisdiction_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_name') } }
|
|
38
37
|
# The rule ID of the tax item
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TaxItemEstimate
|
|
13
12
|
extend T::Sig
|
|
@@ -16,7 +15,7 @@ module KintsugiSDK
|
|
|
16
15
|
|
|
17
16
|
field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
|
|
18
17
|
# We use this to understand the response from get_tax_items
|
|
19
|
-
field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxItemReturnReasonEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemReturnReasonEnum, true) } }
|
|
18
|
+
field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxItemReturnReasonEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxItemReturnReasonEnum, true) } }
|
|
20
19
|
|
|
21
20
|
field :rule, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rule') } }
|
|
22
21
|
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TaxItemRead
|
|
13
12
|
extend T::Sig
|
|
@@ -22,15 +21,15 @@ module KintsugiSDK
|
|
|
22
21
|
|
|
23
22
|
field :converted_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
|
24
23
|
|
|
25
|
-
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) } }
|
|
24
|
+
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) } }
|
|
26
25
|
|
|
27
|
-
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) } }
|
|
26
|
+
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) } }
|
|
28
27
|
|
|
29
28
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
30
29
|
|
|
31
|
-
field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
|
|
30
|
+
field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
|
|
32
31
|
|
|
33
|
-
field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
|
|
32
|
+
field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
|
|
34
33
|
|
|
35
34
|
field :jurisdiction_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_name') } }
|
|
36
35
|
# The rule ID of the tax item
|
|
@@ -7,17 +7,16 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
# TaxItemReturnReasonEnum - We use this to understand the response from get_tax_items
|
|
12
11
|
class TaxItemReturnReasonEnum < T::Enum
|
|
13
|
-
|
|
14
|
-
|
|
15
12
|
enums do
|
|
16
13
|
NO_RULE_FOUND = new('NO_RULE_FOUND')
|
|
17
14
|
RULE_FOUND_TAXABLE = new('RULE_FOUND_TAXABLE')
|
|
18
15
|
RULE_FOUND_NOT_TAXABLE = new('RULE_FOUND_NOT_TAXABLE')
|
|
16
|
+
RULE_FOUND_TAXABLE_ZERO_RATE = new('RULE_FOUND_TAXABLE_ZERO_RATE')
|
|
19
17
|
PRODUCT_EXEMPT = new('PRODUCT_EXEMPT')
|
|
20
18
|
FROM_IMPORT = new('FROM_IMPORT')
|
|
19
|
+
RULE_EXCLUDED_IN_CALCULATION = new('RULE_EXCLUDED_IN_CALCULATION')
|
|
21
20
|
end
|
|
22
21
|
end
|
|
23
22
|
end
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionAddressBuilder
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
16
|
+
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
18
17
|
# Phone number associated with the address.
|
|
19
18
|
field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
|
|
20
19
|
# Primary street address.
|
|
@@ -30,13 +29,13 @@ module KintsugiSDK
|
|
|
30
29
|
# ZIP or Postal code of the customer.
|
|
31
30
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
32
31
|
|
|
33
|
-
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) } }
|
|
32
|
+
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) } }
|
|
34
33
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
35
34
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
36
35
|
# Optional additional enriched data for the address.
|
|
37
36
|
field :enriched_fields, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('enriched_fields') } }
|
|
38
37
|
|
|
39
|
-
field :status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
38
|
+
field :status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
40
39
|
|
|
41
40
|
field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
|
|
42
41
|
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
# Public address class for transaction addresses
|
|
12
11
|
class TransactionAddressPublic
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
16
|
+
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
18
17
|
# Phone number associated with the address.
|
|
19
18
|
field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
|
|
20
19
|
# Primary street address.
|
|
@@ -30,7 +29,7 @@ module KintsugiSDK
|
|
|
30
29
|
# ZIP or Postal code of the customer.
|
|
31
30
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
32
31
|
|
|
33
|
-
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) } }
|
|
32
|
+
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) } }
|
|
34
33
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
35
34
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
36
35
|
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionAddressReadOutput
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
16
|
+
field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressType, false) } }
|
|
18
17
|
# Phone number associated with the address.
|
|
19
18
|
field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
|
|
20
19
|
# Primary street address.
|
|
@@ -30,11 +29,11 @@ module KintsugiSDK
|
|
|
30
29
|
# ZIP or Postal code of the customer.
|
|
31
30
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
32
31
|
|
|
33
|
-
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) } }
|
|
32
|
+
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) } }
|
|
34
33
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
35
34
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
36
35
|
|
|
37
|
-
field :status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
36
|
+
field :status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
38
37
|
# Unique identifier of the address being updated.
|
|
39
38
|
field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id') } }
|
|
40
39
|
# ID of the transaction associated with the address.
|
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class TransactionCreate
|
|
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::TransactionAddressBuilder), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
|
|
24
25
|
|
|
@@ -29,21 +30,20 @@ module KintsugiSDK
|
|
|
29
30
|
field :shop_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date') } }
|
|
30
31
|
# Timezone of the shop
|
|
31
32
|
field :shop_date_tz, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date_tz') } }
|
|
32
|
-
|
|
33
|
-
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) } }
|
|
34
33
|
# Description of the transaction.
|
|
35
34
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
|
36
35
|
# Shopify has 2 order statuses for refund case: refunded and partially_refunded
|
|
37
36
|
# If the given order has different status from these 2, we will set the
|
|
38
37
|
# transaction's refund_status to PARTIALLY_REFUNDED by default.
|
|
39
|
-
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) } }
|
|
38
|
+
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) } }
|
|
40
39
|
# Unique identifier of the customer.
|
|
41
40
|
field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
|
|
42
41
|
# Based on transaction item exempt status.
|
|
43
42
|
# NOT EXEMPT: None of the items are NOT EXEMPT
|
|
44
43
|
# PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
|
|
45
44
|
# FULLY_EXEMPT: All items sold in the transaction are EXEMPT
|
|
46
|
-
|
|
45
|
+
# ZERO_RATE_NOT_EXEMPT: All items sold in the transaction are zero-rated
|
|
46
|
+
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) } }
|
|
47
47
|
# List of exemptions applied (if any).
|
|
48
48
|
field :exemptions, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::Exemption)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemptions') } }
|
|
49
49
|
# Related transaction identifier.
|
|
@@ -55,11 +55,11 @@ module KintsugiSDK
|
|
|
55
55
|
# Friendly identifier of the original item.
|
|
56
56
|
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
57
57
|
|
|
58
|
-
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) } }
|
|
58
|
+
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) } }
|
|
59
59
|
|
|
60
|
-
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) } }
|
|
60
|
+
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) } }
|
|
61
61
|
|
|
62
|
-
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) } }
|
|
62
|
+
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) } }
|
|
63
63
|
# Connection Identifier
|
|
64
64
|
field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
|
|
65
65
|
# Filing identifier.
|
|
@@ -71,18 +71,22 @@ module KintsugiSDK
|
|
|
71
71
|
# State of the transaction address.
|
|
72
72
|
field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
|
|
73
73
|
|
|
74
|
-
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) } }
|
|
74
|
+
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) } }
|
|
75
75
|
# Postal code of the transaction.
|
|
76
76
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
77
|
-
# Tax ID associated with the transaction
|
|
77
|
+
# Tax ID associated with the transaction. DEPRECATED: This field is only populated for QuickBooks integrations and will be removed in a future version.
|
|
78
|
+
#
|
|
79
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
78
80
|
field :tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id') } }
|
|
79
81
|
|
|
80
|
-
field :
|
|
82
|
+
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
|
+
|
|
84
|
+
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) } }
|
|
81
85
|
# Our transaction state, used to determine when/if a transaction needs additional
|
|
82
86
|
# processing.
|
|
83
|
-
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) } }
|
|
87
|
+
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) } }
|
|
84
88
|
|
|
85
|
-
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) } }
|
|
89
|
+
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) } }
|
|
86
90
|
# Converted total amount.
|
|
87
91
|
field :converted_total_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_amount') } }
|
|
88
92
|
# Converted imported tax amount.
|
|
@@ -120,8 +124,8 @@ module KintsugiSDK
|
|
|
120
124
|
# Transaction lock status.
|
|
121
125
|
field :locked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('locked') } }
|
|
122
126
|
|
|
123
|
-
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressBuilder], transaction_items: T::Array[Models::Shared::TransactionItemCreateUpdate], requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String),
|
|
124
|
-
def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil,
|
|
127
|
+
sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressBuilder], transaction_items: T::Array[Models::Shared::TransactionItemCreateUpdate], 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(::Float), converted_total_tax_amount_imported: T.nilable(::Float), converted_total_tax_amount_calculated: T.nilable(::Float), conversion_rate: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), converted_total_tax_liability_amount: T.nilable(::Float), customer: T.nilable(Models::Shared::CustomerCreate), 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 }
|
|
128
|
+
def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, 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_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)
|
|
125
129
|
@organization_id = organization_id
|
|
126
130
|
@external_id = external_id
|
|
127
131
|
@date = date
|
|
@@ -130,7 +134,6 @@ module KintsugiSDK
|
|
|
130
134
|
@requires_exemption = requires_exemption
|
|
131
135
|
@shop_date = shop_date
|
|
132
136
|
@shop_date_tz = shop_date_tz
|
|
133
|
-
@status = status
|
|
134
137
|
@description = description
|
|
135
138
|
@refund_status = refund_status
|
|
136
139
|
@customer_id = customer_id
|
|
@@ -151,6 +154,7 @@ module KintsugiSDK
|
|
|
151
154
|
@country = country
|
|
152
155
|
@postal_code = postal_code
|
|
153
156
|
@tax_id = tax_id
|
|
157
|
+
@status = status
|
|
154
158
|
@address_status = address_status
|
|
155
159
|
@processing_status = processing_status
|
|
156
160
|
@destination_currency = destination_currency
|
|
@@ -185,7 +189,6 @@ module KintsugiSDK
|
|
|
185
189
|
return false unless @requires_exemption == other.requires_exemption
|
|
186
190
|
return false unless @shop_date == other.shop_date
|
|
187
191
|
return false unless @shop_date_tz == other.shop_date_tz
|
|
188
|
-
return false unless @status == other.status
|
|
189
192
|
return false unless @description == other.description
|
|
190
193
|
return false unless @refund_status == other.refund_status
|
|
191
194
|
return false unless @customer_id == other.customer_id
|
|
@@ -206,6 +209,7 @@ module KintsugiSDK
|
|
|
206
209
|
return false unless @country == other.country
|
|
207
210
|
return false unless @postal_code == other.postal_code
|
|
208
211
|
return false unless @tax_id == other.tax_id
|
|
212
|
+
return false unless @status == other.status
|
|
209
213
|
return false unless @address_status == other.address_status
|
|
210
214
|
return false unless @processing_status == other.processing_status
|
|
211
215
|
return false unless @destination_currency == other.destination_currency
|
|
@@ -24,8 +24,6 @@ class KintsugiSDK::Models::Shared::TransactionCreate
|
|
|
24
24
|
def shop_date=(str_); end
|
|
25
25
|
def shop_date_tz(); end
|
|
26
26
|
def shop_date_tz=(str_); end
|
|
27
|
-
def status(); end
|
|
28
|
-
def status=(str_); end
|
|
29
27
|
def description(); end
|
|
30
28
|
def description=(str_); end
|
|
31
29
|
def refund_status(); end
|
|
@@ -66,6 +64,8 @@ class KintsugiSDK::Models::Shared::TransactionCreate
|
|
|
66
64
|
def postal_code=(str_); end
|
|
67
65
|
def tax_id(); end
|
|
68
66
|
def tax_id=(str_); end
|
|
67
|
+
def status(); end
|
|
68
|
+
def status=(str_); end
|
|
69
69
|
def address_status(); end
|
|
70
70
|
def address_status=(str_); end
|
|
71
71
|
def processing_status(); end
|