kintsugi_sdk 5.5.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 (278) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/metadata_fields.rb +209 -0
  3. data/lib/crystalline/module.rb +92 -0
  4. data/lib/crystalline/types.rb +78 -0
  5. data/lib/crystalline/utils.rb +56 -0
  6. data/lib/crystalline.rb +13 -0
  7. data/lib/kintsugi_sdk/addressvalidation.rb +350 -0
  8. data/lib/kintsugi_sdk/customers.rb +981 -0
  9. data/lib/kintsugi_sdk/exemptions.rb +779 -0
  10. data/lib/kintsugi_sdk/models/callbacks.rb +12 -0
  11. data/lib/kintsugi_sdk/models/errors/apierror.rb +37 -0
  12. data/lib/kintsugi_sdk/models/errors/apierror.rbi +16 -0
  13. data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rb +33 -0
  14. data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rbi +13 -0
  15. data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rb +33 -0
  16. data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rbi +13 -0
  17. data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rb +33 -0
  18. data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rbi +13 -0
  19. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rb +33 -0
  20. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rbi +13 -0
  21. data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rb +33 -0
  22. data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rbi +13 -0
  23. data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rb +33 -0
  24. data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rbi +13 -0
  25. data/lib/kintsugi_sdk/models/errors/errorresponse.rb +33 -0
  26. data/lib/kintsugi_sdk/models/errors/errorresponse.rbi +13 -0
  27. data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rb +33 -0
  28. data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rbi +13 -0
  29. data/lib/kintsugi_sdk/models/errors.rb +20 -0
  30. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +37 -0
  31. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rbi +15 -0
  32. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +39 -0
  33. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rbi +15 -0
  34. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +33 -0
  35. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rbi +13 -0
  36. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +33 -0
  37. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rbi +13 -0
  38. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +57 -0
  39. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rbi +25 -0
  40. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +33 -0
  41. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rbi +13 -0
  42. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +73 -0
  43. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rbi +33 -0
  44. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +57 -0
  45. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +25 -0
  46. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +33 -0
  47. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rbi +13 -0
  48. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +61 -0
  49. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +27 -0
  50. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +33 -0
  51. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rbi +13 -0
  52. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +107 -0
  53. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rbi +45 -0
  54. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +34 -0
  55. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rbi +13 -0
  56. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +33 -0
  57. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rbi +13 -0
  58. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +33 -0
  59. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rbi +13 -0
  60. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +35 -0
  61. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rbi +13 -0
  62. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rb +33 -0
  63. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rbi +13 -0
  64. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +37 -0
  65. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rbi +15 -0
  66. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +37 -0
  67. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rbi +15 -0
  68. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +37 -0
  69. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rbi +15 -0
  70. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +37 -0
  71. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rbi +15 -0
  72. data/lib/kintsugi_sdk/models/ops.rb +32 -0
  73. data/lib/kintsugi_sdk/models/shared/addressbase.rb +65 -0
  74. data/lib/kintsugi_sdk/models/shared/addressbase.rbi +29 -0
  75. data/lib/kintsugi_sdk/models/shared/addresses.rb +76 -0
  76. data/lib/kintsugi_sdk/models/shared/addresses.rbi +33 -0
  77. data/lib/kintsugi_sdk/models/shared/addressresponsedata.rb +61 -0
  78. data/lib/kintsugi_sdk/models/shared/addressresponsedata.rbi +27 -0
  79. data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rb +45 -0
  80. data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rbi +19 -0
  81. data/lib/kintsugi_sdk/models/shared/addressstatus.rb +26 -0
  82. data/lib/kintsugi_sdk/models/shared/addressstatus.rbi +11 -0
  83. data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rb +61 -0
  84. data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rbi +27 -0
  85. data/lib/kintsugi_sdk/models/shared/addresstype.rb +24 -0
  86. data/lib/kintsugi_sdk/models/shared/addresstype.rbi +11 -0
  87. data/lib/kintsugi_sdk/models/shared/appliedto.rb +22 -0
  88. data/lib/kintsugi_sdk/models/shared/appliedto.rbi +11 -0
  89. data/lib/kintsugi_sdk/models/shared/attachmentread.rb +42 -0
  90. data/lib/kintsugi_sdk/models/shared/attachmentread.rbi +17 -0
  91. data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb +49 -0
  92. data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rbi +21 -0
  93. data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb +49 -0
  94. data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rbi +21 -0
  95. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb +87 -0
  96. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rbi +39 -0
  97. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb +50 -0
  98. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rbi +21 -0
  99. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +81 -0
  100. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rbi +37 -0
  101. data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb +50 -0
  102. data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rbi +21 -0
  103. data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb +49 -0
  104. data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rbi +21 -0
  105. data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb +50 -0
  106. data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rbi +21 -0
  107. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +33 -0
  108. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rbi +13 -0
  109. data/lib/kintsugi_sdk/models/shared/countrycodeenum.rb +270 -0
  110. data/lib/kintsugi_sdk/models/shared/countrycodeenum.rbi +11 -0
  111. data/lib/kintsugi_sdk/models/shared/currencyenum.rb +182 -0
  112. data/lib/kintsugi_sdk/models/shared/currencyenum.rbi +11 -0
  113. data/lib/kintsugi_sdk/models/shared/customerbase.rb +97 -0
  114. data/lib/kintsugi_sdk/models/shared/customerbase.rbi +45 -0
  115. data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +109 -0
  116. data/lib/kintsugi_sdk/models/shared/customerbasebase.rbi +51 -0
  117. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +97 -0
  118. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rbi +45 -0
  119. data/lib/kintsugi_sdk/models/shared/customercreate.rb +97 -0
  120. data/lib/kintsugi_sdk/models/shared/customercreate.rbi +45 -0
  121. data/lib/kintsugi_sdk/models/shared/customerread.rb +105 -0
  122. data/lib/kintsugi_sdk/models/shared/customerread.rbi +49 -0
  123. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +89 -0
  124. data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +41 -0
  125. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +41 -0
  126. data/lib/kintsugi_sdk/models/shared/discountbuilder.rbi +17 -0
  127. data/lib/kintsugi_sdk/models/shared/exemption.rb +91 -0
  128. data/lib/kintsugi_sdk/models/shared/exemption.rbi +41 -0
  129. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +73 -0
  130. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rbi +33 -0
  131. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +57 -0
  132. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rbi +25 -0
  133. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +25 -0
  134. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rbi +11 -0
  135. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +23 -0
  136. data/lib/kintsugi_sdk/models/shared/exemptiontype.rbi +11 -0
  137. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +49 -0
  138. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rbi +21 -0
  139. data/lib/kintsugi_sdk/models/shared/file.rb +37 -0
  140. data/lib/kintsugi_sdk/models/shared/file.rbi +15 -0
  141. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +28 -0
  142. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rbi +11 -0
  143. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +253 -0
  144. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +121 -0
  145. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +27 -0
  146. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rbi +11 -0
  147. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +23 -0
  148. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rbi +11 -0
  149. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +24 -0
  150. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rbi +11 -0
  151. data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +49 -0
  152. data/lib/kintsugi_sdk/models/shared/page_customerread_.rbi +21 -0
  153. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +49 -0
  154. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rbi +21 -0
  155. data/lib/kintsugi_sdk/models/shared/page_productread_.rb +49 -0
  156. data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +21 -0
  157. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +49 -0
  158. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rbi +21 -0
  159. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +49 -0
  160. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rbi +21 -0
  161. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +29 -0
  162. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rbi +11 -0
  163. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +34 -0
  164. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rbi +11 -0
  165. data/lib/kintsugi_sdk/models/shared/productcategories.rb +38 -0
  166. data/lib/kintsugi_sdk/models/shared/productcategories.rbi +15 -0
  167. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +25 -0
  168. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +11 -0
  169. data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +82 -0
  170. data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +11 -0
  171. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +61 -0
  172. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +27 -0
  173. data/lib/kintsugi_sdk/models/shared/productread.rb +81 -0
  174. data/lib/kintsugi_sdk/models/shared/productread.rbi +37 -0
  175. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +23 -0
  176. data/lib/kintsugi_sdk/models/shared/productstatusenum.rbi +11 -0
  177. data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +46 -0
  178. data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +19 -0
  179. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +83 -0
  180. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rbi +11 -0
  181. data/lib/kintsugi_sdk/models/shared/productupdate.rb +70 -0
  182. data/lib/kintsugi_sdk/models/shared/productupdate.rbi +31 -0
  183. data/lib/kintsugi_sdk/models/shared/registration.rb +28 -0
  184. data/lib/kintsugi_sdk/models/shared/registration.rbi +11 -0
  185. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +22 -0
  186. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rbi +11 -0
  187. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +24 -0
  188. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rbi +11 -0
  189. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +24 -0
  190. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rbi +11 -0
  191. data/lib/kintsugi_sdk/models/shared/security.rb +37 -0
  192. data/lib/kintsugi_sdk/models/shared/security.rbi +15 -0
  193. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +70 -0
  194. data/lib/kintsugi_sdk/models/shared/sourceenum.rbi +11 -0
  195. data/lib/kintsugi_sdk/models/shared/statusenum.rb +22 -0
  196. data/lib/kintsugi_sdk/models/shared/statusenum.rbi +11 -0
  197. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +31 -0
  198. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rbi +11 -0
  199. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +77 -0
  200. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rbi +35 -0
  201. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +53 -0
  202. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rbi +23 -0
  203. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +73 -0
  204. data/lib/kintsugi_sdk/models/shared/taxitemread.rbi +33 -0
  205. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +25 -0
  206. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rbi +11 -0
  207. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +23 -0
  208. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rbi +11 -0
  209. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +22 -0
  210. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rbi +11 -0
  211. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +81 -0
  212. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rbi +37 -0
  213. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +69 -0
  214. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rbi +31 -0
  215. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +85 -0
  216. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rbi +39 -0
  217. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +235 -0
  218. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +111 -0
  219. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +70 -0
  220. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +31 -0
  221. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +91 -0
  222. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +41 -0
  223. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +80 -0
  224. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rbi +35 -0
  225. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +23 -0
  226. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rbi +11 -0
  227. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +26 -0
  228. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rbi +11 -0
  229. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +141 -0
  230. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rbi +67 -0
  231. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +141 -0
  232. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rbi +67 -0
  233. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +78 -0
  234. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rbi +35 -0
  235. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +98 -0
  236. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rbi +45 -0
  237. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +149 -0
  238. data/lib/kintsugi_sdk/models/shared/transactionitemread.rbi +71 -0
  239. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +194 -0
  240. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +91 -0
  241. data/lib/kintsugi_sdk/models/shared/transactionread.rb +259 -0
  242. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +123 -0
  243. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +24 -0
  244. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rbi +11 -0
  245. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +27 -0
  246. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rbi +11 -0
  247. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +25 -0
  248. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rbi +11 -0
  249. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +235 -0
  250. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +111 -0
  251. data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +25 -0
  252. data/lib/kintsugi_sdk/models/shared/treatmentenum.rbi +11 -0
  253. data/lib/kintsugi_sdk/models/shared/type.rb +23 -0
  254. data/lib/kintsugi_sdk/models/shared/type.rbi +11 -0
  255. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +73 -0
  256. data/lib/kintsugi_sdk/models/shared/validationaddress.rbi +31 -0
  257. data/lib/kintsugi_sdk/models/shared/validationerror.rb +41 -0
  258. data/lib/kintsugi_sdk/models/shared/validationerror.rbi +17 -0
  259. data/lib/kintsugi_sdk/models/shared.rb +104 -0
  260. data/lib/kintsugi_sdk/nexus.rb +155 -0
  261. data/lib/kintsugi_sdk/openapisdk.rb +104 -0
  262. data/lib/kintsugi_sdk/products.rb +756 -0
  263. data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +95 -0
  264. data/lib/kintsugi_sdk/sdk_hooks/types.rb +170 -0
  265. data/lib/kintsugi_sdk/sdkconfiguration.rb +104 -0
  266. data/lib/kintsugi_sdk/sdkconfiguration.rbi +57 -0
  267. data/lib/kintsugi_sdk/taxestimation.rb +197 -0
  268. data/lib/kintsugi_sdk/transactions.rb +902 -0
  269. data/lib/kintsugi_sdk/utils/forms.rb +206 -0
  270. data/lib/kintsugi_sdk/utils/headers.rb +77 -0
  271. data/lib/kintsugi_sdk/utils/query_params.rb +131 -0
  272. data/lib/kintsugi_sdk/utils/request_bodies.rb +61 -0
  273. data/lib/kintsugi_sdk/utils/retries.rb +95 -0
  274. data/lib/kintsugi_sdk/utils/security.rb +130 -0
  275. data/lib/kintsugi_sdk/utils/url.rb +100 -0
  276. data/lib/kintsugi_sdk/utils/utils.rb +187 -0
  277. data/lib/kintsugi_sdk.rb +31 -0
  278. metadata +492 -0
@@ -0,0 +1,70 @@
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
+
12
+ class SourceEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ BIGCOMMERCE = new('BIGCOMMERCE')
17
+ CHARGEBEE = new('CHARGEBEE')
18
+ SHOPIFY = new('SHOPIFY')
19
+ STRIPE = new('STRIPE')
20
+ AMAZON = new('AMAZON')
21
+ TIKTOK = new('TIKTOK')
22
+ CUSTOM = new('CUSTOM')
23
+ UNKNOWN = new('UNKNOWN')
24
+ IMPORT = new('IMPORT')
25
+ ZUORA = new('ZUORA')
26
+ APIDECK = new('APIDECK')
27
+ QUICKBOOKS = new('QUICKBOOKS')
28
+ API = new('API')
29
+ APPLE_APP_STORE = new('APPLE_APP_STORE')
30
+ GOOGLE_APP_STORE = new('GOOGLE_APP_STORE')
31
+ WALMART = new('WALMART')
32
+ PAYPAL = new('PAYPAL')
33
+ NETSUITE = new('NETSUITE')
34
+ XERO = new('XERO')
35
+ MAXIO = new('MAXIO')
36
+ RECURLY = new('RECURLY')
37
+ SALESFORCE = new('SALESFORCE')
38
+ ETSY = new('ETSY')
39
+ EBAY = new('EBAY')
40
+ WIX = new('WIX')
41
+ SQUARESPACE = new('SQUARESPACE')
42
+ WOOCOMMERCE = new('WOOCOMMERCE')
43
+ MAGENTO = new('MAGENTO')
44
+ BILLING_PLATFORM = new('BILLING_PLATFORM')
45
+ DEEL = new('DEEL')
46
+ RIPPLING = new('RIPPLING')
47
+ GUSTO = new('GUSTO')
48
+ FACEBOOK = new('FACEBOOK')
49
+ OTHER = new('OTHER')
50
+ INSTAGRAM = new('INSTAGRAM')
51
+ PINTEREST = new('PINTEREST')
52
+ WAYFAIR = new('WAYFAIR')
53
+ WISH = new('WISH')
54
+ POS = new('POS')
55
+ TARGET = new('TARGET')
56
+ NEWEGG = new('NEWEGG')
57
+ GROUPON = new('GROUPON')
58
+ GOOGLE_EXPRESS = new('GOOGLE_EXPRESS')
59
+ NOCNOC = new('NOCNOC')
60
+ MERCADO_LIBRE = new('MERCADO_LIBRE')
61
+ MODALYST = new('MODALYST')
62
+ NORDSTROM = new('NORDSTROM')
63
+ FAIRE = new('FAIRE')
64
+ SHOPWARE = new('SHOPWARE')
65
+ ZOHO = new('ZOHO')
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::SourceEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::SourceEnum
11
+ end
@@ -0,0 +1,22 @@
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
+
12
+ class StatusEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ ACTIVE = new('ACTIVE')
17
+ ARCHIVED = new('ARCHIVED')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::StatusEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::StatusEnum
11
+ end
@@ -0,0 +1,31 @@
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
+ # TaxExemptionEnum - This enum is used to determine if a transaction is exempt from tax.
12
+ class TaxExemptionEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ PRODUCT = new('PRODUCT')
17
+ TRANSACTION = new('TRANSACTION')
18
+ CUSTOMER = new('CUSTOMER')
19
+ REGION = new('REGION')
20
+ REVERSE_CHARGE = new('REVERSE_CHARGE')
21
+ ZERO_RATE_TAX = new('ZERO_RATE_TAX')
22
+ HIGH_VALUE_PHYSICAL_GOODS = new('HIGH_VALUE_PHYSICAL_GOODS')
23
+ EXPORT = new('EXPORT')
24
+ ZERO_VALUE_ITEM = new('ZERO_VALUE_ITEM')
25
+ NO_RULE_FOUND = new('NO_RULE_FOUND')
26
+ IMPORTED = new('IMPORTED')
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxExemptionEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxExemptionEnum
11
+ end
@@ -0,0 +1,77 @@
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
+
12
+ class TaxItemBuilder
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :rate, ::Float, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rate'), required: true } }
18
+
19
+ field :amount, ::Float, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
20
+ # Deprecated: use `jurisdiction_type` instead
21
+ field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
22
+
23
+ field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
24
+
25
+ field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
26
+
27
+ field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
28
+
29
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
30
+
31
+ field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
32
+
33
+ field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
34
+
35
+ field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
36
+
37
+ field :jurisdiction_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_name') } }
38
+ # The rule ID of the tax item
39
+ field :rule_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rule_id') } }
40
+
41
+ sig { params(rate: ::Float, amount: ::Float, name: ::String, organization_id: ::String, converted_amount: T.nilable(::Float), currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), external_id: T.nilable(::String), type: T.nilable(Models::Shared::TaxItemTypeEnum), jurisdiction_type: T.nilable(Models::Shared::JurisdictionType), jurisdiction_name: T.nilable(::String), rule_id: T.nilable(::String)).void }
42
+ def initialize(rate:, amount:, name:, organization_id:, converted_amount: nil, currency: nil, destination_currency: nil, external_id: nil, type: nil, jurisdiction_type: nil, jurisdiction_name: nil, rule_id: '0000')
43
+ @rate = rate
44
+ @amount = amount
45
+ @name = name
46
+ @organization_id = organization_id
47
+ @converted_amount = converted_amount
48
+ @currency = currency
49
+ @destination_currency = destination_currency
50
+ @external_id = external_id
51
+ @type = type
52
+ @jurisdiction_type = jurisdiction_type
53
+ @jurisdiction_name = jurisdiction_name
54
+ @rule_id = rule_id
55
+ end
56
+
57
+ sig { params(other: T.untyped).returns(T::Boolean) }
58
+ def ==(other)
59
+ return false unless other.is_a? self.class
60
+ return false unless @rate == other.rate
61
+ return false unless @amount == other.amount
62
+ return false unless @name == other.name
63
+ return false unless @organization_id == other.organization_id
64
+ return false unless @converted_amount == other.converted_amount
65
+ return false unless @currency == other.currency
66
+ return false unless @destination_currency == other.destination_currency
67
+ return false unless @external_id == other.external_id
68
+ return false unless @type == other.type
69
+ return false unless @jurisdiction_type == other.jurisdiction_type
70
+ return false unless @jurisdiction_name == other.jurisdiction_name
71
+ return false unless @rule_id == other.rule_id
72
+ true
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,35 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxItemBuilder
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxItemBuilder
11
+ def rate(); end
12
+ def rate=(str_); end
13
+ def amount(); end
14
+ def amount=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def organization_id(); end
18
+ def organization_id=(str_); end
19
+ def converted_amount(); end
20
+ def converted_amount=(str_); end
21
+ def currency(); end
22
+ def currency=(str_); end
23
+ def destination_currency(); end
24
+ def destination_currency=(str_); end
25
+ def external_id(); end
26
+ def external_id=(str_); end
27
+ def type(); end
28
+ def type=(str_); end
29
+ def jurisdiction_type(); end
30
+ def jurisdiction_type=(str_); end
31
+ def jurisdiction_name(); end
32
+ def jurisdiction_name=(str_); end
33
+ def rule_id(); end
34
+ def rule_id=(str_); end
35
+ end
@@ -0,0 +1,53 @@
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
+
12
+ class TaxItemEstimate
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
18
+ # We use this to understand the response from get_tax_items
19
+ field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxItemReturnReasonEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemReturnReasonEnum, true) } }
20
+
21
+ field :rule, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rule') } }
22
+
23
+ field :rate, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rate') } }
24
+
25
+ field :amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount') } }
26
+
27
+ field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
28
+
29
+ sig { params(name: ::String, exempt_reason: T.nilable(Models::Shared::TaxItemReturnReasonEnum), rule: T.nilable(::String), rate: T.nilable(::String), amount: T.nilable(::String), exempt: T.nilable(T::Boolean)).void }
30
+ def initialize(name:, exempt_reason: nil, rule: nil, rate: '0.0', amount: '0.0', exempt: false)
31
+ @name = name
32
+ @exempt_reason = exempt_reason
33
+ @rule = rule
34
+ @rate = rate
35
+ @amount = amount
36
+ @exempt = exempt
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @name == other.name
43
+ return false unless @exempt_reason == other.exempt_reason
44
+ return false unless @rule == other.rule
45
+ return false unless @rate == other.rate
46
+ return false unless @amount == other.amount
47
+ return false unless @exempt == other.exempt
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxItemEstimate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxItemEstimate
11
+ def name(); end
12
+ def name=(str_); end
13
+ def exempt_reason(); end
14
+ def exempt_reason=(str_); end
15
+ def rule(); end
16
+ def rule=(str_); end
17
+ def rate(); end
18
+ def rate=(str_); end
19
+ def amount(); end
20
+ def amount=(str_); end
21
+ def exempt(); end
22
+ def exempt=(str_); end
23
+ end
@@ -0,0 +1,73 @@
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
+
12
+ class TaxItemRead
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :rate, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rate'), required: true } }
18
+
19
+ field :amount, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
20
+ # Deprecated: use `jurisdiction_type` instead
21
+ field :name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name'), required: true } }
22
+
23
+ field :converted_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
24
+
25
+ field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
26
+
27
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
28
+
29
+ field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
30
+
31
+ field :type, Crystalline::Nilable.new(Models::Shared::TaxItemTypeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::TaxItemTypeEnum, true) } }
32
+
33
+ field :jurisdiction_type, Crystalline::Nilable.new(Models::Shared::JurisdictionType), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_type'), 'decoder': Utils.enum_from_string(Models::Shared::JurisdictionType, true) } }
34
+
35
+ field :jurisdiction_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction_name') } }
36
+ # The rule ID of the tax item
37
+ field :rule_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('rule_id') } }
38
+
39
+ sig { params(rate: ::String, amount: ::String, name: ::String, converted_amount: T.nilable(::String), currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), external_id: T.nilable(::String), type: T.nilable(Models::Shared::TaxItemTypeEnum), jurisdiction_type: T.nilable(Models::Shared::JurisdictionType), jurisdiction_name: T.nilable(::String), rule_id: T.nilable(::String)).void }
40
+ def initialize(rate:, amount:, name:, converted_amount: nil, currency: nil, destination_currency: nil, external_id: nil, type: nil, jurisdiction_type: nil, jurisdiction_name: nil, rule_id: '0000')
41
+ @rate = rate
42
+ @amount = amount
43
+ @name = name
44
+ @converted_amount = converted_amount
45
+ @currency = currency
46
+ @destination_currency = destination_currency
47
+ @external_id = external_id
48
+ @type = type
49
+ @jurisdiction_type = jurisdiction_type
50
+ @jurisdiction_name = jurisdiction_name
51
+ @rule_id = rule_id
52
+ end
53
+
54
+ sig { params(other: T.untyped).returns(T::Boolean) }
55
+ def ==(other)
56
+ return false unless other.is_a? self.class
57
+ return false unless @rate == other.rate
58
+ return false unless @amount == other.amount
59
+ return false unless @name == other.name
60
+ return false unless @converted_amount == other.converted_amount
61
+ return false unless @currency == other.currency
62
+ return false unless @destination_currency == other.destination_currency
63
+ return false unless @external_id == other.external_id
64
+ return false unless @type == other.type
65
+ return false unless @jurisdiction_type == other.jurisdiction_type
66
+ return false unless @jurisdiction_name == other.jurisdiction_name
67
+ return false unless @rule_id == other.rule_id
68
+ true
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxItemRead
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxItemRead
11
+ def rate(); end
12
+ def rate=(str_); end
13
+ def amount(); end
14
+ def amount=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def converted_amount(); end
18
+ def converted_amount=(str_); end
19
+ def currency(); end
20
+ def currency=(str_); end
21
+ def destination_currency(); end
22
+ def destination_currency=(str_); end
23
+ def external_id(); end
24
+ def external_id=(str_); end
25
+ def type(); end
26
+ def type=(str_); end
27
+ def jurisdiction_type(); end
28
+ def jurisdiction_type=(str_); end
29
+ def jurisdiction_name(); end
30
+ def jurisdiction_name=(str_); end
31
+ def rule_id(); end
32
+ def rule_id=(str_); end
33
+ 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
+
11
+ # TaxItemReturnReasonEnum - We use this to understand the response from get_tax_items
12
+ class TaxItemReturnReasonEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ NO_RULE_FOUND = new('NO_RULE_FOUND')
17
+ RULE_FOUND_TAXABLE = new('RULE_FOUND_TAXABLE')
18
+ RULE_FOUND_NOT_TAXABLE = new('RULE_FOUND_NOT_TAXABLE')
19
+ PRODUCT_EXEMPT = new('PRODUCT_EXEMPT')
20
+ FROM_IMPORT = new('FROM_IMPORT')
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::TaxItemReturnReasonEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxItemReturnReasonEnum
11
+ end
@@ -0,0 +1,23 @@
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
+
12
+ class TaxItemTypeEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ IMPORTED_ORIGINAL = new('IMPORTED_ORIGINAL')
17
+ IMPORTED = new('IMPORTED')
18
+ CALCULATED = new('CALCULATED')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxItemTypeEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxItemTypeEnum
11
+ end
@@ -0,0 +1,22 @@
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
+
12
+ class TaxLiabilitySourceEnum < T::Enum
13
+
14
+
15
+ enums do
16
+ CALCULATED = new('CALCULATED')
17
+ COLLECTED = new('COLLECTED')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TaxLiabilitySourceEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TaxLiabilitySourceEnum
11
+ end
@@ -0,0 +1,81 @@
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
+
12
+ class TransactionAddressBuilder
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :type, Models::Shared::AddressType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AddressType, false) } }
18
+ # Phone number associated with the address.
19
+ field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
20
+ # Primary street address.
21
+ field :street_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_1') } }
22
+ # Additional street address details, such as an apartment or suite number.
23
+ field :street_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_2') } }
24
+ # City where the customer resides.
25
+ field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('city') } }
26
+ # County or district of the customer.
27
+ field :county, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('county') } }
28
+ # State or province of the customer.
29
+ field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
30
+ # ZIP or Postal code of the customer.
31
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
32
+
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) } }
34
+ # Complete address string of the customer, which can be used as an alternative to individual fields.
35
+ field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
36
+ # Optional additional enriched data for the address.
37
+ field :enriched_fields, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('enriched_fields') } }
38
+
39
+ field :status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
40
+
41
+ field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
42
+
43
+ sig { params(type: Models::Shared::AddressType, 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), enriched_fields: T.nilable(::String), status: T.nilable(Models::Shared::AddressStatus), organization_id: T.nilable(::String)).void }
44
+ def initialize(type:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, enriched_fields: nil, status: nil, organization_id: nil)
45
+ @type = type
46
+ @phone = phone
47
+ @street_1 = street_1
48
+ @street_2 = street_2
49
+ @city = city
50
+ @county = county
51
+ @state = state
52
+ @postal_code = postal_code
53
+ @country = country
54
+ @full_address = full_address
55
+ @enriched_fields = enriched_fields
56
+ @status = status
57
+ @organization_id = organization_id
58
+ end
59
+
60
+ sig { params(other: T.untyped).returns(T::Boolean) }
61
+ def ==(other)
62
+ return false unless other.is_a? self.class
63
+ return false unless @type == other.type
64
+ return false unless @phone == other.phone
65
+ return false unless @street_1 == other.street_1
66
+ return false unless @street_2 == other.street_2
67
+ return false unless @city == other.city
68
+ return false unless @county == other.county
69
+ return false unless @state == other.state
70
+ return false unless @postal_code == other.postal_code
71
+ return false unless @country == other.country
72
+ return false unless @full_address == other.full_address
73
+ return false unless @enriched_fields == other.enriched_fields
74
+ return false unless @status == other.status
75
+ return false unless @organization_id == other.organization_id
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end