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,902 @@
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 Transactions
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::GetTransactionsV1TransactionsGetRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::PageTransactionRead) }
43
+ def list(request:, timeout_ms: nil)
44
+ # list - Get Transactions
45
+ # The Get Transactions API retrieves a list of transactions with
46
+ # optional filtering, sorting, and pagination.
47
+ url, params = @sdk_configuration.get_server_details
48
+ base_url = Utils.template_url(url, params)
49
+ url = "#{base_url}/v1/transactions"
50
+ headers = {}
51
+ headers = T.cast(headers, T::Hash[String, String])
52
+ query_params = Utils.get_query_params(Models::Ops::GetTransactionsV1TransactionsGetRequest, request, nil)
53
+ headers['Accept'] = 'application/json'
54
+ headers['user-agent'] = @sdk_configuration.user_agent
55
+
56
+ security = @sdk_configuration.security_source&.call
57
+
58
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
59
+ timeout ||= @sdk_configuration.timeout
60
+
61
+
62
+ connection = @sdk_configuration.client
63
+
64
+ hook_ctx = SDKHooks::HookContext.new(
65
+ config: @sdk_configuration,
66
+ base_url: base_url,
67
+ oauth2_scopes: [],
68
+ operation_id: 'get_transactions_v1_transactions_get',
69
+ security_source: @sdk_configuration.security_source
70
+ )
71
+
72
+ error = T.let(nil, T.nilable(StandardError))
73
+ http_response = T.let(nil, T.nilable(Faraday::Response))
74
+
75
+
76
+ begin
77
+ http_response = T.must(connection).get(url) do |req|
78
+ req.headers.merge!(headers)
79
+ req.options.timeout = timeout unless timeout.nil?
80
+ req.params = query_params
81
+ Utils.configure_request_security(req, security)
82
+
83
+ @sdk_configuration.hooks.before_request(
84
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
85
+ hook_ctx: hook_ctx
86
+ ),
87
+ request: req
88
+ )
89
+ end
90
+ rescue StandardError => e
91
+ error = e
92
+ ensure
93
+ if http_response.nil? || Utils.error_status?(http_response.status)
94
+ http_response = @sdk_configuration.hooks.after_error(
95
+ error: error,
96
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
97
+ hook_ctx: hook_ctx
98
+ ),
99
+ response: http_response
100
+ )
101
+ else
102
+ http_response = @sdk_configuration.hooks.after_success(
103
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
104
+ hook_ctx: hook_ctx
105
+ ),
106
+ response: http_response
107
+ )
108
+ end
109
+
110
+ if http_response.nil?
111
+ raise error if !error.nil?
112
+ raise 'no response'
113
+ end
114
+ end
115
+
116
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
117
+ if Utils.match_status_code(http_response.status, ['200'])
118
+ if Utils.match_content_type(content_type, 'application/json')
119
+ @sdk_configuration.hooks.after_success(
120
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
121
+ hook_ctx: hook_ctx
122
+ ),
123
+ response: http_response
124
+ )
125
+ response_data = http_response.env.response_body
126
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PageTransactionRead)
127
+
128
+ return obj
129
+ else
130
+ 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'
131
+ end
132
+ elsif Utils.match_status_code(http_response.status, ['401', '404'])
133
+ if Utils.match_content_type(content_type, 'application/json')
134
+ @sdk_configuration.hooks.after_success(
135
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
136
+ hook_ctx: hook_ctx
137
+ ),
138
+ response: http_response
139
+ )
140
+ response_data = http_response.env.response_body
141
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
142
+ throw obj
143
+ else
144
+ 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'
145
+ end
146
+ elsif Utils.match_status_code(http_response.status, ['422'])
147
+ if Utils.match_content_type(content_type, 'application/json')
148
+ @sdk_configuration.hooks.after_success(
149
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
150
+ hook_ctx: hook_ctx
151
+ ),
152
+ response: http_response
153
+ )
154
+ response_data = http_response.env.response_body
155
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
156
+ throw obj
157
+ else
158
+ 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'
159
+ end
160
+ elsif Utils.match_status_code(http_response.status, ['500'])
161
+ if Utils.match_content_type(content_type, 'application/json')
162
+ @sdk_configuration.hooks.after_success(
163
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
164
+ hook_ctx: hook_ctx
165
+ ),
166
+ response: http_response
167
+ )
168
+ response_data = http_response.env.response_body
169
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
170
+ throw obj
171
+ else
172
+ 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'
173
+ end
174
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
175
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
176
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
177
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
178
+ else
179
+ 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'
180
+
181
+ end
182
+ end
183
+
184
+
185
+ sig { params(request: Models::Shared::TransactionPublicRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::TransactionRead) }
186
+ def create(request:, timeout_ms: nil)
187
+ # create - Create Transaction
188
+ # Create a transaction.
189
+ url, params = @sdk_configuration.get_server_details
190
+ base_url = Utils.template_url(url, params)
191
+ url = "#{base_url}/v1/transactions"
192
+ headers = {}
193
+ headers = T.cast(headers, T::Hash[String, String])
194
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request, :json)
195
+ headers['content-type'] = req_content_type
196
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
197
+
198
+ if form
199
+ body = Utils.encode_form(form)
200
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
201
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
202
+ else
203
+ body = data
204
+ end
205
+ headers['Accept'] = 'application/json'
206
+ headers['user-agent'] = @sdk_configuration.user_agent
207
+
208
+ security = @sdk_configuration.security_source&.call
209
+
210
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
211
+ timeout ||= @sdk_configuration.timeout
212
+
213
+
214
+ connection = @sdk_configuration.client
215
+
216
+ hook_ctx = SDKHooks::HookContext.new(
217
+ config: @sdk_configuration,
218
+ base_url: base_url,
219
+ oauth2_scopes: [],
220
+ operation_id: 'create_transaction_v1_transactions_post',
221
+ security_source: @sdk_configuration.security_source
222
+ )
223
+
224
+ error = T.let(nil, T.nilable(StandardError))
225
+ http_response = T.let(nil, T.nilable(Faraday::Response))
226
+
227
+
228
+ begin
229
+ http_response = T.must(connection).post(url) do |req|
230
+ req.body = body
231
+ req.headers.merge!(headers)
232
+ req.options.timeout = timeout unless timeout.nil?
233
+ Utils.configure_request_security(req, security)
234
+
235
+ @sdk_configuration.hooks.before_request(
236
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
237
+ hook_ctx: hook_ctx
238
+ ),
239
+ request: req
240
+ )
241
+ end
242
+ rescue StandardError => e
243
+ error = e
244
+ ensure
245
+ if http_response.nil? || Utils.error_status?(http_response.status)
246
+ http_response = @sdk_configuration.hooks.after_error(
247
+ error: error,
248
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
249
+ hook_ctx: hook_ctx
250
+ ),
251
+ response: http_response
252
+ )
253
+ else
254
+ http_response = @sdk_configuration.hooks.after_success(
255
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
256
+ hook_ctx: hook_ctx
257
+ ),
258
+ response: http_response
259
+ )
260
+ end
261
+
262
+ if http_response.nil?
263
+ raise error if !error.nil?
264
+ raise 'no response'
265
+ end
266
+ end
267
+
268
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
269
+ if Utils.match_status_code(http_response.status, ['202'])
270
+ if Utils.match_content_type(content_type, 'application/json')
271
+ @sdk_configuration.hooks.after_success(
272
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
273
+ hook_ctx: hook_ctx
274
+ ),
275
+ response: http_response
276
+ )
277
+ response_data = http_response.env.response_body
278
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
279
+
280
+ return obj
281
+ else
282
+ 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'
283
+ end
284
+ elsif Utils.match_status_code(http_response.status, ['400', '401'])
285
+ if Utils.match_content_type(content_type, 'application/json')
286
+ @sdk_configuration.hooks.after_success(
287
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
288
+ hook_ctx: hook_ctx
289
+ ),
290
+ response: http_response
291
+ )
292
+ response_data = http_response.env.response_body
293
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
294
+ throw obj
295
+ else
296
+ 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'
297
+ end
298
+ elsif Utils.match_status_code(http_response.status, ['422'])
299
+ if Utils.match_content_type(content_type, 'application/json')
300
+ @sdk_configuration.hooks.after_success(
301
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
302
+ hook_ctx: hook_ctx
303
+ ),
304
+ response: http_response
305
+ )
306
+ response_data = http_response.env.response_body
307
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
308
+ throw obj
309
+ else
310
+ 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'
311
+ end
312
+ elsif Utils.match_status_code(http_response.status, ['500'])
313
+ if Utils.match_content_type(content_type, 'application/json')
314
+ @sdk_configuration.hooks.after_success(
315
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
316
+ hook_ctx: hook_ctx
317
+ ),
318
+ response: http_response
319
+ )
320
+ response_data = http_response.env.response_body
321
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
322
+ throw obj
323
+ else
324
+ 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'
325
+ end
326
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
327
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
328
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
329
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
330
+ else
331
+ 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'
332
+
333
+ end
334
+ end
335
+
336
+
337
+ sig { params(request: Models::Ops::GetTransactionByExternalIdRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::TransactionRead) }
338
+ def get_by_external_id(request:, timeout_ms: nil)
339
+ # get_by_external_id - Get Transaction By External Id
340
+ # Retrieves a specific transaction based on its external ID.
341
+ # This allows users to fetch transaction details using an identifier from an external system.
342
+ url, params = @sdk_configuration.get_server_details
343
+ base_url = Utils.template_url(url, params)
344
+ url = Utils.generate_url(
345
+ Models::Ops::GetTransactionByExternalIdRequest,
346
+ base_url,
347
+ '/v1/transactions/external/{external_id}',
348
+ request
349
+ )
350
+ headers = {}
351
+ headers = T.cast(headers, T::Hash[String, String])
352
+ headers['Accept'] = 'application/json'
353
+ headers['user-agent'] = @sdk_configuration.user_agent
354
+
355
+ security = @sdk_configuration.security_source&.call
356
+
357
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
358
+ timeout ||= @sdk_configuration.timeout
359
+
360
+
361
+ connection = @sdk_configuration.client
362
+
363
+ hook_ctx = SDKHooks::HookContext.new(
364
+ config: @sdk_configuration,
365
+ base_url: base_url,
366
+ oauth2_scopes: [],
367
+ operation_id: 'getTransactionByExternalId',
368
+ security_source: @sdk_configuration.security_source
369
+ )
370
+
371
+ error = T.let(nil, T.nilable(StandardError))
372
+ http_response = T.let(nil, T.nilable(Faraday::Response))
373
+
374
+
375
+ begin
376
+ http_response = T.must(connection).get(url) do |req|
377
+ req.headers.merge!(headers)
378
+ req.options.timeout = timeout unless timeout.nil?
379
+ Utils.configure_request_security(req, security)
380
+
381
+ @sdk_configuration.hooks.before_request(
382
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
383
+ hook_ctx: hook_ctx
384
+ ),
385
+ request: req
386
+ )
387
+ end
388
+ rescue StandardError => e
389
+ error = e
390
+ ensure
391
+ if http_response.nil? || Utils.error_status?(http_response.status)
392
+ http_response = @sdk_configuration.hooks.after_error(
393
+ error: error,
394
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
395
+ hook_ctx: hook_ctx
396
+ ),
397
+ response: http_response
398
+ )
399
+ else
400
+ http_response = @sdk_configuration.hooks.after_success(
401
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
402
+ hook_ctx: hook_ctx
403
+ ),
404
+ response: http_response
405
+ )
406
+ end
407
+
408
+ if http_response.nil?
409
+ raise error if !error.nil?
410
+ raise 'no response'
411
+ end
412
+ end
413
+
414
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
415
+ if Utils.match_status_code(http_response.status, ['200'])
416
+ if Utils.match_content_type(content_type, 'application/json')
417
+ @sdk_configuration.hooks.after_success(
418
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
419
+ hook_ctx: hook_ctx
420
+ ),
421
+ response: http_response
422
+ )
423
+ response_data = http_response.env.response_body
424
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
425
+
426
+ return obj
427
+ else
428
+ 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'
429
+ end
430
+ elsif Utils.match_status_code(http_response.status, ['401', '404'])
431
+ if Utils.match_content_type(content_type, 'application/json')
432
+ @sdk_configuration.hooks.after_success(
433
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
434
+ hook_ctx: hook_ctx
435
+ ),
436
+ response: http_response
437
+ )
438
+ response_data = http_response.env.response_body
439
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
440
+ throw obj
441
+ else
442
+ 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'
443
+ end
444
+ elsif Utils.match_status_code(http_response.status, ['422'])
445
+ if Utils.match_content_type(content_type, 'application/json')
446
+ @sdk_configuration.hooks.after_success(
447
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
448
+ hook_ctx: hook_ctx
449
+ ),
450
+ response: http_response
451
+ )
452
+ response_data = http_response.env.response_body
453
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
454
+ throw obj
455
+ else
456
+ 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'
457
+ end
458
+ elsif Utils.match_status_code(http_response.status, ['500'])
459
+ if Utils.match_content_type(content_type, 'application/json')
460
+ @sdk_configuration.hooks.after_success(
461
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
462
+ hook_ctx: hook_ctx
463
+ ),
464
+ response: http_response
465
+ )
466
+ response_data = http_response.env.response_body
467
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
468
+ throw obj
469
+ else
470
+ 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'
471
+ end
472
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
473
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
474
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
475
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
476
+ else
477
+ 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'
478
+
479
+ end
480
+ end
481
+
482
+
483
+ sig { params(request: Models::Ops::UpdateTransactionV1TransactionsTransactionIdPutRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::TransactionRead) }
484
+ def update(request:, timeout_ms: nil)
485
+ # update - Update Transaction
486
+ # Update a specific transaction by its ID.
487
+ url, params = @sdk_configuration.get_server_details
488
+ base_url = Utils.template_url(url, params)
489
+ url = Utils.generate_url(
490
+ Models::Ops::UpdateTransactionV1TransactionsTransactionIdPutRequest,
491
+ base_url,
492
+ '/v1/transactions/{transaction_id}',
493
+ request
494
+ )
495
+ headers = {}
496
+ headers = T.cast(headers, T::Hash[String, String])
497
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :transaction_update, :json)
498
+ headers['content-type'] = req_content_type
499
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
500
+
501
+ if form
502
+ body = Utils.encode_form(form)
503
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
504
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
505
+ else
506
+ body = data
507
+ end
508
+ headers['Accept'] = 'application/json'
509
+ headers['user-agent'] = @sdk_configuration.user_agent
510
+
511
+ security = @sdk_configuration.security_source&.call
512
+
513
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
514
+ timeout ||= @sdk_configuration.timeout
515
+
516
+
517
+ connection = @sdk_configuration.client
518
+
519
+ hook_ctx = SDKHooks::HookContext.new(
520
+ config: @sdk_configuration,
521
+ base_url: base_url,
522
+ oauth2_scopes: [],
523
+ operation_id: 'update_transaction_v1_transactions__transaction_id__put',
524
+ security_source: @sdk_configuration.security_source
525
+ )
526
+
527
+ error = T.let(nil, T.nilable(StandardError))
528
+ http_response = T.let(nil, T.nilable(Faraday::Response))
529
+
530
+
531
+ begin
532
+ http_response = T.must(connection).put(url) do |req|
533
+ req.body = body
534
+ req.headers.merge!(headers)
535
+ req.options.timeout = timeout unless timeout.nil?
536
+ Utils.configure_request_security(req, security)
537
+
538
+ @sdk_configuration.hooks.before_request(
539
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
540
+ hook_ctx: hook_ctx
541
+ ),
542
+ request: req
543
+ )
544
+ end
545
+ rescue StandardError => e
546
+ error = e
547
+ ensure
548
+ if http_response.nil? || Utils.error_status?(http_response.status)
549
+ http_response = @sdk_configuration.hooks.after_error(
550
+ error: error,
551
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
552
+ hook_ctx: hook_ctx
553
+ ),
554
+ response: http_response
555
+ )
556
+ else
557
+ http_response = @sdk_configuration.hooks.after_success(
558
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
559
+ hook_ctx: hook_ctx
560
+ ),
561
+ response: http_response
562
+ )
563
+ end
564
+
565
+ if http_response.nil?
566
+ raise error if !error.nil?
567
+ raise 'no response'
568
+ end
569
+ end
570
+
571
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
572
+ if Utils.match_status_code(http_response.status, ['200'])
573
+ if Utils.match_content_type(content_type, 'application/json')
574
+ @sdk_configuration.hooks.after_success(
575
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
576
+ hook_ctx: hook_ctx
577
+ ),
578
+ response: http_response
579
+ )
580
+ response_data = http_response.env.response_body
581
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
582
+
583
+ return obj
584
+ else
585
+ 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'
586
+ end
587
+ elsif Utils.match_status_code(http_response.status, ['422'])
588
+ if Utils.match_content_type(content_type, 'application/json')
589
+ @sdk_configuration.hooks.after_success(
590
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
591
+ hook_ctx: hook_ctx
592
+ ),
593
+ response: http_response
594
+ )
595
+ response_data = http_response.env.response_body
596
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::HTTPValidationError)
597
+ throw obj
598
+ else
599
+ 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'
600
+ end
601
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
602
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
603
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
604
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
605
+ else
606
+ 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'
607
+
608
+ end
609
+ end
610
+
611
+
612
+ sig { params(request: Models::Ops::GetTransactionByIdV1TransactionsTransactionIdGetRequest, timeout_ms: T.nilable(Integer)).returns(Models::Shared::TransactionRead) }
613
+ def get_by_id(request:, timeout_ms: nil)
614
+ # get_by_id - Get Transaction By Id
615
+ # The Get Transaction By Id API retrieves detailed information
616
+ # about a specific transaction by providing its unique transaction ID.
617
+ url, params = @sdk_configuration.get_server_details
618
+ base_url = Utils.template_url(url, params)
619
+ url = Utils.generate_url(
620
+ Models::Ops::GetTransactionByIdV1TransactionsTransactionIdGetRequest,
621
+ base_url,
622
+ '/v1/transactions/{transaction_id}',
623
+ request
624
+ )
625
+ headers = {}
626
+ headers = T.cast(headers, T::Hash[String, String])
627
+ headers['Accept'] = 'application/json'
628
+ headers['user-agent'] = @sdk_configuration.user_agent
629
+
630
+ security = @sdk_configuration.security_source&.call
631
+
632
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
633
+ timeout ||= @sdk_configuration.timeout
634
+
635
+
636
+ connection = @sdk_configuration.client
637
+
638
+ hook_ctx = SDKHooks::HookContext.new(
639
+ config: @sdk_configuration,
640
+ base_url: base_url,
641
+ oauth2_scopes: [],
642
+ operation_id: 'get_transaction_by_id_v1_transactions__transaction_id__get',
643
+ security_source: @sdk_configuration.security_source
644
+ )
645
+
646
+ error = T.let(nil, T.nilable(StandardError))
647
+ http_response = T.let(nil, T.nilable(Faraday::Response))
648
+
649
+
650
+ begin
651
+ http_response = T.must(connection).get(url) do |req|
652
+ req.headers.merge!(headers)
653
+ req.options.timeout = timeout unless timeout.nil?
654
+ Utils.configure_request_security(req, security)
655
+
656
+ @sdk_configuration.hooks.before_request(
657
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
658
+ hook_ctx: hook_ctx
659
+ ),
660
+ request: req
661
+ )
662
+ end
663
+ rescue StandardError => e
664
+ error = e
665
+ ensure
666
+ if http_response.nil? || Utils.error_status?(http_response.status)
667
+ http_response = @sdk_configuration.hooks.after_error(
668
+ error: error,
669
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
670
+ hook_ctx: hook_ctx
671
+ ),
672
+ response: http_response
673
+ )
674
+ else
675
+ http_response = @sdk_configuration.hooks.after_success(
676
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
677
+ hook_ctx: hook_ctx
678
+ ),
679
+ response: http_response
680
+ )
681
+ end
682
+
683
+ if http_response.nil?
684
+ raise error if !error.nil?
685
+ raise 'no response'
686
+ end
687
+ end
688
+
689
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
690
+ if Utils.match_status_code(http_response.status, ['200'])
691
+ if Utils.match_content_type(content_type, 'application/json')
692
+ @sdk_configuration.hooks.after_success(
693
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
694
+ hook_ctx: hook_ctx
695
+ ),
696
+ response: http_response
697
+ )
698
+ response_data = http_response.env.response_body
699
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
700
+
701
+ return obj
702
+ else
703
+ 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'
704
+ end
705
+ elsif Utils.match_status_code(http_response.status, ['401', '404'])
706
+ if Utils.match_content_type(content_type, 'application/json')
707
+ @sdk_configuration.hooks.after_success(
708
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
709
+ hook_ctx: hook_ctx
710
+ ),
711
+ response: http_response
712
+ )
713
+ response_data = http_response.env.response_body
714
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
715
+ throw obj
716
+ else
717
+ 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'
718
+ end
719
+ elsif Utils.match_status_code(http_response.status, ['422'])
720
+ if Utils.match_content_type(content_type, 'application/json')
721
+ @sdk_configuration.hooks.after_success(
722
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
723
+ hook_ctx: hook_ctx
724
+ ),
725
+ response: http_response
726
+ )
727
+ response_data = http_response.env.response_body
728
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
729
+ throw obj
730
+ else
731
+ 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'
732
+ end
733
+ elsif Utils.match_status_code(http_response.status, ['500'])
734
+ if Utils.match_content_type(content_type, 'application/json')
735
+ @sdk_configuration.hooks.after_success(
736
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
737
+ hook_ctx: hook_ctx
738
+ ),
739
+ response: http_response
740
+ )
741
+ response_data = http_response.env.response_body
742
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
743
+ throw obj
744
+ else
745
+ 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'
746
+ end
747
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
748
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
749
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
750
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
751
+ else
752
+ 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'
753
+
754
+ end
755
+ end
756
+
757
+
758
+ sig { params(request: Models::Ops::GetTransactionsByFilingRequest, timeout_ms: T.nilable(Integer)).returns(T::Array[Models::Shared::TransactionRead]) }
759
+ def get_by_filing_id(request:, timeout_ms: nil)
760
+ # get_by_filing_id - Get Transactions By Filing Id
761
+ # Retrieve transactions by filing ID.
762
+ url, params = @sdk_configuration.get_server_details
763
+ base_url = Utils.template_url(url, params)
764
+ url = Utils.generate_url(
765
+ Models::Ops::GetTransactionsByFilingRequest,
766
+ base_url,
767
+ '/v1/transactions/filings/{filing_id}',
768
+ request
769
+ )
770
+ headers = {}
771
+ headers = T.cast(headers, T::Hash[String, String])
772
+ headers['Accept'] = 'application/json'
773
+ headers['user-agent'] = @sdk_configuration.user_agent
774
+
775
+ security = @sdk_configuration.security_source&.call
776
+
777
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
778
+ timeout ||= @sdk_configuration.timeout
779
+
780
+
781
+ connection = @sdk_configuration.client
782
+
783
+ hook_ctx = SDKHooks::HookContext.new(
784
+ config: @sdk_configuration,
785
+ base_url: base_url,
786
+ oauth2_scopes: [],
787
+ operation_id: 'getTransactionsByFiling',
788
+ security_source: @sdk_configuration.security_source
789
+ )
790
+
791
+ error = T.let(nil, T.nilable(StandardError))
792
+ http_response = T.let(nil, T.nilable(Faraday::Response))
793
+
794
+
795
+ begin
796
+ http_response = T.must(connection).get(url) do |req|
797
+ req.headers.merge!(headers)
798
+ req.options.timeout = timeout unless timeout.nil?
799
+ Utils.configure_request_security(req, security)
800
+
801
+ @sdk_configuration.hooks.before_request(
802
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
803
+ hook_ctx: hook_ctx
804
+ ),
805
+ request: req
806
+ )
807
+ end
808
+ rescue StandardError => e
809
+ error = e
810
+ ensure
811
+ if http_response.nil? || Utils.error_status?(http_response.status)
812
+ http_response = @sdk_configuration.hooks.after_error(
813
+ error: error,
814
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
815
+ hook_ctx: hook_ctx
816
+ ),
817
+ response: http_response
818
+ )
819
+ else
820
+ http_response = @sdk_configuration.hooks.after_success(
821
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
822
+ hook_ctx: hook_ctx
823
+ ),
824
+ response: http_response
825
+ )
826
+ end
827
+
828
+ if http_response.nil?
829
+ raise error if !error.nil?
830
+ raise 'no response'
831
+ end
832
+ end
833
+
834
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
835
+ if Utils.match_status_code(http_response.status, ['200'])
836
+ if Utils.match_content_type(content_type, 'application/json')
837
+ @sdk_configuration.hooks.after_success(
838
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
839
+ hook_ctx: hook_ctx
840
+ ),
841
+ response: http_response
842
+ )
843
+ response_data = http_response.env.response_body
844
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Shared::TransactionRead))
845
+
846
+ return obj
847
+ else
848
+ 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'
849
+ end
850
+ elsif Utils.match_status_code(http_response.status, ['401'])
851
+ if Utils.match_content_type(content_type, 'application/json')
852
+ @sdk_configuration.hooks.after_success(
853
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
854
+ hook_ctx: hook_ctx
855
+ ),
856
+ response: http_response
857
+ )
858
+ response_data = http_response.env.response_body
859
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
860
+ throw obj
861
+ else
862
+ 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'
863
+ end
864
+ elsif Utils.match_status_code(http_response.status, ['422'])
865
+ if Utils.match_content_type(content_type, 'application/json')
866
+ @sdk_configuration.hooks.after_success(
867
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
868
+ hook_ctx: hook_ctx
869
+ ),
870
+ response: http_response
871
+ )
872
+ response_data = http_response.env.response_body
873
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
874
+ throw obj
875
+ else
876
+ 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'
877
+ end
878
+ elsif Utils.match_status_code(http_response.status, ['500'])
879
+ if Utils.match_content_type(content_type, 'application/json')
880
+ @sdk_configuration.hooks.after_success(
881
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
882
+ hook_ctx: hook_ctx
883
+ ),
884
+ response: http_response
885
+ )
886
+ response_data = http_response.env.response_body
887
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
888
+ throw obj
889
+ else
890
+ 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'
891
+ end
892
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
893
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
894
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
895
+ raise ::KintsugiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
896
+ else
897
+ 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'
898
+
899
+ end
900
+ end
901
+ end
902
+ end