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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/enum.rbi +17 -0
  3. data/lib/crystalline/metadata_fields.rb +94 -38
  4. data/lib/crystalline/module.rb +103 -13
  5. data/lib/crystalline/types.rb +100 -16
  6. data/lib/crystalline/utils.rb +13 -0
  7. data/lib/kintsugi_sdk/addressvalidation.rb +3 -3
  8. data/lib/kintsugi_sdk/customers.rb +10 -10
  9. data/lib/kintsugi_sdk/exemptions.rb +7 -7
  10. data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rb +0 -1
  11. data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rb +0 -1
  12. data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rb +0 -1
  13. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rb +0 -1
  14. data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rb +0 -1
  15. data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rb +0 -1
  16. data/lib/kintsugi_sdk/models/errors/errorresponse.rb +0 -1
  17. data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rb +0 -1
  18. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +0 -1
  19. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +2 -3
  20. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +0 -1
  21. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +0 -1
  22. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +0 -1
  23. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +0 -1
  24. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +0 -1
  25. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +12 -5
  26. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +4 -0
  27. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +0 -1
  28. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +0 -1
  29. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +0 -1
  30. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +0 -1
  31. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +0 -1
  32. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +0 -1
  33. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +0 -1
  34. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rb +0 -1
  35. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +0 -1
  36. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +0 -1
  37. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +0 -1
  38. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +0 -1
  39. data/lib/kintsugi_sdk/models/ops.rb +0 -1
  40. data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -2
  41. data/lib/kintsugi_sdk/models/shared/addresses.rb +3 -4
  42. data/lib/kintsugi_sdk/models/shared/addressresponsedata.rb +0 -1
  43. data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rb +0 -1
  44. data/lib/kintsugi_sdk/models/shared/addressstatus.rb +0 -3
  45. data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rb +0 -1
  46. data/lib/kintsugi_sdk/models/shared/addresstype.rb +0 -3
  47. data/lib/kintsugi_sdk/models/shared/appliedto.rb +0 -3
  48. data/lib/kintsugi_sdk/models/shared/attachmentread.rb +1 -2
  49. data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb +0 -1
  50. data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb +0 -1
  51. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb +4 -5
  52. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb +0 -1
  53. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +4 -5
  54. data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb +0 -1
  55. data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb +0 -1
  56. data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb +0 -1
  57. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +0 -1
  58. data/lib/kintsugi_sdk/models/shared/countrycodeenum.rb +1 -3
  59. data/lib/kintsugi_sdk/models/shared/currencyenum.rb +0 -3
  60. data/lib/kintsugi_sdk/models/shared/customerbase.rb +4 -5
  61. data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +4 -5
  62. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +4 -5
  63. data/lib/kintsugi_sdk/models/shared/customercreate.rb +14 -7
  64. data/lib/kintsugi_sdk/models/shared/customercreate.rbi +4 -0
  65. data/lib/kintsugi_sdk/models/shared/customerread.rb +14 -7
  66. data/lib/kintsugi_sdk/models/shared/customerread.rbi +4 -0
  67. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rb +52 -0
  68. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rbi +23 -0
  69. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rb +25 -0
  70. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rbi +11 -0
  71. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +10 -7
  72. data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +2 -0
  73. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +2 -3
  74. data/lib/kintsugi_sdk/models/shared/exemption.rb +5 -6
  75. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +4 -5
  76. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +6 -5
  77. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +0 -3
  78. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +0 -3
  79. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +3 -4
  80. data/lib/kintsugi_sdk/models/shared/file.rb +0 -1
  81. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rb +56 -0
  82. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rbi +25 -0
  83. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +0 -3
  84. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +41 -26
  85. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +10 -2
  86. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +0 -3
  87. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +0 -3
  88. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +0 -3
  89. data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +3 -4
  90. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +3 -4
  91. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +3 -4
  92. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +3 -4
  93. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +0 -3
  94. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -3
  95. data/lib/kintsugi_sdk/models/shared/productread.rb +12 -9
  96. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +0 -3
  97. data/lib/kintsugi_sdk/models/shared/productupdate.rb +10 -7
  98. data/lib/kintsugi_sdk/models/shared/registration.rb +0 -1
  99. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +0 -3
  100. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +0 -3
  101. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +0 -3
  102. data/lib/kintsugi_sdk/models/shared/security.rb +0 -1
  103. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +10 -4
  104. data/lib/kintsugi_sdk/models/shared/statusenum.rb +0 -3
  105. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -3
  106. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +4 -5
  107. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +1 -2
  108. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +4 -5
  109. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +2 -3
  110. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +0 -3
  111. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +0 -3
  112. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +3 -4
  113. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +2 -3
  114. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +3 -4
  115. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +23 -19
  116. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +2 -2
  117. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +6 -11
  118. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +0 -2
  119. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +7 -12
  120. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +0 -2
  121. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +3 -4
  122. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +0 -3
  123. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +2 -3
  124. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +8 -7
  125. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +8 -7
  126. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +9 -8
  127. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +10 -9
  128. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +7 -6
  129. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +21 -17
  130. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +2 -2
  131. data/lib/kintsugi_sdk/models/shared/transactionread.rb +24 -20
  132. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +2 -2
  133. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +0 -3
  134. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +0 -3
  135. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +0 -3
  136. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +19 -60
  137. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +2 -24
  138. data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +0 -3
  139. data/lib/kintsugi_sdk/models/shared/type.rb +0 -3
  140. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +0 -1
  141. data/lib/kintsugi_sdk/models/shared/validationerror.rb +0 -1
  142. data/lib/kintsugi_sdk/models/shared.rb +3 -7
  143. data/lib/kintsugi_sdk/nexus.rb +1 -1
  144. data/lib/kintsugi_sdk/openapisdk.rb +13 -15
  145. data/lib/kintsugi_sdk/products.rb +6 -414
  146. data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +0 -1
  147. data/lib/kintsugi_sdk/sdkconfiguration.rb +5 -10
  148. data/lib/kintsugi_sdk/taxestimation.rb +4 -4
  149. data/lib/kintsugi_sdk/transactions.rb +8 -8
  150. data/lib/kintsugi_sdk/utils/forms.rb +1 -1
  151. data/lib/kintsugi_sdk/utils/query_params.rb +4 -2
  152. data/lib/kintsugi_sdk/utils/request_bodies.rb +11 -6
  153. data/lib/kintsugi_sdk/utils/security.rb +10 -0
  154. data/lib/kintsugi_sdk/utils/url.rb +11 -5
  155. data/lib/kintsugi_sdk/utils/utils.rb +45 -3
  156. metadata +77 -41
  157. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +0 -61
  158. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +0 -27
  159. data/lib/kintsugi_sdk/models/shared/page_productread_.rb +0 -49
  160. data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +0 -21
  161. data/lib/kintsugi_sdk/models/shared/productcategories.rb +0 -38
  162. data/lib/kintsugi_sdk/models/shared/productcategories.rbi +0 -15
  163. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +0 -25
  164. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +0 -11
  165. data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +0 -82
  166. data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +0 -11
  167. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +0 -61
  168. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +0 -27
  169. data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +0 -46
  170. data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +0 -19
  171. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +0 -83
  172. 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 BackendSrcTaxEstimationResponsesValidationErrorItem
13
12
  extend T::Sig
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class BackendSrcTransactionsResponsesValidationErrorItem
13
12
  extend T::Sig
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class BodyUploadExemptionCertificateV1ExemptionsExemptionIdAttachmentsPost
13
12
  extend T::Sig
@@ -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,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CurrencyEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  AED = new('AED')
17
14
  AFN = new('AFN')
@@ -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
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::CustomerTaxTypeEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::CustomerTaxTypeEnum
11
+ 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
@@ -38,4 +38,6 @@ class KintsugiSDK::Models::Shared::CustomerUpdate
38
38
  def address_status=(str_); end
39
39
  def external_id(); end
40
40
  def external_id=(str_); end
41
+ def external_friendly_id(); end
42
+ def external_friendly_id=(str_); end
41
43
  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.00)
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