kintsugi_sdk 5.6.1 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kintsugi_sdk/addressvalidation.rb +8 -6
- data/lib/kintsugi_sdk/customers.rb +90 -88
- data/lib/kintsugi_sdk/exemptions.rb +60 -60
- data/lib/kintsugi_sdk/models/errors/{backend_src_products_responses_validationerrorresponse.rb → backend_src_products_schemas_responses_validationerrorresponse.rb} +3 -3
- data/lib/kintsugi_sdk/models/errors/backend_src_products_schemas_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors.rb +1 -1
- data/lib/kintsugi_sdk/models/ops/{search_v1_address_validation_search_post_security.rb → country.rb} +3 -8
- data/lib/kintsugi_sdk/models/{shared/registration.rbi → ops/country.rbi} +2 -2
- data/lib/kintsugi_sdk/models/ops/country_code.rb +27 -0
- data/lib/kintsugi_sdk/models/ops/country_code.rbi +11 -0
- data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rb +36 -0
- data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rb +36 -0
- data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rb +36 -0
- data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +13 -5
- data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rbi +4 -0
- data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +17 -9
- data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rbi +6 -2
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +29 -13
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +14 -6
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rb +27 -0
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rbi +11 -0
- data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +44 -18
- data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rbi +14 -4
- data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +14 -2
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rbi +6 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rb +27 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rbi +11 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/queryparam_country.rb +27 -0
- data/lib/kintsugi_sdk/models/ops/queryparam_country.rbi +11 -0
- data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rb +36 -0
- data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rb +27 -0
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rbi +11 -0
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +9 -5
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rbi +4 -2
- data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +6 -2
- data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rbi +2 -0
- data/lib/kintsugi_sdk/models/ops.rb +10 -1
- data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -1
- data/lib/kintsugi_sdk/models/shared/addresses.rb +7 -3
- data/lib/kintsugi_sdk/models/shared/addresses.rbi +2 -0
- data/lib/kintsugi_sdk/models/shared/amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rb → backend_src_exemptions_schemas_exemption_exemptionread.rb} +11 -10
- data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rbi → backend_src_exemptions_schemas_exemption_exemptionread.rbi} +4 -4
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +9 -9
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rb → backend_src_products_schemas_responses_validationerroritem.rb} +1 -1
- data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rbi → backend_src_products_schemas_responses_validationerroritem.rbi} +2 -2
- data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +2 -2
- data/lib/kintsugi_sdk/models/shared/{registration.rb → context.rb} +1 -1
- data/lib/kintsugi_sdk/models/shared/context.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/conversion_rate.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/conversion_rate.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_subtotal.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_subtotal.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_discount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_discount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/customer.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/customer.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/customerbase.rb +16 -12
- data/lib/kintsugi_sdk/models/shared/customerbase.rbi +6 -4
- data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +16 -12
- data/lib/kintsugi_sdk/models/shared/customerbasebase.rbi +6 -4
- data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +16 -12
- data/lib/kintsugi_sdk/models/shared/customerbasepublic.rbi +6 -4
- data/lib/kintsugi_sdk/models/shared/customercreate.rb +20 -16
- data/lib/kintsugi_sdk/models/shared/customercreate.rbi +8 -6
- data/lib/kintsugi_sdk/models/shared/customerread.rb +24 -16
- data/lib/kintsugi_sdk/models/shared/customerread.rbi +10 -6
- data/lib/kintsugi_sdk/models/shared/customerupdate.rb +13 -9
- data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +4 -2
- data/lib/kintsugi_sdk/models/shared/discount_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/discount_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +6 -6
- data/lib/kintsugi_sdk/models/shared/discountbuilder.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rb +20 -0
- data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/documenttypeenum.rb +21 -0
- data/lib/kintsugi_sdk/models/shared/documenttypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/exemption.rb +23 -14
- data/lib/kintsugi_sdk/models/shared/exemption.rbi +8 -4
- data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +3 -3
- data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +22 -2
- data/lib/kintsugi_sdk/models/shared/exemptionrequired.rbi +10 -0
- data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rb +42 -0
- data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +2 -2
- data/lib/kintsugi_sdk/models/shared/loc.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/loc.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +112 -82
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +52 -40
- data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +2 -0
- data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/productread.rb +40 -12
- data/lib/kintsugi_sdk/models/shared/productread.rbi +18 -4
- data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/productupdate.rb +6 -6
- data/lib/kintsugi_sdk/models/shared/productupdate.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/productupdatev2.rb +64 -0
- data/lib/kintsugi_sdk/models/shared/productupdatev2.rbi +29 -0
- data/lib/kintsugi_sdk/models/shared/quantity.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/quantity.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/rate.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/rate.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/security.rb +3 -7
- data/lib/kintsugi_sdk/models/shared/security.rbi +0 -2
- data/lib/kintsugi_sdk/models/shared/sourceenum.rb +15 -0
- data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +14 -14
- data/lib/kintsugi_sdk/models/shared/taxitembuilder.rbi +4 -4
- data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +10 -10
- data/lib/kintsugi_sdk/models/shared/taxitemestimate.rbi +4 -4
- data/lib/kintsugi_sdk/models/shared/taxitemread.rb +10 -10
- data/lib/kintsugi_sdk/models/shared/taxitemread.rbi +4 -4
- data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/taxtypeenum.rb +26 -0
- data/lib/kintsugi_sdk/models/shared/taxtypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/total_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/total_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +11 -7
- data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rbi +4 -2
- data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +8 -4
- data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rbi +2 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +11 -7
- data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rbi +4 -2
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +84 -78
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +34 -28
- data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rb +19 -0
- data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +9 -7
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +10 -8
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +2 -2
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +7 -3
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rbi +2 -0
- data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rb +104 -0
- data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rbi +49 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +53 -53
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rbi +20 -20
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +53 -53
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rbi +20 -20
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +17 -7
- data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rbi +4 -2
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +20 -10
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rbi +6 -4
- data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +51 -43
- data/lib/kintsugi_sdk/models/shared/transactionitemread.rbi +22 -18
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +64 -62
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +28 -24
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionread.rb +89 -71
- data/lib/kintsugi_sdk/models/shared/transactionread.rbi +40 -28
- data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +1 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +63 -61
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +28 -24
- data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/validationaddress.rb +12 -12
- data/lib/kintsugi_sdk/models/shared/validationaddress.rbi +4 -4
- data/lib/kintsugi_sdk/models/shared/validationerror.rb +11 -3
- data/lib/kintsugi_sdk/models/shared/validationerror.rbi +4 -0
- data/lib/kintsugi_sdk/models/shared.rb +73 -5
- data/lib/kintsugi_sdk/nexus.rb +4 -4
- data/lib/kintsugi_sdk/openapisdk.rb +5 -5
- data/lib/kintsugi_sdk/products.rb +11 -9
- data/lib/kintsugi_sdk/sdkconfiguration.rb +8 -8
- data/lib/kintsugi_sdk/taxestimation.rb +6 -6
- data/lib/kintsugi_sdk/transactions.rb +73 -73
- data/lib/kintsugi_sdk/utils/retries.rb +41 -2
- data/lib/kintsugi_sdk/utils/utils.rb +6 -2
- data/lib/kintsugi_sdk.rb +1 -1
- metadata +170 -16
- data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rbi +0 -13
- data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rbi +0 -13
- data/lib/kintsugi_sdk/models/shared/file.rb +0 -36
- data/lib/kintsugi_sdk/models/shared/file.rbi +0 -15
- data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +0 -48
- data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rbi +0 -21
|
@@ -43,13 +43,13 @@ module KintsugiSDK
|
|
|
43
43
|
|
|
44
44
|
sig { params(request: Models::Ops::GetTransactionsV1TransactionsGetRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Shared::PageTransactionRead) }
|
|
45
45
|
def list(request:, timeout_ms: nil, http_headers: nil)
|
|
46
|
-
# list - Get
|
|
46
|
+
# list - Get transactions
|
|
47
47
|
# The Get Transactions API retrieves a list of transactions with
|
|
48
48
|
# optional filtering, sorting, and pagination.
|
|
49
49
|
url, params = @sdk_configuration.get_server_details
|
|
50
50
|
base_url = Utils.template_url(url, params)
|
|
51
51
|
url = "#{base_url}/v1/transactions"
|
|
52
|
-
headers =
|
|
52
|
+
headers = Utils.get_headers(request)
|
|
53
53
|
headers = T.cast(headers, T::Hash[String, String])
|
|
54
54
|
query_params = Utils.get_query_params(Models::Ops::GetTransactionsV1TransactionsGetRequest, request, nil)
|
|
55
55
|
headers['Accept'] = 'application/json'
|
|
@@ -187,16 +187,16 @@ module KintsugiSDK
|
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
|
|
190
|
-
sig { params(request: Models::
|
|
190
|
+
sig { params(request: Models::Ops::CreateTransactionV1TransactionsPostRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Shared::TransactionRead) }
|
|
191
191
|
def create(request:, timeout_ms: nil, http_headers: nil)
|
|
192
|
-
# create - Create
|
|
193
|
-
# Create a transaction.
|
|
192
|
+
# create - Create transaction
|
|
193
|
+
# Create a transaction. Set `marketplace: true` for reseller or marketplace orders where tax was remitted externally; gross sales still count toward nexus, but tax liability is excluded.
|
|
194
194
|
url, params = @sdk_configuration.get_server_details
|
|
195
195
|
base_url = Utils.template_url(url, params)
|
|
196
196
|
url = "#{base_url}/v1/transactions"
|
|
197
|
-
headers =
|
|
197
|
+
headers = Utils.get_headers(request)
|
|
198
198
|
headers = T.cast(headers, T::Hash[String, String])
|
|
199
|
-
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :
|
|
199
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :transaction_public_request, :json)
|
|
200
200
|
headers['content-type'] = req_content_type
|
|
201
201
|
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
202
202
|
|
|
@@ -344,7 +344,7 @@ module KintsugiSDK
|
|
|
344
344
|
|
|
345
345
|
sig { params(request: Models::Ops::GetTransactionByExternalIdRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Shared::TransactionRead) }
|
|
346
346
|
def get_by_external_id(request:, timeout_ms: nil, http_headers: nil)
|
|
347
|
-
# get_by_external_id - Get
|
|
347
|
+
# get_by_external_id - Get transaction by external id
|
|
348
348
|
# Retrieves a specific transaction based on its external ID.
|
|
349
349
|
# This allows users to fetch transaction details using an identifier from an external system.
|
|
350
350
|
url, params = @sdk_configuration.get_server_details
|
|
@@ -355,7 +355,7 @@ module KintsugiSDK
|
|
|
355
355
|
'/v1/transactions/external/{external_id}',
|
|
356
356
|
request
|
|
357
357
|
)
|
|
358
|
-
headers =
|
|
358
|
+
headers = Utils.get_headers(request)
|
|
359
359
|
headers = T.cast(headers, T::Hash[String, String])
|
|
360
360
|
headers['Accept'] = 'application/json'
|
|
361
361
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
@@ -491,31 +491,20 @@ module KintsugiSDK
|
|
|
491
491
|
end
|
|
492
492
|
|
|
493
493
|
|
|
494
|
-
sig { params(request: Models::Ops::
|
|
495
|
-
def
|
|
496
|
-
#
|
|
497
|
-
#
|
|
494
|
+
sig { params(request: Models::Ops::GetTransactionsByFilingRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(T::Array[Models::Shared::TransactionRead]) }
|
|
495
|
+
def get_by_filing_id(request:, timeout_ms: nil, http_headers: nil)
|
|
496
|
+
# get_by_filing_id - Get transactions by filing id
|
|
497
|
+
# Retrieve transactions by filing ID.
|
|
498
498
|
url, params = @sdk_configuration.get_server_details
|
|
499
499
|
base_url = Utils.template_url(url, params)
|
|
500
500
|
url = Utils.generate_url(
|
|
501
|
-
Models::Ops::
|
|
501
|
+
Models::Ops::GetTransactionsByFilingRequest,
|
|
502
502
|
base_url,
|
|
503
|
-
'/v1/transactions/{
|
|
503
|
+
'/v1/transactions/filings/{filing_id}',
|
|
504
504
|
request
|
|
505
505
|
)
|
|
506
|
-
headers =
|
|
506
|
+
headers = Utils.get_headers(request)
|
|
507
507
|
headers = T.cast(headers, T::Hash[String, String])
|
|
508
|
-
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :transaction_update, :json)
|
|
509
|
-
headers['content-type'] = req_content_type
|
|
510
|
-
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
511
|
-
|
|
512
|
-
if form && !form.empty?
|
|
513
|
-
body = Utils.encode_form(form)
|
|
514
|
-
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
515
|
-
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
516
|
-
else
|
|
517
|
-
body = data
|
|
518
|
-
end
|
|
519
508
|
headers['Accept'] = 'application/json'
|
|
520
509
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
521
510
|
|
|
@@ -531,7 +520,7 @@ module KintsugiSDK
|
|
|
531
520
|
config: @sdk_configuration,
|
|
532
521
|
base_url: base_url,
|
|
533
522
|
oauth2_scopes: nil,
|
|
534
|
-
operation_id: '
|
|
523
|
+
operation_id: 'getTransactionsByFiling',
|
|
535
524
|
security_source: @sdk_configuration.security_source
|
|
536
525
|
)
|
|
537
526
|
|
|
@@ -540,8 +529,7 @@ module KintsugiSDK
|
|
|
540
529
|
|
|
541
530
|
|
|
542
531
|
begin
|
|
543
|
-
http_response = T.must(connection).
|
|
544
|
-
req.body = body
|
|
532
|
+
http_response = T.must(connection).get(url) do |req|
|
|
545
533
|
req.headers.merge!(headers)
|
|
546
534
|
req.options.timeout = timeout unless timeout.nil?
|
|
547
535
|
Utils.configure_request_security(req, security)
|
|
@@ -592,12 +580,26 @@ module KintsugiSDK
|
|
|
592
580
|
response: http_response
|
|
593
581
|
)
|
|
594
582
|
response_data = http_response.env.response_body
|
|
595
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
|
|
583
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Shared::TransactionRead))
|
|
596
584
|
|
|
597
585
|
return obj
|
|
598
586
|
else
|
|
599
587
|
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
588
|
end
|
|
589
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
|
590
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
591
|
+
@sdk_configuration.hooks.after_success(
|
|
592
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
593
|
+
hook_ctx: hook_ctx
|
|
594
|
+
),
|
|
595
|
+
response: http_response
|
|
596
|
+
)
|
|
597
|
+
response_data = http_response.env.response_body
|
|
598
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
|
|
599
|
+
raise obj
|
|
600
|
+
else
|
|
601
|
+
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'
|
|
602
|
+
end
|
|
601
603
|
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
602
604
|
if Utils.match_content_type(content_type, 'application/json')
|
|
603
605
|
@sdk_configuration.hooks.after_success(
|
|
@@ -607,7 +609,21 @@ module KintsugiSDK
|
|
|
607
609
|
response: http_response
|
|
608
610
|
)
|
|
609
611
|
response_data = http_response.env.response_body
|
|
610
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::
|
|
612
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BackendSrcTransactionsResponsesValidationErrorResponse)
|
|
613
|
+
raise obj
|
|
614
|
+
else
|
|
615
|
+
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'
|
|
616
|
+
end
|
|
617
|
+
elsif Utils.match_status_code(http_response.status, ['500'])
|
|
618
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
619
|
+
@sdk_configuration.hooks.after_success(
|
|
620
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
621
|
+
hook_ctx: hook_ctx
|
|
622
|
+
),
|
|
623
|
+
response: http_response
|
|
624
|
+
)
|
|
625
|
+
response_data = http_response.env.response_body
|
|
626
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
|
|
611
627
|
raise obj
|
|
612
628
|
else
|
|
613
629
|
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'
|
|
@@ -625,7 +641,7 @@ module KintsugiSDK
|
|
|
625
641
|
|
|
626
642
|
sig { params(request: Models::Ops::GetTransactionByIdV1TransactionsTransactionIdGetRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Shared::TransactionRead) }
|
|
627
643
|
def get_by_id(request:, timeout_ms: nil, http_headers: nil)
|
|
628
|
-
# get_by_id - Get
|
|
644
|
+
# get_by_id - Get transaction by id
|
|
629
645
|
# The Get Transaction By Id API retrieves detailed information
|
|
630
646
|
# about a specific transaction by providing its unique transaction ID.
|
|
631
647
|
url, params = @sdk_configuration.get_server_details
|
|
@@ -636,7 +652,7 @@ module KintsugiSDK
|
|
|
636
652
|
'/v1/transactions/{transaction_id}',
|
|
637
653
|
request
|
|
638
654
|
)
|
|
639
|
-
headers =
|
|
655
|
+
headers = Utils.get_headers(request)
|
|
640
656
|
headers = T.cast(headers, T::Hash[String, String])
|
|
641
657
|
headers['Accept'] = 'application/json'
|
|
642
658
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
@@ -772,20 +788,31 @@ module KintsugiSDK
|
|
|
772
788
|
end
|
|
773
789
|
|
|
774
790
|
|
|
775
|
-
sig { params(request: Models::Ops::
|
|
776
|
-
def
|
|
777
|
-
#
|
|
778
|
-
#
|
|
791
|
+
sig { params(request: Models::Ops::UpdateTransactionV1TransactionsTransactionIdPutRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Shared::TransactionRead) }
|
|
792
|
+
def update(request:, timeout_ms: nil, http_headers: nil)
|
|
793
|
+
# update - Update transaction
|
|
794
|
+
# Update a specific transaction by its ID.
|
|
779
795
|
url, params = @sdk_configuration.get_server_details
|
|
780
796
|
base_url = Utils.template_url(url, params)
|
|
781
797
|
url = Utils.generate_url(
|
|
782
|
-
Models::Ops::
|
|
798
|
+
Models::Ops::UpdateTransactionV1TransactionsTransactionIdPutRequest,
|
|
783
799
|
base_url,
|
|
784
|
-
'/v1/transactions/
|
|
800
|
+
'/v1/transactions/{transaction_id}',
|
|
785
801
|
request
|
|
786
802
|
)
|
|
787
|
-
headers =
|
|
803
|
+
headers = Utils.get_headers(request)
|
|
788
804
|
headers = T.cast(headers, T::Hash[String, String])
|
|
805
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :transaction_update, :json)
|
|
806
|
+
headers['content-type'] = req_content_type
|
|
807
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
808
|
+
|
|
809
|
+
if form && !form.empty?
|
|
810
|
+
body = Utils.encode_form(form)
|
|
811
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
812
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
813
|
+
else
|
|
814
|
+
body = data
|
|
815
|
+
end
|
|
789
816
|
headers['Accept'] = 'application/json'
|
|
790
817
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
791
818
|
|
|
@@ -801,7 +828,7 @@ module KintsugiSDK
|
|
|
801
828
|
config: @sdk_configuration,
|
|
802
829
|
base_url: base_url,
|
|
803
830
|
oauth2_scopes: nil,
|
|
804
|
-
operation_id: '
|
|
831
|
+
operation_id: 'update_transaction_v1_transactions__transaction_id__put',
|
|
805
832
|
security_source: @sdk_configuration.security_source
|
|
806
833
|
)
|
|
807
834
|
|
|
@@ -810,7 +837,8 @@ module KintsugiSDK
|
|
|
810
837
|
|
|
811
838
|
|
|
812
839
|
begin
|
|
813
|
-
http_response = T.must(connection).
|
|
840
|
+
http_response = T.must(connection).put(url) do |req|
|
|
841
|
+
req.body = body
|
|
814
842
|
req.headers.merge!(headers)
|
|
815
843
|
req.options.timeout = timeout unless timeout.nil?
|
|
816
844
|
Utils.configure_request_security(req, security)
|
|
@@ -861,26 +889,12 @@ module KintsugiSDK
|
|
|
861
889
|
response: http_response
|
|
862
890
|
)
|
|
863
891
|
response_data = http_response.env.response_body
|
|
864
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data),
|
|
892
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::TransactionRead)
|
|
865
893
|
|
|
866
894
|
return obj
|
|
867
895
|
else
|
|
868
896
|
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'
|
|
869
897
|
end
|
|
870
|
-
elsif Utils.match_status_code(http_response.status, ['401'])
|
|
871
|
-
if Utils.match_content_type(content_type, 'application/json')
|
|
872
|
-
@sdk_configuration.hooks.after_success(
|
|
873
|
-
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
874
|
-
hook_ctx: hook_ctx
|
|
875
|
-
),
|
|
876
|
-
response: http_response
|
|
877
|
-
)
|
|
878
|
-
response_data = http_response.env.response_body
|
|
879
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
|
|
880
|
-
raise obj
|
|
881
|
-
else
|
|
882
|
-
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'
|
|
883
|
-
end
|
|
884
898
|
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
885
899
|
if Utils.match_content_type(content_type, 'application/json')
|
|
886
900
|
@sdk_configuration.hooks.after_success(
|
|
@@ -890,21 +904,7 @@ module KintsugiSDK
|
|
|
890
904
|
response: http_response
|
|
891
905
|
)
|
|
892
906
|
response_data = http_response.env.response_body
|
|
893
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::
|
|
894
|
-
raise obj
|
|
895
|
-
else
|
|
896
|
-
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'
|
|
897
|
-
end
|
|
898
|
-
elsif Utils.match_status_code(http_response.status, ['500'])
|
|
899
|
-
if Utils.match_content_type(content_type, 'application/json')
|
|
900
|
-
@sdk_configuration.hooks.after_success(
|
|
901
|
-
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
902
|
-
hook_ctx: hook_ctx
|
|
903
|
-
),
|
|
904
|
-
response: http_response
|
|
905
|
-
)
|
|
906
|
-
response_data = http_response.env.response_body
|
|
907
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ErrorResponse)
|
|
907
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::HTTPValidationError)
|
|
908
908
|
raise obj
|
|
909
909
|
else
|
|
910
910
|
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'
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# frozen_string_literal: true
|
|
5
5
|
|
|
6
6
|
require 'faraday/retry'
|
|
7
|
+
require 'time'
|
|
7
8
|
require 'sorbet-runtime'
|
|
8
9
|
|
|
9
10
|
module KintsugiSDK
|
|
@@ -87,12 +88,50 @@ module KintsugiSDK
|
|
|
87
88
|
retry_options[:retry_if] = ->(_env, _exc) { Time.now < stop_time }
|
|
88
89
|
end
|
|
89
90
|
|
|
90
|
-
retry_options[:rate_limit_retry_header] = 'retry-after-ms'
|
|
91
|
-
retry_options[:header_parser_block] = ->(value) { value.to_f / 1000 }
|
|
92
91
|
end
|
|
93
92
|
|
|
94
93
|
retry_options
|
|
95
94
|
end
|
|
96
95
|
end
|
|
96
|
+
|
|
97
|
+
class RetryMiddleware < Faraday::Retry::Middleware
|
|
98
|
+
extend T::Sig
|
|
99
|
+
|
|
100
|
+
sig { params(retries: T.untyped, env: T.untyped).returns(T.untyped) }
|
|
101
|
+
def calculate_sleep_amount(retries, env)
|
|
102
|
+
retry_after = [calculate_retry_after(env), calculate_rate_limit_reset(env)].compact.max
|
|
103
|
+
retry_interval = calculate_retry_interval(retries)
|
|
104
|
+
return retry_interval if retry_after.nil?
|
|
105
|
+
|
|
106
|
+
# unlike the stock middleware, cap server delays at max_interval rather
|
|
107
|
+
# than abandoning the retry
|
|
108
|
+
[[retry_after, @options.max_interval].min, retry_interval].max
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
private
|
|
112
|
+
|
|
113
|
+
sig { params(env: T.untyped).returns(T.untyped) }
|
|
114
|
+
def calculate_retry_after(env)
|
|
115
|
+
response_headers = env[:response_headers]
|
|
116
|
+
return unless response_headers
|
|
117
|
+
|
|
118
|
+
ms_value = response_headers['retry-after-ms']
|
|
119
|
+
return ms_value.to_f / 1000 if ms_value&.match?(/\A\s*\d+\s*\z/)
|
|
120
|
+
|
|
121
|
+
value = response_headers['retry-after']
|
|
122
|
+
return if value.nil? || value.strip.empty?
|
|
123
|
+
return value.to_f if value.match?(/\A\s*\d+\s*\z/)
|
|
124
|
+
|
|
125
|
+
begin
|
|
126
|
+
Time.httpdate(value) - Time.now
|
|
127
|
+
rescue ArgumentError
|
|
128
|
+
begin
|
|
129
|
+
Time.iso8601(value) - Time.now
|
|
130
|
+
rescue ArgumentError
|
|
131
|
+
nil
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
97
136
|
end
|
|
98
137
|
end
|
|
@@ -81,11 +81,15 @@ module KintsugiSDK
|
|
|
81
81
|
|
|
82
82
|
sig { params(content_type: String, pattern: String).returns(T::Boolean) }
|
|
83
83
|
def self.match_content_type(content_type, pattern)
|
|
84
|
-
return true if
|
|
84
|
+
return true if ['*', '*/*'].include?(pattern)
|
|
85
|
+
|
|
86
|
+
# Media types are case-insensitive (RFC 9110 section 8.3.1).
|
|
87
|
+
pattern = pattern.strip.downcase
|
|
88
|
+
return true if content_type.strip.downcase == pattern
|
|
85
89
|
|
|
86
90
|
pieces = content_type.split(';')
|
|
87
91
|
pieces.each do |piece|
|
|
88
|
-
return true if pattern == piece.strip
|
|
92
|
+
return true if pattern == piece.strip.downcase
|
|
89
93
|
end
|
|
90
94
|
|
|
91
95
|
false
|
data/lib/kintsugi_sdk.rb
CHANGED
|
@@ -10,8 +10,8 @@ module KintsugiSDK
|
|
|
10
10
|
autoload :Exemptions, 'kintsugi_sdk/exemptions'
|
|
11
11
|
autoload :Nexus, 'kintsugi_sdk/nexus'
|
|
12
12
|
autoload :Products, 'kintsugi_sdk/products'
|
|
13
|
-
autoload :Transactions, 'kintsugi_sdk/transactions'
|
|
14
13
|
autoload :TaxEstimation, 'kintsugi_sdk/taxestimation'
|
|
14
|
+
autoload :Transactions, 'kintsugi_sdk/transactions'
|
|
15
15
|
module Models
|
|
16
16
|
autoload :Shared, 'kintsugi_sdk/models/shared'
|
|
17
17
|
autoload :Ops, 'kintsugi_sdk/models/ops'
|