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,11 +7,8 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CountryCodeEnum < T::Enum
|
|
13
|
-
|
|
14
|
-
|
|
15
12
|
enums do
|
|
16
13
|
AF = new('AF')
|
|
17
14
|
AX = new('AX')
|
|
@@ -123,6 +120,7 @@ module KintsugiSDK
|
|
|
123
120
|
IM = new('IM')
|
|
124
121
|
IL = new('IL')
|
|
125
122
|
IT = new('IT')
|
|
123
|
+
CI = new('CI')
|
|
126
124
|
JM = new('JM')
|
|
127
125
|
JP = new('JP')
|
|
128
126
|
JE = new('JE')
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerBase
|
|
13
12
|
extend T::Sig
|
|
@@ -28,7 +27,7 @@ module KintsugiSDK
|
|
|
28
27
|
# ZIP or Postal code of the customer.
|
|
29
28
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
30
29
|
|
|
31
|
-
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) } }
|
|
30
|
+
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) } }
|
|
32
31
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
33
32
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
34
33
|
# Name of the customer.
|
|
@@ -36,13 +35,13 @@ module KintsugiSDK
|
|
|
36
35
|
# A unique identifier for the customer.
|
|
37
36
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
38
37
|
|
|
39
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
38
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
40
39
|
# Email address of the customer.
|
|
41
40
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
42
41
|
|
|
43
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
42
|
+
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) } }
|
|
44
43
|
|
|
45
|
-
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) } }
|
|
44
|
+
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) } }
|
|
46
45
|
|
|
47
46
|
field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
|
|
48
47
|
# Unique identifier of the connection related to the customer.
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerBaseBase
|
|
13
12
|
extend T::Sig
|
|
@@ -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
|
# Name of the customer.
|
|
@@ -38,13 +37,13 @@ module KintsugiSDK
|
|
|
38
37
|
# A unique identifier for the customer.
|
|
39
38
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
40
39
|
|
|
41
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
40
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
42
41
|
# Email address of the customer.
|
|
43
42
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
44
43
|
|
|
45
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
44
|
+
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) } }
|
|
46
45
|
|
|
47
|
-
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) } }
|
|
46
|
+
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) } }
|
|
48
47
|
|
|
49
48
|
field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
|
|
50
49
|
# Unique identifier of the connection related to the customer.
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerBasePublic
|
|
13
12
|
extend T::Sig
|
|
@@ -28,7 +27,7 @@ module KintsugiSDK
|
|
|
28
27
|
# ZIP or Postal code of the customer.
|
|
29
28
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
30
29
|
|
|
31
|
-
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) } }
|
|
30
|
+
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) } }
|
|
32
31
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
33
32
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
34
33
|
# Name of the customer.
|
|
@@ -36,13 +35,13 @@ module KintsugiSDK
|
|
|
36
35
|
# A unique identifier for the customer.
|
|
37
36
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
38
37
|
|
|
39
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
38
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
40
39
|
# Email address of the customer.
|
|
41
40
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
42
41
|
|
|
43
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
42
|
+
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) } }
|
|
44
43
|
|
|
45
|
-
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) } }
|
|
44
|
+
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) } }
|
|
46
45
|
|
|
47
46
|
field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
|
|
48
47
|
# Unique identifier of the connection related to the customer.
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerCreate
|
|
13
12
|
extend T::Sig
|
|
@@ -28,7 +27,7 @@ module KintsugiSDK
|
|
|
28
27
|
# ZIP or Postal code of the customer.
|
|
29
28
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
30
29
|
|
|
31
|
-
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) } }
|
|
30
|
+
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) } }
|
|
32
31
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
33
32
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
34
33
|
# Name of the customer.
|
|
@@ -36,20 +35,24 @@ module KintsugiSDK
|
|
|
36
35
|
# External identifier associated with the customer.
|
|
37
36
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
38
37
|
|
|
39
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
38
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
40
39
|
# Customer's email address
|
|
41
40
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
42
41
|
|
|
43
|
-
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) } }
|
|
42
|
+
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) } }
|
|
44
43
|
# Identifier for the connection source, if applicable.
|
|
45
44
|
field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
|
|
46
45
|
|
|
47
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
46
|
+
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) } }
|
|
48
47
|
# Registration number of the customer.
|
|
49
48
|
field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
|
|
49
|
+
# External friendly identifier associated with the customer. We need it for netsuite.
|
|
50
|
+
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
51
|
+
# Customer tax registrations associated with the customer.
|
|
52
|
+
field :customer_tax_registrations, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::CustomerTaxRegistrationRead)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_tax_registrations') } }
|
|
50
53
|
|
|
51
|
-
sig { params(phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), external_id: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), address_status: T.nilable(Models::Shared::AddressStatus), registration_number: T.nilable(::String)).void }
|
|
52
|
-
def initialize(phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, external_id: nil, status: nil, email: nil, source: nil, connection_id: nil, address_status: nil, registration_number: nil)
|
|
54
|
+
sig { params(phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), external_id: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), address_status: T.nilable(Models::Shared::AddressStatus), registration_number: T.nilable(::String), external_friendly_id: T.nilable(::String), customer_tax_registrations: T.nilable(T::Array[Models::Shared::CustomerTaxRegistrationRead])).void }
|
|
55
|
+
def initialize(phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, external_id: nil, status: nil, email: nil, source: nil, connection_id: nil, address_status: nil, registration_number: nil, external_friendly_id: nil, customer_tax_registrations: nil)
|
|
53
56
|
@phone = phone
|
|
54
57
|
@street_1 = street_1
|
|
55
58
|
@street_2 = street_2
|
|
@@ -67,6 +70,8 @@ module KintsugiSDK
|
|
|
67
70
|
@connection_id = connection_id
|
|
68
71
|
@address_status = address_status
|
|
69
72
|
@registration_number = registration_number
|
|
73
|
+
@external_friendly_id = external_friendly_id
|
|
74
|
+
@customer_tax_registrations = customer_tax_registrations
|
|
70
75
|
end
|
|
71
76
|
|
|
72
77
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -89,6 +94,8 @@ module KintsugiSDK
|
|
|
89
94
|
return false unless @connection_id == other.connection_id
|
|
90
95
|
return false unless @address_status == other.address_status
|
|
91
96
|
return false unless @registration_number == other.registration_number
|
|
97
|
+
return false unless @external_friendly_id == other.external_friendly_id
|
|
98
|
+
return false unless @customer_tax_registrations == other.customer_tax_registrations
|
|
92
99
|
true
|
|
93
100
|
end
|
|
94
101
|
end
|
|
@@ -42,4 +42,8 @@ class KintsugiSDK::Models::Shared::CustomerCreate
|
|
|
42
42
|
def address_status=(str_); end
|
|
43
43
|
def registration_number(); end
|
|
44
44
|
def registration_number=(str_); end
|
|
45
|
+
def external_friendly_id(); end
|
|
46
|
+
def external_friendly_id=(str_); end
|
|
47
|
+
def customer_tax_registrations(); end
|
|
48
|
+
def customer_tax_registrations=(str_); end
|
|
45
49
|
end
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerRead
|
|
13
12
|
extend T::Sig
|
|
@@ -32,7 +31,7 @@ module KintsugiSDK
|
|
|
32
31
|
# ZIP or Postal code of the customer.
|
|
33
32
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
34
33
|
|
|
35
|
-
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) } }
|
|
34
|
+
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) } }
|
|
36
35
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
37
36
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
38
37
|
# Name of the customer.
|
|
@@ -40,20 +39,24 @@ module KintsugiSDK
|
|
|
40
39
|
# External identifier associated with the customer.
|
|
41
40
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
42
41
|
|
|
43
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
42
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
44
43
|
# Customer's email address
|
|
45
44
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
46
45
|
|
|
47
|
-
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) } }
|
|
46
|
+
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) } }
|
|
48
47
|
# Identifier for the connection source, if applicable.
|
|
49
48
|
field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
|
|
50
49
|
|
|
51
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
50
|
+
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) } }
|
|
52
51
|
# Registration number of the customer.
|
|
53
52
|
field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
|
|
53
|
+
# External friendly identifier associated with the customer. We need it for netsuite.
|
|
54
|
+
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
55
|
+
# Customer tax registrations associated with the customer.
|
|
56
|
+
field :customer_tax_registrations, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::CustomerTaxRegistrationRead)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_tax_registrations') } }
|
|
54
57
|
|
|
55
|
-
sig { params(id: ::String, organization_id: ::String, phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), external_id: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), address_status: T.nilable(Models::Shared::AddressStatus), registration_number: T.nilable(::String)).void }
|
|
56
|
-
def initialize(id:, organization_id:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, external_id: nil, status: nil, email: nil, source: nil, connection_id: nil, address_status: nil, registration_number: nil)
|
|
58
|
+
sig { params(id: ::String, organization_id: ::String, phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), external_id: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), address_status: T.nilable(Models::Shared::AddressStatus), registration_number: T.nilable(::String), external_friendly_id: T.nilable(::String), customer_tax_registrations: T.nilable(T::Array[Models::Shared::CustomerTaxRegistrationRead])).void }
|
|
59
|
+
def initialize(id:, organization_id:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, external_id: nil, status: nil, email: nil, source: nil, connection_id: nil, address_status: nil, registration_number: nil, external_friendly_id: nil, customer_tax_registrations: nil)
|
|
57
60
|
@id = id
|
|
58
61
|
@organization_id = organization_id
|
|
59
62
|
@phone = phone
|
|
@@ -73,6 +76,8 @@ module KintsugiSDK
|
|
|
73
76
|
@connection_id = connection_id
|
|
74
77
|
@address_status = address_status
|
|
75
78
|
@registration_number = registration_number
|
|
79
|
+
@external_friendly_id = external_friendly_id
|
|
80
|
+
@customer_tax_registrations = customer_tax_registrations
|
|
76
81
|
end
|
|
77
82
|
|
|
78
83
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -97,6 +102,8 @@ module KintsugiSDK
|
|
|
97
102
|
return false unless @connection_id == other.connection_id
|
|
98
103
|
return false unless @address_status == other.address_status
|
|
99
104
|
return false unless @registration_number == other.registration_number
|
|
105
|
+
return false unless @external_friendly_id == other.external_friendly_id
|
|
106
|
+
return false unless @customer_tax_registrations == other.customer_tax_registrations
|
|
100
107
|
true
|
|
101
108
|
end
|
|
102
109
|
end
|
|
@@ -46,4 +46,8 @@ class KintsugiSDK::Models::Shared::CustomerRead
|
|
|
46
46
|
def address_status=(str_); end
|
|
47
47
|
def registration_number(); end
|
|
48
48
|
def registration_number=(str_); end
|
|
49
|
+
def external_friendly_id(); end
|
|
50
|
+
def external_friendly_id=(str_); end
|
|
51
|
+
def customer_tax_registrations(); end
|
|
52
|
+
def customer_tax_registrations=(str_); end
|
|
49
53
|
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module KintsugiSDK
|
|
8
|
+
module Models
|
|
9
|
+
module Shared
|
|
10
|
+
|
|
11
|
+
class CustomerTaxRegistrationRead
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :customer_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id'), required: true } }
|
|
19
|
+
|
|
20
|
+
field :country_code, Models::Shared::CountryCodeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, false) } }
|
|
21
|
+
# Enum for customer tax registration types.
|
|
22
|
+
field :tax_type, Models::Shared::CustomerTaxTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CustomerTaxTypeEnum, false) } }
|
|
23
|
+
|
|
24
|
+
field :tax_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id'), required: true } }
|
|
25
|
+
|
|
26
|
+
field :is_valid, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('is_valid'), required: true } }
|
|
27
|
+
|
|
28
|
+
sig { params(id: ::String, customer_id: ::String, country_code: Models::Shared::CountryCodeEnum, tax_type: Models::Shared::CustomerTaxTypeEnum, tax_id: ::String, is_valid: T::Boolean).void }
|
|
29
|
+
def initialize(id:, customer_id:, country_code:, tax_type:, tax_id:, is_valid:)
|
|
30
|
+
@id = id
|
|
31
|
+
@customer_id = customer_id
|
|
32
|
+
@country_code = country_code
|
|
33
|
+
@tax_type = tax_type
|
|
34
|
+
@tax_id = tax_id
|
|
35
|
+
@is_valid = is_valid
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
39
|
+
def ==(other)
|
|
40
|
+
return false unless other.is_a? self.class
|
|
41
|
+
return false unless @id == other.id
|
|
42
|
+
return false unless @customer_id == other.customer_id
|
|
43
|
+
return false unless @country_code == other.country_code
|
|
44
|
+
return false unless @tax_type == other.tax_type
|
|
45
|
+
return false unless @tax_id == other.tax_id
|
|
46
|
+
return false unless @is_valid == other.is_valid
|
|
47
|
+
true
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class KintsugiSDK::Models::Shared::CustomerTaxRegistrationRead
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class KintsugiSDK::Models::Shared::CustomerTaxRegistrationRead
|
|
11
|
+
def id(); end
|
|
12
|
+
def id=(str_); end
|
|
13
|
+
def customer_id(); end
|
|
14
|
+
def customer_id=(str_); end
|
|
15
|
+
def country_code(); end
|
|
16
|
+
def country_code=(str_); end
|
|
17
|
+
def tax_type(); end
|
|
18
|
+
def tax_type=(str_); end
|
|
19
|
+
def tax_id(); end
|
|
20
|
+
def tax_id=(str_); end
|
|
21
|
+
def is_valid(); end
|
|
22
|
+
def is_valid=(str_); end
|
|
23
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module KintsugiSDK
|
|
8
|
+
module Models
|
|
9
|
+
module Shared
|
|
10
|
+
# CustomerTaxTypeEnum - Enum for customer tax registration types.
|
|
11
|
+
class CustomerTaxTypeEnum < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
GST = new('gst')
|
|
14
|
+
HST = new('hst')
|
|
15
|
+
GST_HST = new('gst_hst')
|
|
16
|
+
QST = new('qst')
|
|
17
|
+
PST = new('pst')
|
|
18
|
+
RST = new('rst')
|
|
19
|
+
VAT = new('vat')
|
|
20
|
+
UNKNOWN = new('unknown')
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class CustomerUpdate
|
|
13
12
|
extend T::Sig
|
|
@@ -28,24 +27,26 @@ module KintsugiSDK
|
|
|
28
27
|
# ZIP or Postal code of the customer.
|
|
29
28
|
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
|
|
30
29
|
|
|
31
|
-
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) } }
|
|
30
|
+
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) } }
|
|
32
31
|
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
|
33
32
|
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
|
34
33
|
# Name of the customer.
|
|
35
34
|
field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name') } }
|
|
36
35
|
|
|
37
|
-
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
36
|
+
field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
|
|
38
37
|
# Email address of the customer.
|
|
39
38
|
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
|
|
40
39
|
|
|
41
|
-
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) } }
|
|
40
|
+
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) } }
|
|
42
41
|
|
|
43
|
-
field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
|
|
42
|
+
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) } }
|
|
44
43
|
# External identifier associated with the customer
|
|
45
44
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
45
|
+
# External friendly identifier associated with the customer. We need it for netsuite.
|
|
46
|
+
field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
|
|
46
47
|
|
|
47
|
-
sig { params(phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), address_status: T.nilable(Models::Shared::AddressStatus), external_id: T.nilable(::String)).void }
|
|
48
|
-
def initialize(phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, status: nil, email: nil, source: nil, address_status: nil, external_id: nil)
|
|
48
|
+
sig { params(phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), name: T.nilable(::String), status: T.nilable(Models::Shared::StatusEnum), email: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), address_status: T.nilable(Models::Shared::AddressStatus), external_id: T.nilable(::String), external_friendly_id: T.nilable(::String)).void }
|
|
49
|
+
def initialize(phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, name: nil, status: nil, email: nil, source: nil, address_status: nil, external_id: nil, external_friendly_id: nil)
|
|
49
50
|
@phone = phone
|
|
50
51
|
@street_1 = street_1
|
|
51
52
|
@street_2 = street_2
|
|
@@ -61,6 +62,7 @@ module KintsugiSDK
|
|
|
61
62
|
@source = source
|
|
62
63
|
@address_status = address_status
|
|
63
64
|
@external_id = external_id
|
|
65
|
+
@external_friendly_id = external_friendly_id
|
|
64
66
|
end
|
|
65
67
|
|
|
66
68
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -81,6 +83,7 @@ module KintsugiSDK
|
|
|
81
83
|
return false unless @source == other.source
|
|
82
84
|
return false unless @address_status == other.address_status
|
|
83
85
|
return false unless @external_id == other.external_id
|
|
86
|
+
return false unless @external_friendly_id == other.external_friendly_id
|
|
84
87
|
true
|
|
85
88
|
end
|
|
86
89
|
end
|
|
@@ -7,21 +7,20 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class DiscountBuilder
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :applied_to, Models::Shared::AppliedTo, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('applied_to'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AppliedTo, false) } }
|
|
16
|
+
field :applied_to, Models::Shared::AppliedTo, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('applied_to'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AppliedTo, false) } }
|
|
18
17
|
|
|
19
18
|
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
|
20
19
|
|
|
21
20
|
field :discount_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_amount') } }
|
|
22
21
|
|
|
23
22
|
sig { params(applied_to: Models::Shared::AppliedTo, external_id: T.nilable(::String), discount_amount: T.nilable(::Float)).void }
|
|
24
|
-
def initialize(applied_to:, external_id: nil, discount_amount: 0.
|
|
23
|
+
def initialize(applied_to:, external_id: nil, discount_amount: 0.0)
|
|
25
24
|
@applied_to = applied_to
|
|
26
25
|
@external_id = external_id
|
|
27
26
|
@discount_amount = discount_amount
|
|
@@ -7,26 +7,25 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class Exemption
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
|
|
16
|
+
field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
|
|
18
17
|
# Start date for the exemption validity period (YYYY-MM-DD format)
|
|
19
|
-
field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
|
|
18
|
+
field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
|
|
20
19
|
# Unique identifier for the exemption
|
|
21
20
|
field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id') } }
|
|
22
21
|
# Timestamp when transaction was created in Kintsugi.
|
|
23
|
-
field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
22
|
+
field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(true) } }
|
|
24
23
|
# Timestamp when transaction was last updated.
|
|
25
24
|
field :updated_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at') } }
|
|
26
25
|
# The jurisdiction identifier for the exemption
|
|
27
26
|
field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
|
|
28
27
|
|
|
29
|
-
field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
28
|
+
field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
30
29
|
# End date for the exemption validity period (YYYY-MM-DD format)
|
|
31
30
|
field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
|
|
32
31
|
# Unique identifier for the customer associated with the exemption
|
|
@@ -40,7 +39,7 @@ module KintsugiSDK
|
|
|
40
39
|
# Sales tax ID for the exemption
|
|
41
40
|
field :sales_tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id') } }
|
|
42
41
|
|
|
43
|
-
field :status, Crystalline::Nilable.new(Models::Shared::ExemptionStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::ExemptionStatus, true) } }
|
|
42
|
+
field :status, Crystalline::Nilable.new(Models::Shared::ExemptionStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionStatus, true) } }
|
|
44
43
|
|
|
45
44
|
field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
|
|
46
45
|
# Indicates whether the exemption is for a reseller
|
|
@@ -7,16 +7,15 @@
|
|
|
7
7
|
module KintsugiSDK
|
|
8
8
|
module Models
|
|
9
9
|
module Shared
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class ExemptionCreate
|
|
13
12
|
extend T::Sig
|
|
14
13
|
include Crystalline::MetadataFields
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
|
|
16
|
+
field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
|
|
18
17
|
# Start date for the exemption validity period (YYYY-MM-DD format)
|
|
19
|
-
field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
|
|
18
|
+
field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
|
|
20
19
|
# Unique identifier for the customer associated with the exemption
|
|
21
20
|
field :customer_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id'), required: true } }
|
|
22
21
|
# Federal Employer Identification Number
|
|
@@ -24,11 +23,11 @@ module KintsugiSDK
|
|
|
24
23
|
# Sales tax ID for the exemption
|
|
25
24
|
field :sales_tax_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id'), required: true } }
|
|
26
25
|
|
|
27
|
-
field :status, Models::Shared::ExemptionStatus, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ExemptionStatus, false) } }
|
|
26
|
+
field :status, Models::Shared::ExemptionStatus, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionStatus, false) } }
|
|
28
27
|
# The jurisdiction identifier for the exemption
|
|
29
28
|
field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
|
|
30
29
|
|
|
31
|
-
field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
30
|
+
field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
|
|
32
31
|
# End date for the exemption validity period (YYYY-MM-DD format)
|
|
33
32
|
field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
|
|
34
33
|
# Unique identifier for the transaction, if applicable
|