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.
- checksums.yaml +7 -0
- data/lib/crystalline/metadata_fields.rb +209 -0
- data/lib/crystalline/module.rb +92 -0
- data/lib/crystalline/types.rb +78 -0
- data/lib/crystalline/utils.rb +56 -0
- data/lib/crystalline.rb +13 -0
- data/lib/kintsugi_sdk/addressvalidation.rb +350 -0
- data/lib/kintsugi_sdk/customers.rb +981 -0
- data/lib/kintsugi_sdk/exemptions.rb +779 -0
- data/lib/kintsugi_sdk/models/callbacks.rb +12 -0
- data/lib/kintsugi_sdk/models/errors/apierror.rb +37 -0
- data/lib/kintsugi_sdk/models/errors/apierror.rbi +16 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/errorresponse.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/errorresponse.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rb +33 -0
- data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rbi +13 -0
- data/lib/kintsugi_sdk/models/errors.rb +20 -0
- data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +37 -0
- data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +39 -0
- data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +57 -0
- data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rbi +25 -0
- data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +73 -0
- data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rbi +33 -0
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +57 -0
- data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +25 -0
- data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +61 -0
- data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +27 -0
- data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +107 -0
- data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rbi +45 -0
- data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +34 -0
- data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +35 -0
- data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rb +33 -0
- data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rbi +13 -0
- data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +37 -0
- data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +37 -0
- data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +37 -0
- data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +37 -0
- data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rbi +15 -0
- data/lib/kintsugi_sdk/models/ops.rb +32 -0
- data/lib/kintsugi_sdk/models/shared/addressbase.rb +65 -0
- data/lib/kintsugi_sdk/models/shared/addressbase.rbi +29 -0
- data/lib/kintsugi_sdk/models/shared/addresses.rb +76 -0
- data/lib/kintsugi_sdk/models/shared/addresses.rbi +33 -0
- data/lib/kintsugi_sdk/models/shared/addressresponsedata.rb +61 -0
- data/lib/kintsugi_sdk/models/shared/addressresponsedata.rbi +27 -0
- data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rb +45 -0
- data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rbi +19 -0
- data/lib/kintsugi_sdk/models/shared/addressstatus.rb +26 -0
- data/lib/kintsugi_sdk/models/shared/addressstatus.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rb +61 -0
- data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rbi +27 -0
- data/lib/kintsugi_sdk/models/shared/addresstype.rb +24 -0
- data/lib/kintsugi_sdk/models/shared/addresstype.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/appliedto.rb +22 -0
- data/lib/kintsugi_sdk/models/shared/appliedto.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/attachmentread.rb +42 -0
- data/lib/kintsugi_sdk/models/shared/attachmentread.rbi +17 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb +87 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rbi +39 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb +50 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +81 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rbi +37 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb +50 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb +50 -0
- data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +33 -0
- data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rbi +13 -0
- data/lib/kintsugi_sdk/models/shared/countrycodeenum.rb +270 -0
- data/lib/kintsugi_sdk/models/shared/countrycodeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/currencyenum.rb +182 -0
- data/lib/kintsugi_sdk/models/shared/currencyenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/customerbase.rb +97 -0
- data/lib/kintsugi_sdk/models/shared/customerbase.rbi +45 -0
- data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +109 -0
- data/lib/kintsugi_sdk/models/shared/customerbasebase.rbi +51 -0
- data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +97 -0
- data/lib/kintsugi_sdk/models/shared/customerbasepublic.rbi +45 -0
- data/lib/kintsugi_sdk/models/shared/customercreate.rb +97 -0
- data/lib/kintsugi_sdk/models/shared/customercreate.rbi +45 -0
- data/lib/kintsugi_sdk/models/shared/customerread.rb +105 -0
- data/lib/kintsugi_sdk/models/shared/customerread.rbi +49 -0
- data/lib/kintsugi_sdk/models/shared/customerupdate.rb +89 -0
- data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +41 -0
- data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +41 -0
- data/lib/kintsugi_sdk/models/shared/discountbuilder.rbi +17 -0
- data/lib/kintsugi_sdk/models/shared/exemption.rb +91 -0
- data/lib/kintsugi_sdk/models/shared/exemption.rbi +41 -0
- data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +73 -0
- data/lib/kintsugi_sdk/models/shared/exemptioncreate.rbi +33 -0
- data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +57 -0
- data/lib/kintsugi_sdk/models/shared/exemptionrequired.rbi +25 -0
- data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/exemptionstatus.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/exemptiontype.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/file.rb +37 -0
- data/lib/kintsugi_sdk/models/shared/file.rbi +15 -0
- data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +28 -0
- data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +253 -0
- data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +121 -0
- data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/nexusstateenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +24 -0
- data/lib/kintsugi_sdk/models/shared/nexustypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/page_customerread_.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/page_productread_.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +49 -0
- data/lib/kintsugi_sdk/models/shared/page_transactionread_.rbi +21 -0
- data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +29 -0
- data/lib/kintsugi_sdk/models/shared/periodmodelenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +34 -0
- data/lib/kintsugi_sdk/models/shared/processingstatusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/productcategories.rb +38 -0
- data/lib/kintsugi_sdk/models/shared/productcategories.rbi +15 -0
- data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +82 -0
- data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +61 -0
- data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +27 -0
- data/lib/kintsugi_sdk/models/shared/productread.rb +81 -0
- data/lib/kintsugi_sdk/models/shared/productread.rbi +37 -0
- data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/productstatusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +46 -0
- data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +19 -0
- data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +83 -0
- data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/productupdate.rb +70 -0
- data/lib/kintsugi_sdk/models/shared/productupdate.rbi +31 -0
- data/lib/kintsugi_sdk/models/shared/registration.rb +28 -0
- data/lib/kintsugi_sdk/models/shared/registration.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +22 -0
- data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +24 -0
- data/lib/kintsugi_sdk/models/shared/relatedentitytype.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +24 -0
- data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/security.rb +37 -0
- data/lib/kintsugi_sdk/models/shared/security.rbi +15 -0
- data/lib/kintsugi_sdk/models/shared/sourceenum.rb +70 -0
- data/lib/kintsugi_sdk/models/shared/sourceenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/statusenum.rb +22 -0
- data/lib/kintsugi_sdk/models/shared/statusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +31 -0
- data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +77 -0
- data/lib/kintsugi_sdk/models/shared/taxitembuilder.rbi +35 -0
- data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +53 -0
- data/lib/kintsugi_sdk/models/shared/taxitemestimate.rbi +23 -0
- data/lib/kintsugi_sdk/models/shared/taxitemread.rb +73 -0
- data/lib/kintsugi_sdk/models/shared/taxitemread.rbi +33 -0
- data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +22 -0
- data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +81 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rbi +37 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +69 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rbi +31 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +85 -0
- data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rbi +39 -0
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +235 -0
- data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +111 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +70 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +31 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +91 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +41 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +80 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rbi +35 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +26 -0
- data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +141 -0
- data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rbi +67 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +141 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rbi +67 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +78 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rbi +35 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +98 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rbi +45 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +149 -0
- data/lib/kintsugi_sdk/models/shared/transactionitemread.rbi +71 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +194 -0
- data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +91 -0
- data/lib/kintsugi_sdk/models/shared/transactionread.rb +259 -0
- data/lib/kintsugi_sdk/models/shared/transactionread.rbi +123 -0
- data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +24 -0
- data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +27 -0
- data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +235 -0
- data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +111 -0
- data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +25 -0
- data/lib/kintsugi_sdk/models/shared/treatmentenum.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/type.rb +23 -0
- data/lib/kintsugi_sdk/models/shared/type.rbi +11 -0
- data/lib/kintsugi_sdk/models/shared/validationaddress.rb +73 -0
- data/lib/kintsugi_sdk/models/shared/validationaddress.rbi +31 -0
- data/lib/kintsugi_sdk/models/shared/validationerror.rb +41 -0
- data/lib/kintsugi_sdk/models/shared/validationerror.rbi +17 -0
- data/lib/kintsugi_sdk/models/shared.rb +104 -0
- data/lib/kintsugi_sdk/nexus.rb +155 -0
- data/lib/kintsugi_sdk/openapisdk.rb +104 -0
- data/lib/kintsugi_sdk/products.rb +756 -0
- data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +95 -0
- data/lib/kintsugi_sdk/sdk_hooks/types.rb +170 -0
- data/lib/kintsugi_sdk/sdkconfiguration.rb +104 -0
- data/lib/kintsugi_sdk/sdkconfiguration.rbi +57 -0
- data/lib/kintsugi_sdk/taxestimation.rb +197 -0
- data/lib/kintsugi_sdk/transactions.rb +902 -0
- data/lib/kintsugi_sdk/utils/forms.rb +206 -0
- data/lib/kintsugi_sdk/utils/headers.rb +77 -0
- data/lib/kintsugi_sdk/utils/query_params.rb +131 -0
- data/lib/kintsugi_sdk/utils/request_bodies.rb +61 -0
- data/lib/kintsugi_sdk/utils/retries.rb +95 -0
- data/lib/kintsugi_sdk/utils/security.rb +130 -0
- data/lib/kintsugi_sdk/utils/url.rb +100 -0
- data/lib/kintsugi_sdk/utils/utils.rb +187 -0
- data/lib/kintsugi_sdk.rb +31 -0
- metadata +492 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
# Public request model for tax estimation API documentation.
|
12
|
+
# This model excludes internal fields like enriched_fields that should not be exposed in API docs.
|
13
|
+
class TransactionEstimatePublicRequest
|
14
|
+
extend T::Sig
|
15
|
+
include Crystalline::MetadataFields
|
16
|
+
|
17
|
+
# The date of the transaction in ISO 8601 format (e.g., 2025-01-25T12:00:00Z).
|
18
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
19
|
+
# Unique identifier of this transaction in the source system.
|
20
|
+
field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
|
21
|
+
|
22
|
+
field :currency, Models::Shared::CurrencyEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, false) } }
|
23
|
+
# List of items involved in the transaction.
|
24
|
+
field :transaction_items, Crystalline::Array.new(Models::Shared::TransactionItemEstimateBase), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_items'), required: true } }
|
25
|
+
# List of addresses related to the transaction. At least one BILL_TO or SHIP_TO address must be provided. The address will be validated during estimation, and the transaction may be rejected if the address does not pass validation. The SHIP_TO will be preferred to use for determining tax liability.
|
26
|
+
field :addresses, Crystalline::Array.new(Models::Shared::Addresses), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
|
27
|
+
# An optional description of the transaction.
|
28
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
29
|
+
|
30
|
+
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
31
|
+
|
32
|
+
field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBasePublic), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
|
33
|
+
# Total amount of the transaction.
|
34
|
+
field :total_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_amount') } }
|
35
|
+
# Indicates if the transaction involves a marketplace.
|
36
|
+
field :marketplace, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('marketplace') } }
|
37
|
+
|
38
|
+
sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateBase], addresses: T::Array[Models::Shared::Addresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), customer: T.nilable(Models::Shared::CustomerBasePublic), total_amount: T.nilable(::Float), marketplace: T.nilable(T::Boolean)).void }
|
39
|
+
def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, customer: nil, total_amount: 0.0, marketplace: false)
|
40
|
+
@date = date
|
41
|
+
@external_id = external_id
|
42
|
+
@currency = currency
|
43
|
+
@transaction_items = transaction_items
|
44
|
+
@addresses = addresses
|
45
|
+
@description = description
|
46
|
+
@source = source
|
47
|
+
@customer = customer
|
48
|
+
@total_amount = total_amount
|
49
|
+
@marketplace = marketplace
|
50
|
+
end
|
51
|
+
|
52
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
53
|
+
def ==(other)
|
54
|
+
return false unless other.is_a? self.class
|
55
|
+
return false unless @date == other.date
|
56
|
+
return false unless @external_id == other.external_id
|
57
|
+
return false unless @currency == other.currency
|
58
|
+
return false unless @transaction_items == other.transaction_items
|
59
|
+
return false unless @addresses == other.addresses
|
60
|
+
return false unless @description == other.description
|
61
|
+
return false unless @source == other.source
|
62
|
+
return false unless @customer == other.customer
|
63
|
+
return false unless @total_amount == other.total_amount
|
64
|
+
return false unless @marketplace == other.marketplace
|
65
|
+
true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class KintsugiSDK::Models::Shared::TransactionEstimatePublicRequest
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class KintsugiSDK::Models::Shared::TransactionEstimatePublicRequest
|
11
|
+
def date(); end
|
12
|
+
def date=(str_); end
|
13
|
+
def external_id(); end
|
14
|
+
def external_id=(str_); end
|
15
|
+
def currency(); end
|
16
|
+
def currency=(str_); end
|
17
|
+
def transaction_items(); end
|
18
|
+
def transaction_items=(str_); end
|
19
|
+
def addresses(); end
|
20
|
+
def addresses=(str_); end
|
21
|
+
def description(); end
|
22
|
+
def description=(str_); end
|
23
|
+
def source(); end
|
24
|
+
def source=(str_); end
|
25
|
+
def customer(); end
|
26
|
+
def customer=(str_); end
|
27
|
+
def total_amount(); end
|
28
|
+
def total_amount=(str_); end
|
29
|
+
def marketplace(); end
|
30
|
+
def marketplace=(str_); end
|
31
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
|
12
|
+
class TransactionEstimateResponse
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# The date of the transaction in ISO 8601 format (e.g., 2025-01-25T12:00:00Z).
|
17
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
18
|
+
# Unique identifier of this transaction in the source system.
|
19
|
+
field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
|
20
|
+
|
21
|
+
field :currency, Models::Shared::CurrencyEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, false) } }
|
22
|
+
|
23
|
+
field :transaction_items, Crystalline::Array.new(Models::Shared::TransactionItemEstimateResponse), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_items'), required: true } }
|
24
|
+
# List of addresses related to the transaction. At least one BILL_TO or SHIP_TO address must be provided. The address will be validated during estimation, and the transaction may be rejected if the address does not pass validation. The SHIP_TO will be preferred to use for determining tax liability. **Deprecated:** Use of `address.status` in estimate api is ignored and will be removed in the future status will be considered UNVERIFIED by default and always validated
|
25
|
+
field :addresses, Crystalline::Array.new(Models::Shared::TransactionEstimateResponseAddresses), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
|
26
|
+
# An optional description of the transaction.
|
27
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
28
|
+
|
29
|
+
field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
|
30
|
+
|
31
|
+
field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBase), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
|
32
|
+
# Total amount of the transaction.
|
33
|
+
field :total_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_amount') } }
|
34
|
+
# Indicates if the transaction involves a marketplace.
|
35
|
+
field :marketplace, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('marketplace') } }
|
36
|
+
# The total amount of tax determined for the transaction.
|
37
|
+
field :total_tax_amount_calculated, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_tax_amount_calculated') } }
|
38
|
+
# The taxable amount for the transaction.
|
39
|
+
field :taxable_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('taxable_amount') } }
|
40
|
+
# The calculated tax rate for the transaction.
|
41
|
+
field :tax_rate_calculated, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_calculated') } }
|
42
|
+
# Indicates if nexus was met for the transaction.**Deprecated:** Use `has_active_registration` instead.
|
43
|
+
#
|
44
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
45
|
+
field :nexus_met, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('nexus_met') } }
|
46
|
+
# Indicates if there is an active registration for the transaction.
|
47
|
+
field :has_active_registration, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('has_active_registration') } }
|
48
|
+
|
49
|
+
sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateResponse], addresses: T::Array[Models::Shared::TransactionEstimateResponseAddresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), customer: T.nilable(Models::Shared::CustomerBase), total_amount: T.nilable(::String), marketplace: T.nilable(T::Boolean), total_tax_amount_calculated: T.nilable(::String), taxable_amount: T.nilable(::String), tax_rate_calculated: T.nilable(::String), nexus_met: T.nilable(T::Boolean), has_active_registration: T.nilable(T::Boolean)).void }
|
50
|
+
def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, customer: nil, total_amount: '0.0', marketplace: false, total_tax_amount_calculated: '0.00', taxable_amount: '0.00', tax_rate_calculated: '0.00', nexus_met: false, has_active_registration: false)
|
51
|
+
@date = date
|
52
|
+
@external_id = external_id
|
53
|
+
@currency = currency
|
54
|
+
@transaction_items = transaction_items
|
55
|
+
@addresses = addresses
|
56
|
+
@description = description
|
57
|
+
@source = source
|
58
|
+
@customer = customer
|
59
|
+
@total_amount = total_amount
|
60
|
+
@marketplace = marketplace
|
61
|
+
@total_tax_amount_calculated = total_tax_amount_calculated
|
62
|
+
@taxable_amount = taxable_amount
|
63
|
+
@tax_rate_calculated = tax_rate_calculated
|
64
|
+
@nexus_met = nexus_met
|
65
|
+
@has_active_registration = has_active_registration
|
66
|
+
end
|
67
|
+
|
68
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
69
|
+
def ==(other)
|
70
|
+
return false unless other.is_a? self.class
|
71
|
+
return false unless @date == other.date
|
72
|
+
return false unless @external_id == other.external_id
|
73
|
+
return false unless @currency == other.currency
|
74
|
+
return false unless @transaction_items == other.transaction_items
|
75
|
+
return false unless @addresses == other.addresses
|
76
|
+
return false unless @description == other.description
|
77
|
+
return false unless @source == other.source
|
78
|
+
return false unless @customer == other.customer
|
79
|
+
return false unless @total_amount == other.total_amount
|
80
|
+
return false unless @marketplace == other.marketplace
|
81
|
+
return false unless @total_tax_amount_calculated == other.total_tax_amount_calculated
|
82
|
+
return false unless @taxable_amount == other.taxable_amount
|
83
|
+
return false unless @tax_rate_calculated == other.tax_rate_calculated
|
84
|
+
return false unless @nexus_met == other.nexus_met
|
85
|
+
return false unless @has_active_registration == other.has_active_registration
|
86
|
+
true
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class KintsugiSDK::Models::Shared::TransactionEstimateResponse
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class KintsugiSDK::Models::Shared::TransactionEstimateResponse
|
11
|
+
def date(); end
|
12
|
+
def date=(str_); end
|
13
|
+
def external_id(); end
|
14
|
+
def external_id=(str_); end
|
15
|
+
def currency(); end
|
16
|
+
def currency=(str_); end
|
17
|
+
def transaction_items(); end
|
18
|
+
def transaction_items=(str_); end
|
19
|
+
def addresses(); end
|
20
|
+
def addresses=(str_); end
|
21
|
+
def description(); end
|
22
|
+
def description=(str_); end
|
23
|
+
def source(); end
|
24
|
+
def source=(str_); end
|
25
|
+
def customer(); end
|
26
|
+
def customer=(str_); end
|
27
|
+
def total_amount(); end
|
28
|
+
def total_amount=(str_); end
|
29
|
+
def marketplace(); end
|
30
|
+
def marketplace=(str_); end
|
31
|
+
def total_tax_amount_calculated(); end
|
32
|
+
def total_tax_amount_calculated=(str_); end
|
33
|
+
def taxable_amount(); end
|
34
|
+
def taxable_amount=(str_); end
|
35
|
+
def tax_rate_calculated(); end
|
36
|
+
def tax_rate_calculated=(str_); end
|
37
|
+
def nexus_met(); end
|
38
|
+
def nexus_met=(str_); end
|
39
|
+
def has_active_registration(); end
|
40
|
+
def has_active_registration=(str_); end
|
41
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
|
12
|
+
class TransactionEstimateResponseAddresses
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# Type of the address. Must be either
|
17
|
+
# SHIP_TO or BILL_TO.
|
18
|
+
field :type, Models::Shared::TransactionEstimateResponseType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TransactionEstimateResponseType, false) } }
|
19
|
+
# State or province of the address.
|
20
|
+
field :state, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state'), required: true } }
|
21
|
+
# Postal code of the address.
|
22
|
+
field :postal_code, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code'), required: true } }
|
23
|
+
# Country of the address.
|
24
|
+
field :country, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), required: true } }
|
25
|
+
# Phone number associated with the customer.
|
26
|
+
field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
|
27
|
+
# Primary street address of the customer.
|
28
|
+
field :street_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_1') } }
|
29
|
+
# Additional street address details, such as an apartment or suite number.
|
30
|
+
field :street_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_2') } }
|
31
|
+
# City where the customer resides.
|
32
|
+
field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('city') } }
|
33
|
+
# County or district of the customer.
|
34
|
+
field :county, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('county') } }
|
35
|
+
# Complete address string of the customer, which can be used as an alternative to individual fields.
|
36
|
+
field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
|
37
|
+
# Status of the address. Deprecated and ignored.
|
38
|
+
#
|
39
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
40
|
+
field :status, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status') } }
|
41
|
+
# Additional enriched fields related to the address.
|
42
|
+
field :enriched_fields, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('enriched_fields') } }
|
43
|
+
|
44
|
+
sig { params(type: Models::Shared::TransactionEstimateResponseType, state: ::String, postal_code: ::String, country: ::String, phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), full_address: T.nilable(::String), status: T.nilable(::String), enriched_fields: T.nilable(::String)).void }
|
45
|
+
def initialize(type:, state:, postal_code:, country:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, full_address: nil, status: nil, enriched_fields: nil)
|
46
|
+
@type = type
|
47
|
+
@state = state
|
48
|
+
@postal_code = postal_code
|
49
|
+
@country = country
|
50
|
+
@phone = phone
|
51
|
+
@street_1 = street_1
|
52
|
+
@street_2 = street_2
|
53
|
+
@city = city
|
54
|
+
@county = county
|
55
|
+
@full_address = full_address
|
56
|
+
@status = status
|
57
|
+
@enriched_fields = enriched_fields
|
58
|
+
end
|
59
|
+
|
60
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
61
|
+
def ==(other)
|
62
|
+
return false unless other.is_a? self.class
|
63
|
+
return false unless @type == other.type
|
64
|
+
return false unless @state == other.state
|
65
|
+
return false unless @postal_code == other.postal_code
|
66
|
+
return false unless @country == other.country
|
67
|
+
return false unless @phone == other.phone
|
68
|
+
return false unless @street_1 == other.street_1
|
69
|
+
return false unless @street_2 == other.street_2
|
70
|
+
return false unless @city == other.city
|
71
|
+
return false unless @county == other.county
|
72
|
+
return false unless @full_address == other.full_address
|
73
|
+
return false unless @status == other.status
|
74
|
+
return false unless @enriched_fields == other.enriched_fields
|
75
|
+
true
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class KintsugiSDK::Models::Shared::TransactionEstimateResponseAddresses
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class KintsugiSDK::Models::Shared::TransactionEstimateResponseAddresses
|
11
|
+
def type(); end
|
12
|
+
def type=(str_); end
|
13
|
+
def state(); end
|
14
|
+
def state=(str_); end
|
15
|
+
def postal_code(); end
|
16
|
+
def postal_code=(str_); end
|
17
|
+
def country(); end
|
18
|
+
def country=(str_); end
|
19
|
+
def phone(); end
|
20
|
+
def phone=(str_); end
|
21
|
+
def street_1(); end
|
22
|
+
def street_1=(str_); end
|
23
|
+
def street_2(); end
|
24
|
+
def street_2=(str_); end
|
25
|
+
def city(); end
|
26
|
+
def city=(str_); end
|
27
|
+
def county(); end
|
28
|
+
def county=(str_); end
|
29
|
+
def full_address(); end
|
30
|
+
def full_address=(str_); end
|
31
|
+
def status(); end
|
32
|
+
def status=(str_); end
|
33
|
+
def enriched_fields(); end
|
34
|
+
def enriched_fields=(str_); end
|
35
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
# TransactionEstimateResponseType - Type of the address. Must be either
|
12
|
+
# SHIP_TO or BILL_TO.
|
13
|
+
class TransactionEstimateResponseType < T::Enum
|
14
|
+
|
15
|
+
|
16
|
+
enums do
|
17
|
+
SHIP_TO = new('SHIP_TO')
|
18
|
+
BILL_TO = new('BILL_TO')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
# TransactionExemptStatusEnum - Based on transaction item exempt status.
|
12
|
+
# NOT EXEMPT: None of the items are NOT EXEMPT
|
13
|
+
# PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
|
14
|
+
# FULLY_EXEMPT: All items sold in the transaction are EXEMPT
|
15
|
+
class TransactionExemptStatusEnum < T::Enum
|
16
|
+
|
17
|
+
|
18
|
+
enums do
|
19
|
+
NOT_EXEMPT = new('NOT_EXEMPT')
|
20
|
+
PARTIALLY_EXEMPT = new('PARTIALLY_EXEMPT')
|
21
|
+
FULLY_EXEMPT = new('FULLY_EXEMPT')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module KintsugiSDK
|
8
|
+
module Models
|
9
|
+
module Shared
|
10
|
+
|
11
|
+
|
12
|
+
class TransactionItemBuilder
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# Organization identifier.
|
17
|
+
field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
|
18
|
+
# Date/time of item.
|
19
|
+
field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
20
|
+
# External product identifier.
|
21
|
+
field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
|
22
|
+
# External item identifier.
|
23
|
+
field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
|
24
|
+
# Item description
|
25
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
|
26
|
+
# Product name
|
27
|
+
field :product, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product') } }
|
28
|
+
# Product identifier.
|
29
|
+
field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_id') } }
|
30
|
+
# Product name (detailed)
|
31
|
+
field :product_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_name') } }
|
32
|
+
# Product description
|
33
|
+
field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
|
34
|
+
|
35
|
+
field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
36
|
+
|
37
|
+
field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
|
38
|
+
# Converted item amount.
|
39
|
+
field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
|
40
|
+
# Converted taxable amount.
|
41
|
+
field :converted_taxable_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_taxable_amount') } }
|
42
|
+
# Converted imported tax amount.
|
43
|
+
field :converted_tax_amount_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_imported') } }
|
44
|
+
# Converted calculated tax amount
|
45
|
+
field :converted_tax_amount_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_calculated') } }
|
46
|
+
# Converted total discount amount.
|
47
|
+
field :converted_total_discount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_discount') } }
|
48
|
+
# Converted subtotal amount.
|
49
|
+
field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
|
50
|
+
# This enum is used to determine if a transaction is exempt from tax.
|
51
|
+
field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
|
52
|
+
|
53
|
+
field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
|
54
|
+
|
55
|
+
field :discount_builder, Crystalline::Nilable.new(Models::Shared::DiscountBuilder), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_builder') } }
|
56
|
+
# Quantity of item.
|
57
|
+
field :quantity, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('quantity') } }
|
58
|
+
# Item amount.
|
59
|
+
field :amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount') } }
|
60
|
+
# Imported tax amount for the item.
|
61
|
+
field :tax_amount_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_imported') } }
|
62
|
+
# Imported tax rate.
|
63
|
+
field :tax_rate_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_imported') } }
|
64
|
+
# Calculated tax amount for the item.
|
65
|
+
field :tax_amount_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_calculated') } }
|
66
|
+
# Calculated tax rate.
|
67
|
+
field :tax_rate_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_calculated') } }
|
68
|
+
# Taxable amount for the item.
|
69
|
+
field :taxable_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('taxable_amount') } }
|
70
|
+
# Indicates if the item is exempt.
|
71
|
+
field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
|
72
|
+
|
73
|
+
sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
|
74
|
+
def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.00, tax_amount_imported: 0.00, tax_rate_imported: 0.00, tax_amount_calculated: 0.00, tax_rate_calculated: 0.00, taxable_amount: 0.00, exempt: false)
|
75
|
+
@organization_id = organization_id
|
76
|
+
@date = date
|
77
|
+
@external_product_id = external_product_id
|
78
|
+
@external_id = external_id
|
79
|
+
@description = description
|
80
|
+
@product = product
|
81
|
+
@product_id = product_id
|
82
|
+
@product_name = product_name
|
83
|
+
@product_description = product_description
|
84
|
+
@original_currency = original_currency
|
85
|
+
@destination_currency = destination_currency
|
86
|
+
@converted_amount = converted_amount
|
87
|
+
@converted_taxable_amount = converted_taxable_amount
|
88
|
+
@converted_tax_amount_imported = converted_tax_amount_imported
|
89
|
+
@converted_tax_amount_calculated = converted_tax_amount_calculated
|
90
|
+
@converted_total_discount = converted_total_discount
|
91
|
+
@converted_subtotal = converted_subtotal
|
92
|
+
@tax_exemption = tax_exemption
|
93
|
+
@tax_items = tax_items
|
94
|
+
@discount_builder = discount_builder
|
95
|
+
@quantity = quantity
|
96
|
+
@amount = amount
|
97
|
+
@tax_amount_imported = tax_amount_imported
|
98
|
+
@tax_rate_imported = tax_rate_imported
|
99
|
+
@tax_amount_calculated = tax_amount_calculated
|
100
|
+
@tax_rate_calculated = tax_rate_calculated
|
101
|
+
@taxable_amount = taxable_amount
|
102
|
+
@exempt = exempt
|
103
|
+
end
|
104
|
+
|
105
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
106
|
+
def ==(other)
|
107
|
+
return false unless other.is_a? self.class
|
108
|
+
return false unless @organization_id == other.organization_id
|
109
|
+
return false unless @date == other.date
|
110
|
+
return false unless @external_product_id == other.external_product_id
|
111
|
+
return false unless @external_id == other.external_id
|
112
|
+
return false unless @description == other.description
|
113
|
+
return false unless @product == other.product
|
114
|
+
return false unless @product_id == other.product_id
|
115
|
+
return false unless @product_name == other.product_name
|
116
|
+
return false unless @product_description == other.product_description
|
117
|
+
return false unless @original_currency == other.original_currency
|
118
|
+
return false unless @destination_currency == other.destination_currency
|
119
|
+
return false unless @converted_amount == other.converted_amount
|
120
|
+
return false unless @converted_taxable_amount == other.converted_taxable_amount
|
121
|
+
return false unless @converted_tax_amount_imported == other.converted_tax_amount_imported
|
122
|
+
return false unless @converted_tax_amount_calculated == other.converted_tax_amount_calculated
|
123
|
+
return false unless @converted_total_discount == other.converted_total_discount
|
124
|
+
return false unless @converted_subtotal == other.converted_subtotal
|
125
|
+
return false unless @tax_exemption == other.tax_exemption
|
126
|
+
return false unless @tax_items == other.tax_items
|
127
|
+
return false unless @discount_builder == other.discount_builder
|
128
|
+
return false unless @quantity == other.quantity
|
129
|
+
return false unless @amount == other.amount
|
130
|
+
return false unless @tax_amount_imported == other.tax_amount_imported
|
131
|
+
return false unless @tax_rate_imported == other.tax_rate_imported
|
132
|
+
return false unless @tax_amount_calculated == other.tax_amount_calculated
|
133
|
+
return false unless @tax_rate_calculated == other.tax_rate_calculated
|
134
|
+
return false unless @taxable_amount == other.taxable_amount
|
135
|
+
return false unless @exempt == other.exempt
|
136
|
+
true
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class KintsugiSDK::Models::Shared::TransactionItemBuilder
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class KintsugiSDK::Models::Shared::TransactionItemBuilder
|
11
|
+
def organization_id(); end
|
12
|
+
def organization_id=(str_); end
|
13
|
+
def date(); end
|
14
|
+
def date=(str_); end
|
15
|
+
def external_product_id(); end
|
16
|
+
def external_product_id=(str_); end
|
17
|
+
def external_id(); end
|
18
|
+
def external_id=(str_); end
|
19
|
+
def description(); end
|
20
|
+
def description=(str_); end
|
21
|
+
def product(); end
|
22
|
+
def product=(str_); end
|
23
|
+
def product_id(); end
|
24
|
+
def product_id=(str_); end
|
25
|
+
def product_name(); end
|
26
|
+
def product_name=(str_); end
|
27
|
+
def product_description(); end
|
28
|
+
def product_description=(str_); end
|
29
|
+
def original_currency(); end
|
30
|
+
def original_currency=(str_); end
|
31
|
+
def destination_currency(); end
|
32
|
+
def destination_currency=(str_); end
|
33
|
+
def converted_amount(); end
|
34
|
+
def converted_amount=(str_); end
|
35
|
+
def converted_taxable_amount(); end
|
36
|
+
def converted_taxable_amount=(str_); end
|
37
|
+
def converted_tax_amount_imported(); end
|
38
|
+
def converted_tax_amount_imported=(str_); end
|
39
|
+
def converted_tax_amount_calculated(); end
|
40
|
+
def converted_tax_amount_calculated=(str_); end
|
41
|
+
def converted_total_discount(); end
|
42
|
+
def converted_total_discount=(str_); end
|
43
|
+
def converted_subtotal(); end
|
44
|
+
def converted_subtotal=(str_); end
|
45
|
+
def tax_exemption(); end
|
46
|
+
def tax_exemption=(str_); end
|
47
|
+
def tax_items(); end
|
48
|
+
def tax_items=(str_); end
|
49
|
+
def discount_builder(); end
|
50
|
+
def discount_builder=(str_); end
|
51
|
+
def quantity(); end
|
52
|
+
def quantity=(str_); end
|
53
|
+
def amount(); end
|
54
|
+
def amount=(str_); end
|
55
|
+
def tax_amount_imported(); end
|
56
|
+
def tax_amount_imported=(str_); end
|
57
|
+
def tax_rate_imported(); end
|
58
|
+
def tax_rate_imported=(str_); end
|
59
|
+
def tax_amount_calculated(); end
|
60
|
+
def tax_amount_calculated=(str_); end
|
61
|
+
def tax_rate_calculated(); end
|
62
|
+
def tax_rate_calculated=(str_); end
|
63
|
+
def taxable_amount(); end
|
64
|
+
def taxable_amount=(str_); end
|
65
|
+
def exempt(); end
|
66
|
+
def exempt=(str_); end
|
67
|
+
end
|