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,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 ValidationAddress
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Primary address line, such as street name and number
17
+ field :line1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('line1') } }
18
+ # Additional address details, such as an apartment or suite number
19
+ field :line2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('line2') } }
20
+ # Additional address details for complex addresses
21
+ field :line3, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('line3') } }
22
+ # The city or town name for the address
23
+ field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('city') } }
24
+ # State, province, or region of the address
25
+ field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
26
+ # Unique identifier for the request, if applicable
27
+ field :id, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id') } }
28
+ # County or district name for the address
29
+ field :county, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('county') } }
30
+ # A complete address string that can be used as an alternative to providing individual fields.
31
+ field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
32
+ # Country code in ISO 3166-1 alpha-2 format (e.g., 'US' for the United States).
33
+ # Defaults to 'US'.
34
+ # should not be empty. Not validating here as the validation
35
+ # structure can be different for different providers
36
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country') } }
37
+ # ZIP or postal code for the address. Can be empty for some locales.
38
+ # Not validating here as the validation structure can be different for different providers
39
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postalCode') } }
40
+
41
+ sig { params(line1: T.nilable(::String), line2: T.nilable(::String), line3: T.nilable(::String), city: T.nilable(::String), state: T.nilable(::String), id: T.nilable(::Integer), county: T.nilable(::String), full_address: T.nilable(::String), country: T.nilable(::String), postal_code: T.nilable(::String)).void }
42
+ def initialize(line1: nil, line2: nil, line3: nil, city: nil, state: nil, id: nil, county: nil, full_address: nil, country: 'US', postal_code: '')
43
+ @line1 = line1
44
+ @line2 = line2
45
+ @line3 = line3
46
+ @city = city
47
+ @state = state
48
+ @id = id
49
+ @county = county
50
+ @full_address = full_address
51
+ @country = country
52
+ @postal_code = postal_code
53
+ end
54
+
55
+ sig { params(other: T.untyped).returns(T::Boolean) }
56
+ def ==(other)
57
+ return false unless other.is_a? self.class
58
+ return false unless @line1 == other.line1
59
+ return false unless @line2 == other.line2
60
+ return false unless @line3 == other.line3
61
+ return false unless @city == other.city
62
+ return false unless @state == other.state
63
+ return false unless @id == other.id
64
+ return false unless @county == other.county
65
+ return false unless @full_address == other.full_address
66
+ return false unless @country == other.country
67
+ return false unless @postal_code == other.postal_code
68
+ true
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::ValidationAddress
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::ValidationAddress
11
+ def line1(); end
12
+ def line1=(str_); end
13
+ def line2(); end
14
+ def line2=(str_); end
15
+ def line3(); end
16
+ def line3=(str_); end
17
+ def city(); end
18
+ def city=(str_); end
19
+ def state(); end
20
+ def state=(str_); end
21
+ def id(); end
22
+ def id=(str_); end
23
+ def county(); end
24
+ def county=(str_); end
25
+ def full_address(); end
26
+ def full_address=(str_); end
27
+ def country(); end
28
+ def country=(str_); end
29
+ def postal_code(); end
30
+ def postal_code=(str_); end
31
+ end
@@ -0,0 +1,41 @@
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 ValidationError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :loc, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('loc'), required: true } }
18
+
19
+ field :msg, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('msg'), required: true } }
20
+
21
+ field :type, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true } }
22
+
23
+ sig { params(loc: T::Array[::String], msg: ::String, type: ::String).void }
24
+ def initialize(loc:, msg:, type:)
25
+ @loc = loc
26
+ @msg = msg
27
+ @type = type
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @loc == other.loc
34
+ return false unless @msg == other.msg
35
+ return false unless @type == other.type
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::ValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::ValidationError
11
+ def loc(); end
12
+ def loc=(str_); end
13
+ def msg(); end
14
+ def msg=(str_); end
15
+ def type(); end
16
+ def type=(str_); end
17
+ end
@@ -0,0 +1,104 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module KintsugiSDK
7
+ module Models
8
+ module Shared
9
+ autoload :AddressBase, 'kintsugi_sdk/models/shared/addressbase.rb'
10
+ autoload :AddressResponseData, 'kintsugi_sdk/models/shared/addressresponsedata.rb'
11
+ autoload :AddressSearchResponse, 'kintsugi_sdk/models/shared/addresssearchresponse.rb'
12
+ autoload :AddressStatus, 'kintsugi_sdk/models/shared/addressstatus.rb'
13
+ autoload :AddressSubmittedResponse, 'kintsugi_sdk/models/shared/addresssubmittedresponse.rb'
14
+ autoload :AddressType, 'kintsugi_sdk/models/shared/addresstype.rb'
15
+ autoload :AppliedTo, 'kintsugi_sdk/models/shared/appliedto.rb'
16
+ autoload :AttachmentRead, 'kintsugi_sdk/models/shared/attachmentread.rb'
17
+ autoload :BodyUploadExemptionCertificateV1ExemptionsExemptionIdAttachmentsPost, 'kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb'
18
+ autoload :CountryCodeEnum, 'kintsugi_sdk/models/shared/countrycodeenum.rb'
19
+ autoload :CurrencyEnum, 'kintsugi_sdk/models/shared/currencyenum.rb'
20
+ autoload :CustomerBase, 'kintsugi_sdk/models/shared/customerbase.rb'
21
+ autoload :CustomerBaseBase, 'kintsugi_sdk/models/shared/customerbasebase.rb'
22
+ autoload :CustomerBasePublic, 'kintsugi_sdk/models/shared/customerbasepublic.rb'
23
+ autoload :CustomerCreate, 'kintsugi_sdk/models/shared/customercreate.rb'
24
+ autoload :CustomerRead, 'kintsugi_sdk/models/shared/customerread.rb'
25
+ autoload :CustomerUpdate, 'kintsugi_sdk/models/shared/customerupdate.rb'
26
+ autoload :DiscountBuilder, 'kintsugi_sdk/models/shared/discountbuilder.rb'
27
+ autoload :Exemption, 'kintsugi_sdk/models/shared/exemption.rb'
28
+ autoload :ExemptionCreate, 'kintsugi_sdk/models/shared/exemptioncreate.rb'
29
+ autoload :ExemptionRequired, 'kintsugi_sdk/models/shared/exemptionrequired.rb'
30
+ autoload :ExemptionStatus, 'kintsugi_sdk/models/shared/exemptionstatus.rb'
31
+ autoload :ExemptionType, 'kintsugi_sdk/models/shared/exemptiontype.rb'
32
+ autoload :File, 'kintsugi_sdk/models/shared/file.rb'
33
+ autoload :JurisdictionType, 'kintsugi_sdk/models/shared/jurisdictiontype.rb'
34
+ autoload :NexusResponse, 'kintsugi_sdk/models/shared/nexusresponse.rb'
35
+ autoload :NexusStateEnum, 'kintsugi_sdk/models/shared/nexusstateenum.rb'
36
+ autoload :NexusStatusEnum, 'kintsugi_sdk/models/shared/nexusstatusenum.rb'
37
+ autoload :NexusTypeEnum, 'kintsugi_sdk/models/shared/nexustypeenum.rb'
38
+ autoload :PageCustomerRead, 'kintsugi_sdk/models/shared/page_customerread_.rb'
39
+ autoload :PageNexusResponse, 'kintsugi_sdk/models/shared/page_nexusresponse_.rb'
40
+ autoload :PageProductRead, 'kintsugi_sdk/models/shared/page_productread_.rb'
41
+ autoload :PageTransactionEstimateResponse, 'kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb'
42
+ autoload :PageTransactionRead, 'kintsugi_sdk/models/shared/page_transactionread_.rb'
43
+ autoload :PeriodModelEnum, 'kintsugi_sdk/models/shared/periodmodelenum.rb'
44
+ autoload :ProcessingStatusEnum, 'kintsugi_sdk/models/shared/processingstatusenum.rb'
45
+ autoload :ProductCategories, 'kintsugi_sdk/models/shared/productcategories.rb'
46
+ autoload :ProductCategoryEnum, 'kintsugi_sdk/models/shared/productcategoryenum.rb'
47
+ autoload :ProductCodeEnum, 'kintsugi_sdk/models/shared/productcodeenum.rb'
48
+ autoload :ProductCreateManual, 'kintsugi_sdk/models/shared/productcreatemanual.rb'
49
+ autoload :ProductRead, 'kintsugi_sdk/models/shared/productread.rb'
50
+ autoload :ProductStatusEnum, 'kintsugi_sdk/models/shared/productstatusenum.rb'
51
+ autoload :ProductSubCategory, 'kintsugi_sdk/models/shared/productsubcategory.rb'
52
+ autoload :ProductSubCategoryEnum, 'kintsugi_sdk/models/shared/productsubcategoryenum.rb'
53
+ autoload :ProductUpdate, 'kintsugi_sdk/models/shared/productupdate.rb'
54
+ autoload :RegistrationsRegimeEnum, 'kintsugi_sdk/models/shared/registrationsregimeenum.rb'
55
+ autoload :RelatedEntityType, 'kintsugi_sdk/models/shared/relatedentitytype.rb'
56
+ autoload :SalesOrTransactionsEnum, 'kintsugi_sdk/models/shared/salesortransactionsenum.rb'
57
+ autoload :Security, 'kintsugi_sdk/models/shared/security.rb'
58
+ autoload :SourceEnum, 'kintsugi_sdk/models/shared/sourceenum.rb'
59
+ autoload :StatusEnum, 'kintsugi_sdk/models/shared/statusenum.rb'
60
+ autoload :TaxExemptionEnum, 'kintsugi_sdk/models/shared/taxexemptionenum.rb'
61
+ autoload :TaxItemBuilder, 'kintsugi_sdk/models/shared/taxitembuilder.rb'
62
+ autoload :TaxItemEstimate, 'kintsugi_sdk/models/shared/taxitemestimate.rb'
63
+ autoload :TaxItemRead, 'kintsugi_sdk/models/shared/taxitemread.rb'
64
+ autoload :TaxItemReturnReasonEnum, 'kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb'
65
+ autoload :TaxItemTypeEnum, 'kintsugi_sdk/models/shared/taxitemtypeenum.rb'
66
+ autoload :TaxLiabilitySourceEnum, 'kintsugi_sdk/models/shared/taxliabilitysourceenum.rb'
67
+ autoload :TransactionAddressBuilder, 'kintsugi_sdk/models/shared/transactionaddressbuilder.rb'
68
+ autoload :TransactionAddressPublic, 'kintsugi_sdk/models/shared/transactionaddresspublic.rb'
69
+ autoload :TransactionAddressReadOutput, 'kintsugi_sdk/models/shared/transactionaddressread_output.rb'
70
+ autoload :TransactionCreate, 'kintsugi_sdk/models/shared/transactioncreate.rb'
71
+ autoload :TransactionEstimatePublicRequest, 'kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb'
72
+ autoload :TransactionEstimateResponse, 'kintsugi_sdk/models/shared/transactionestimateresponse.rb'
73
+ autoload :TransactionEstimateResponseAddresses, 'kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb'
74
+ autoload :TransactionEstimateResponseType, 'kintsugi_sdk/models/shared/transactionestimateresponse_type.rb'
75
+ autoload :TransactionExemptStatusEnum, 'kintsugi_sdk/models/shared/transactionexemptstatusenum.rb'
76
+ autoload :TransactionItemBuilder, 'kintsugi_sdk/models/shared/transactionitembuilder.rb'
77
+ autoload :TransactionItemCreateUpdate, 'kintsugi_sdk/models/shared/transactionitemcreateupdate.rb'
78
+ autoload :TransactionItemEstimateBase, 'kintsugi_sdk/models/shared/transactionitemestimatebase.rb'
79
+ autoload :TransactionItemEstimateResponse, 'kintsugi_sdk/models/shared/transactionitemestimateresponse.rb'
80
+ autoload :TransactionItemRead, 'kintsugi_sdk/models/shared/transactionitemread.rb'
81
+ autoload :TransactionPublicRequest, 'kintsugi_sdk/models/shared/transactionpublicrequest.rb'
82
+ autoload :TransactionRead, 'kintsugi_sdk/models/shared/transactionread.rb'
83
+ autoload :TransactionRefundStatus, 'kintsugi_sdk/models/shared/transactionrefundstatus.rb'
84
+ autoload :TransactionStatusEnum, 'kintsugi_sdk/models/shared/transactionstatusenum.rb'
85
+ autoload :TransactionTypeEnum, 'kintsugi_sdk/models/shared/transactiontypeenum.rb'
86
+ autoload :TransactionUpdate, 'kintsugi_sdk/models/shared/transactionupdate.rb'
87
+ autoload :TreatmentEnum, 'kintsugi_sdk/models/shared/treatmentenum.rb'
88
+ autoload :ValidationAddress, 'kintsugi_sdk/models/shared/validationaddress.rb'
89
+ autoload :ValidationError, 'kintsugi_sdk/models/shared/validationerror.rb'
90
+ autoload :Addresses, 'kintsugi_sdk/models/shared/addresses.rb'
91
+ autoload :BackendSrcAddressValidationResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb'
92
+ autoload :BackendSrcCustomersResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb'
93
+ autoload :BackendSrcExemptionsModelsExemptionRead, 'kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb'
94
+ autoload :BackendSrcExemptionsResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb'
95
+ autoload :BackendSrcExemptionsSerializersExemptionRead, 'kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb'
96
+ autoload :BackendSrcProductsResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb'
97
+ autoload :BackendSrcTaxEstimationResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb'
98
+ autoload :BackendSrcTransactionsResponsesValidationErrorItem, 'kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb'
99
+ autoload :FastapiPaginationDefaultPageExemptionRead2, 'kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb'
100
+ autoload :Registration, 'kintsugi_sdk/models/shared/registration.rb'
101
+ autoload :Type, 'kintsugi_sdk/models/shared/type.rb'
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,155 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module KintsugiSDK
14
+ extend T::Sig
15
+ class Nexus
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+ sig { params(request: Models::Ops::GetNexusForOrgV1NexusGetRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::PageNexusResponse) }
43
+ def list(request:, timeout_ms: nil)
44
+ # list - Get Nexus For Org
45
+ # Get a list of all nexuses for the organization.
46
+ url, params = @sdk_configuration.get_server_details
47
+ base_url = Utils.template_url(url, params)
48
+ url = "#{base_url}/v1/nexus"
49
+ headers = {}
50
+ headers = T.cast(headers, T::Hash[String, String])
51
+ query_params = Utils.get_query_params(Models::Ops::GetNexusForOrgV1NexusGetRequest, request, nil)
52
+ headers['Accept'] = 'application/json'
53
+ headers['user-agent'] = @sdk_configuration.user_agent
54
+
55
+ security = @sdk_configuration.security_source&.call
56
+
57
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
58
+ timeout ||= @sdk_configuration.timeout
59
+
60
+
61
+ connection = @sdk_configuration.client
62
+
63
+ hook_ctx = SDKHooks::HookContext.new(
64
+ config: @sdk_configuration,
65
+ base_url: base_url,
66
+ oauth2_scopes: [],
67
+ operation_id: 'get_nexus_for_org_v1_nexus_get',
68
+ security_source: @sdk_configuration.security_source
69
+ )
70
+
71
+ error = T.let(nil, T.nilable(StandardError))
72
+ http_response = T.let(nil, T.nilable(Faraday::Response))
73
+
74
+
75
+ begin
76
+ http_response = T.must(connection).get(url) do |req|
77
+ req.headers.merge!(headers)
78
+ req.options.timeout = timeout unless timeout.nil?
79
+ req.params = query_params
80
+ Utils.configure_request_security(req, security)
81
+
82
+ @sdk_configuration.hooks.before_request(
83
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
84
+ hook_ctx: hook_ctx
85
+ ),
86
+ request: req
87
+ )
88
+ end
89
+ rescue StandardError => e
90
+ error = e
91
+ ensure
92
+ if http_response.nil? || Utils.error_status?(http_response.status)
93
+ http_response = @sdk_configuration.hooks.after_error(
94
+ error: error,
95
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
96
+ hook_ctx: hook_ctx
97
+ ),
98
+ response: http_response
99
+ )
100
+ else
101
+ http_response = @sdk_configuration.hooks.after_success(
102
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
103
+ hook_ctx: hook_ctx
104
+ ),
105
+ response: http_response
106
+ )
107
+ end
108
+
109
+ if http_response.nil?
110
+ raise error if !error.nil?
111
+ raise 'no response'
112
+ end
113
+ end
114
+
115
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
116
+ if Utils.match_status_code(http_response.status, ['200'])
117
+ if Utils.match_content_type(content_type, 'application/json')
118
+ @sdk_configuration.hooks.after_success(
119
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
120
+ hook_ctx: hook_ctx
121
+ ),
122
+ response: http_response
123
+ )
124
+ response_data = http_response.env.response_body
125
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PageNexusResponse)
126
+
127
+ return obj
128
+ else
129
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
130
+ end
131
+ elsif Utils.match_status_code(http_response.status, ['422'])
132
+ if Utils.match_content_type(content_type, 'application/json')
133
+ @sdk_configuration.hooks.after_success(
134
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
135
+ hook_ctx: hook_ctx
136
+ ),
137
+ response: http_response
138
+ )
139
+ response_data = http_response.env.response_body
140
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::HTTPValidationError)
141
+ throw obj
142
+ else
143
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
144
+ end
145
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
146
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
147
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
148
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
149
+ else
150
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
151
+
152
+ end
153
+ end
154
+ end
155
+ end
@@ -0,0 +1,104 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module KintsugiSDK
14
+ extend T::Sig
15
+
16
+ class OpenApiSDK
17
+ extend T::Sig
18
+
19
+ attr_accessor :address_validation, :customers, :exemptions, :nexus, :products, :transactions, :tax_estimation
20
+
21
+ sig do
22
+ params(
23
+ client: T.nilable(Faraday::Connection),
24
+ retry_config: T.nilable(::KintsugiSDK::Utils::RetryConfig),
25
+ timeout_ms: T.nilable(Integer),
26
+ security: T.nilable(Models::Shared::Security),
27
+ security_source: T.nilable(T.proc.returns(Models::Shared::Security)),
28
+ server_idx: T.nilable(Integer),
29
+ server_url: T.nilable(String),
30
+ url_params: T.nilable(T::Hash[Symbol, String])
31
+ ).void
32
+ end
33
+ def initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, server_idx: nil, server_url: nil, url_params: nil)
34
+ ## Instantiates the SDK configuring it with the provided parameters.
35
+ # @param [T.nilable(Faraday::Connection)] client The faraday HTTP client to use for all operations
36
+ # @param [T.nilable(::KintsugiSDK::Utils::RetryConfig)] retry_config The retry configuration to use for all operations
37
+ # @param [T.nilable(Integer)] timeout_ms Request timeout in milliseconds for all operations
38
+ # @param [T.nilable(Models::Shared::Security)] security: The security details required for authentication
39
+ # @param [T.proc.returns(T.nilable(Models::Shared::Security))] security_source: A function that returns security details required for authentication
40
+ # @param [T.nilable(::Integer)] server_idx The index of the server to use for all operations
41
+ # @param [T.nilable(::String)] server_url The server URL to use for all operations
42
+ # @param [T.nilable(::Hash<::Symbol, ::String>)] url_params Parameters to optionally template the server URL with
43
+
44
+ connection_options = {
45
+ request: {
46
+ params_encoder: Faraday::FlatParamsEncoder
47
+ }
48
+ }
49
+ connection_options[:request][:timeout] = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
50
+
51
+ client ||= Faraday.new(**connection_options) do |f|
52
+ f.request :multipart, {}
53
+ # f.response :logger, nil, { headers: true, bodies: true, errors: true }
54
+ end
55
+
56
+ if !server_url.nil?
57
+ if !url_params.nil?
58
+ server_url = Utils.template_url(server_url, url_params)
59
+ end
60
+ end
61
+
62
+ server_idx = 0 if server_idx.nil?
63
+ hooks = SDKHooks::Hooks.new
64
+ @sdk_configuration = SDKConfiguration.new(
65
+ client,
66
+ hooks,
67
+ retry_config,
68
+ timeout_ms,
69
+ security,
70
+ security_source,
71
+ server_url,
72
+ server_idx
73
+ )
74
+ @sdk_configuration = hooks.sdk_init(config: @sdk_configuration)
75
+ init_sdks
76
+ end
77
+
78
+ sig { void }
79
+ def init_sdks
80
+ @address_validation = AddressValidation.new(@sdk_configuration)
81
+ @customers = Customers.new(@sdk_configuration)
82
+ @exemptions = Exemptions.new(@sdk_configuration)
83
+ @nexus = Nexus.new(@sdk_configuration)
84
+ @products = Products.new(@sdk_configuration)
85
+ @transactions = Transactions.new(@sdk_configuration)
86
+ @tax_estimation = TaxEstimation.new(@sdk_configuration)
87
+ end
88
+
89
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
90
+ def get_url(base_url:, url_variables: nil)
91
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
92
+
93
+ if base_url.nil?
94
+ base_url = sd_base_url
95
+ end
96
+
97
+ if url_variables.nil?
98
+ url_variables = sd_options
99
+ end
100
+
101
+ return Utils.template_url base_url, url_variables
102
+ end
103
+ end
104
+ end