@epilot/pricing-client 1.2.2 → 1.2.5

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.
@@ -1 +1 @@
1
- !function(e,t){for(var r in t)e[r]=t[r];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=a(r(279));t.default=i.default},279:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"Pricing API","description":"This API hub sets the foundations for the following Pricing APIs:\\n\\n- Shopping Cart API, used to interact with a cart during a customer\'s checkout session, and it\'s responsible for providing the following set of features:\\n - A unified data model to model a Shopping Cart\\n - Cart abandonment recovery\\n - Pricing features such as automatic calculation of totals and price breakdowns for taxes\\n - Product and pricing data validation\\n - Checkout a cart into an order, invoice, or quote\\n\\n- Order API, provides a way to manage orders, keep track of inventory, with individual adjustments, tax calculation, and shipping, apply discounts, store tracking information, and handle returns. The responsibilities of this API contemplate the following set of features:\\n - Create or update a new Order from a Shopping Cart\\n - Marking a Shopping Cart as complete once the Order is set as open (immutable/closed for modification)\\n - Pricing features such as automatic calculation of totals and price breakdowns for taxes\\n","contact":{"name":"Maintainers Channel","url":"https://epilot.slack.com/archives/C020B4URQNS"},"version":"1.0.0"},"externalDocs":{"description":"Read the full docs here","url":"https://e-pilot.atlassian.net/wiki/spaces/EO/pages/5459705918/Shopping+Cart+Orders+API"},"tags":[{"name":"Draft","description":"Operations not implement under the current release."},{"name":"Public","description":"Customer-facing Endpoints (requiring a X-Ivy-Org-ID identification)"},{"name":"Cart","description":"The shopping cart & checkout management operations"},{"name":"Order","description":"Order management operations"},{"name":"Product Catalog","description":"Product querying operations"}],"security":[{"EpilotAuth":[]},{"AsOrganization":[]}],"paths":{"/v1/public/cart":{"put":{"description":"Creates a new cart or updates an existing one.","operationId":"$upsertCart","summary":"upsertCart","security":[],"tags":["Cart","Public","Draft"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartDto"}}}},"responses":{"200":{"description":"The updated Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"201":{"description":"The new Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/public/cart:checkout":{"post":{"description":"Checkouts a cart and executes the specified checkout `mode` process. \\n\\nA Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes:\\n- `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP)\\n- `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen)\\n- `create_quote`: the checkout represents a price quote request\\n\\nFast checkout is also supported, by passing the Cart contents directly.\\nWhen a fast checkout is performed the cart is considered transient and there is no cart persistance.\\n\\nIf the checkout `mode` is omitted, the `mode` will default to `create_order`.\\n","operationId":"$checkoutCart","summary":"checkoutCart","security":[],"tags":["Cart","Public"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCart"},"examples":{"Checkout with a CartID":{"$ref":"#/components/examples/checkoutWithCartId"},"Fast Checkout with a transient Cart":{"$ref":"#/components/examples/checkoutWithTransientCart"}}}}},"responses":{"200":{"description":"The checkout result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCartResult"},"examples":{"Checkout with created order":{"$ref":"#/components/examples/checkoutResult"}}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/cart/{cart-id}":{"get":{"description":"Retrieves a cart by id.","operationId":"$getCart","summary":"getCart","tags":["Cart","Draft"],"parameters":[{"in":"path","name":"cart-id","schema":{"type":"string"},"description":"The id of the cart to be fetched","required":true}],"responses":{"200":{"description":"The customer\'s cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Cart not found"}}},"delete":{"description":"Deletes the Cart specified and returns its content.","operationId":"$deleteCart","summary":"deleteCart","tags":["Cart","Draft"],"parameters":[{"in":"path","name":"cart-id","schema":{"type":"string"},"description":"The id of the cart to be deleted","required":true}],"responses":{"200":{"description":"The customer\'s cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/order":{"put":{"description":"Creates a new order or updates an existing one. During the creation of an order, an unique customer-readable `order_number` will be generated.\\nThe `order_number` can be used to universally identify an order within epilot platform.\\n\\nThe upsert operation is idempotent, meaning that multiple calls will have effect just once. Calling the upsert multiple times will not duplicate the items on an order.\\n\\nWhen the the `cart_id` payload field is specified, the cart items are appended to the existing order items, or replaced in-place if they belong to the same `cart_id`.\\n\\nOn multiple updates with the same `cart_id` the line items linked with that `cart_id` (`order.line_items[]?.metadata.cart_id`) are removed and re-added.\\n","operationId":"$upsertOrder","summary":"upsertOrder","tags":["Order","Draft"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"responses":{"200":{"description":"The updated Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"201":{"description":"The new Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/public/catalog":{"post":{"description":"Provides a querying functionalities over products and prices of the Catalog for a given organization.","operationId":"$searchCatalog","summary":"searchCatalog","security":[],"tags":["Product Catalog","Public"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSearch"}}}},"responses":{"200":{"description":"The search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSearchResult"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Epilot Bearer Token"},"AsOrganization":{"type":"apiKey","in":"header","name":"x-ivy-org-id","description":"Set organization id when using internal auth"},"AsUser":{"type":"apiKey","in":"header","name":"x-ivy-user-id","description":"Set user id when using internal auth"}},"schemas":{"Error":{"required":["message"],"properties":{"message":{"type":"string","description":"Error message"}}},"MetaData":{"description":"A set of key-value pairs.","type":"array","items":{"oneOf":[{"type":"object","description":"Key value pair entry","properties":{"key":{"type":"string","description":"Item key"},"value":{"type":"string","description":"Item value"}}}]}},"CatalogSearch":{"description":"A catalog search payload","type":"object","properties":{"q":{"description":"The query to perform using lucene query syntax.","type":"string"},"sort":{"description":"The sort expression to sort the results.","type":"string"},"from":{"description":"The index from which to query, used for pagination purposes. Defaults to 0","type":"number"},"size":{"description":"The max size of the response, defaults to 2000.","type":"number"},"expand":{"type":"array","description":"A list of additional fields to expand on the search results, such as non-indexed fields.","items":{"type":"string"}}},"example":{"q":"_id:1233432 OR _id:123432454 OR _id:23445433","sort":"description ASC","from":0,"size":200}},"CatalogSearchResult":{"description":"The query result payload","type":"object","properties":{"hits":{"type":"number","description":"The number os results returned."},"results":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Product"},{"$ref":"#/components/schemas/Price"}]}}},"example":{"hits":2,"results":[{"schema":"product","description":"product a"},{"schema":"price","unit_amount_decimal":"124.342343434"}]}},"CartDto":{"description":"A valid cart payload from a client.","properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"customer":{"$ref":"#/components/schemas/Customer"},"billing_address":{"$ref":"#/components/schemas/Address"},"delivery_address":{"$ref":"#/components/schemas/Address"},"payment_method":{"$ref":"#/components/schemas/PaymentMethod"},"line_items":{"$ref":"#/components/schemas/PriceItemsDto"}},"required":["line_items"]},"CheckoutCart":{"type":"object","description":"The cart checkout request payload","properties":{"cart":{"anyOf":[{"description":"the cart id","type":"string"},{"$ref":"#/components/schemas/CartDto"}]},"mode":{"$ref":"#/components/schemas/CheckoutMode"}}},"CheckoutCartResult":{"type":"object","description":"The cart checkout result","properties":{"order":{"$ref":"#/components/schemas/Order"}}},"CheckoutMode":{"type":"string","description":"The checkout mode for the cart checkout.","enum":["create_order","create_invoice","create_quote"]},"PriceItemsDto":{"description":"A valid set of product prices, quantities, (discounts) and taxes from a client.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItemDto"}]}},"PriceItemDto":{"description":"Represents a valid price item from a client.","type":"object","properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"quantity":{"type":"integer","description":"The quantity of products being purchased."},"product_id":{"type":"string","description":"The id of the product."},"price_id":{"type":"string","description":"The id of the price."},"taxes":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmountDto"}]}},"_price":{"$ref":"#/components/schemas/Price"}}},"TaxAmountDto":{"type":"object","description":"A valid tax rate from a client.","properties":{"rate":{"type":"string","description":"The tax rate applied."}}},"Cart":{"description":"Supports shopping for products and services until ready for checkout.","properties":{"id":{"type":"string","description":"The cart identifier"},"org_id":{"type":"string","description":"The user\'s Organization Id the cart belongs to","readOnly":true},"status":{"enum":["open","complete","expired"],"type":"string","readOnly":true,"description":"The status of the Cart:\\n- open - the cart checkout is still in progress. Payment processing has not started\\n- complete - the cart checkout is complete. Payment processing may still be in progress\\n- expired - the cart checkout has expired. No further processing will occur\\n"},"customer":{"$ref":"#/components/schemas/Customer"},"billing_address":{"$ref":"#/components/schemas/Address"},"delivery_address":{"$ref":"#/components/schemas/Address"},"metadata":{"$ref":"#/components/schemas/MetaData"},"line_items":{"$ref":"#/components/schemas/PriceItems"},"amount_subtotal":{"readOnly":true,"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"readOnly":true,"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"},"created_at":{"readOnly":true,"type":"string","format":"date-time"},"updated_at":{"readOnly":true,"type":"string","format":"date-time"}}},"Currency":{"type":"string","description":"Three-letter ISO currency code, in lowercase. Must be a supported currency.\\nISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html\\n"},"Order":{"type":"object","description":"The order entity","properties":{"order_number":{"type":"string","description":"The Order Id Number for the customer"},"cart_id":{"type":"string","description":"The Cart Id that originated or is associated with the order"},"status":{"type":"string","enum":["Draft","Open","Paid","Shipped","Delivered","Complete"],"description":"The order status"},"metadata":{"$ref":"#/components/schemas/MetaData"},"billing_first_name":{"type":"string"},"billing_last_name":{"type":"string"},"billing_company_name":{"type":"string"},"billing_vat":{"type":"string"},"billing_email":{"type":"string"},"billing_phone":{"type":"string"},"billing_address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"currency":{"$ref":"#/components/schemas/Currency"},"delivery_address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"payment_method":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"contact":{"readOnly":true,"type":"string","description":"The id of an existing contact."},"line_items":{"$ref":"#/components/schemas/PriceItems"},"amount_subtotal":{"readOnly":true,"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"readOnly":true,"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"},"_org_id":{"type":"string","description":"Organization Id the order belongs to"},"_id":{"type":"string","readOnly":true},"_created_at":{"type":"string","readOnly":true},"_updated_at":{"type":"string","readOnly":true},"_tags":{"type":"array","items":{"type":"string"}}}},"PriceItems":{"description":"Tracks a set of product prices, quantities, (discounts) and taxes.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItem"}]}},"PriceItem":{"description":"Represents a price item","type":"object","properties":{"id":{"type":"string","description":"price item id","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetaData"},"unit_amount":{"type":"integer","description":"The unit amount value","readOnly":true},"amount_subtotal":{"type":"integer","description":"Total before any (discounts or) taxes are applied.","readOnly":true},"amount_total":{"type":"integer","description":"Total after (discounts and) taxes.","readOnly":true},"currency":{"$ref":"#/components/schemas/Currency"},"description":{"type":"string","description":"An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name."},"quantity":{"type":"integer","description":"The quantity of products being purchased."},"product_id":{"type":"string","description":"The id of the product."},"price_id":{"type":"string","description":"The id of the price."},"_price":{"$ref":"#/components/schemas/Price"},"_product":{"$ref":"#/components/schemas/Product"},"taxes":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmount"}]}}}},"TaxAmount":{"type":"object","description":"A tax amount associated with a specific tax rate.","readOnly":true,"properties":{"amount":{"type":"integer","description":"The tax amount."},"rate":{"type":"string","description":"The tax rate applied."}}},"TotalDetails":{"type":"object","description":"The total details with tax (and discount) aggregated totals.","readOnly":true,"properties":{"amount_shipping":{"type":"integer","description":"This is the sum of all the price item shipping amounts."},"amount_tax":{"type":"integer","description":"This is the sum of all the price item tax amounts."},"breakdown":{"type":"object","description":"Breakdown of individual tax (and discount) amounts that add up to the totals.","properties":{"taxes":{"type":"array","description":"The aggregated price items tax amount per rate.","items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmount"}]}}}}}},"PricingDetails":{"type":"object","description":"The result from the calculation of a set of price items.","properties":{"items":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItem"}]}},"amount_subtotal":{"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"}}},"Price":{"type":"object","description":"The price configuration","additionalProperties":true,"readOnly":true,"properties":{"active":{"type":"boolean"},"billing_scheme":{"type":"string","enum":["Per Unit"]},"description":{"type":"string"},"sales_tax":{"type":"string","enum":["Nontaxable","Reduced (7%)","Standard (19%)"]},"tax_behavior":{"type":"string","enum":["Inclusive (Price amount includes Tax)","Exclusive (Price amount excludes Tax)"]},"tiers_mode":{"type":"string","enum":["Standard"]},"type":{"type":"string","enum":["One Time","Recurring"]},"billing_period":{"type":"string","enum":["Weekly","Monthly","Every Quarter","Every 6 months","Yearly"]},"unit_amount":{"type":"number"},"unit_amount_decimal":{"type":"string"},"unit_amount_currency":{"$ref":"#/components/schemas/Currency"},"billing_duration_amount":{"type":"number"},"billing_duration_unit":{"type":"string","enum":["Weeks","Months","Years"]},"notice_time_amount":{"type":"number"},"notice_time_unit":{"type":"string","enum":["Weeks","Months","Years"]},"termination_time_amount":{"type":"number"},"termination_time_unit":{"type":"string","enum":["Weeks","Months","Years"]},"renewal_duration_amount":{"type":"number"},"renewal_duration_unit":{"type":"string","enum":["Weeks","Months","Years"]},"_created_at":{"type":"string"},"_id":{"type":"string"},"_title":{"type":"string"},"_updated_at":{"type":"string"}}},"Address":{"type":"object","additionalProperties":true,"properties":{"street":{"type":"string","description":"The first line of the address. Typically the street address or PO Box number."},"street_number":{"type":"string","description":"The second line of the address. Typically the number of the apartment, suite, or unit."},"postal_code":{"type":"string","description":"The postal code for the address."},"city":{"type":"string","description":"The name of the city, district, village, or town."},"country":{"type":"string","description":"The two-letter code for the country of the address."},"additional_info":{"type":"string","description":"An additional description for the address"}}},"PaymentMethod":{"type":"object","description":"A PaymentMethod represent your customer\'s payment instruments.\\n","properties":{"type":{"type":"string","description":"The type of the PaymentMethod."},"details":{"type":"object","description":"Contains relevant data associated with the payment method type.","additionalProperties":true}}},"Customer":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"company_name":{"type":"string"},"vat_id":{"type":"string"},"email":{"type":"string","description":"A valid email identifying the customer."},"phone":{"type":"string"}}},"Product":{"type":"object","description":"The product configuration","readOnly":true,"additionalProperties":true,"properties":{"code":{"type":"string"},"type":{"type":"string","enum":["Product","Service"]},"name":{"type":"string"},"_id":{"type":"string"},"_title":{"type":"string"}}}},"examples":{"checkoutWithCartId":{"value":{"mode":"create_order","cart":"pZ324jnndf"}},"checkoutWithTransientCart":{"value":{"mode":"create_order","cart":{"metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"customer":{"first_name":"john","last_name":"doe","company_name":"company limited","vat_id":"123892321","email":"johndoe@company.com","phone":"+44233242423"},"billing_address":{"street1":"wallstreet","street2":1,"city":"new york city","country":"united states","country_code":"US","additional_info":"headquarters office"},"delivery_address":{"street1":"berverly hills avenue","street2":"block 1","city":"berverly hills","country":"california","country_code":"CA","additional_info":"remote cowork place"},"line_items":[{"quantity":1,"product":"b7185fb7-b10f-4875-bda7-288631446555","price":"df240bab-9f71-4a9a-a9e1-59f18827dbf9"},{"quantity":1,"product":"zzzzzz-b10f-4875-bda7-288631446555","price":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9"}]}}},"checkoutResult":{"value":{"order":{"_id":"d1ZoC1FwZ6","type":"Draft","cart_id":"p0ZoB1FwH6","order_number":"20201021-234324","_org_id":123,"metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"billing_first_name":"john","billing_last_name":"doe","billing_company_name":"i me and myself","billing_vat":"234823948","billing_email":"johndoe@nowhere.com","currency":"EUR","billing_phone":"+1234234545","billing_address":"wallstreet, 1","billing_contact":"villy or zilly","line_items":[{"id":"mSjGCTfn8w","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Premium - Premium Price","currency":"EUR","unit_amount":78900,"amount_subtotal":50000,"amount_total":61500,"quantity":1,"product_id":"b7185fb7-b10f-4875-bda7-288631446555","price_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9","taxes":[{"amount":11500,"rate":"MwSt. 23%"}],"_price":{"_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9","unit_amount":"€ 789","type":"One Time","active":true,"sales_tax":"Standard (19%)","tax_behavior":"Inclusive (Price amount includes Tax)","description":"Winter Sale","billing_scheme":"Per Unit","tiers_mode":"Standard","_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}},{"id":"mZkGCTfn6p","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","unit_amount":78900,"amount_subtotal":50000,"amount_total":53500,"quantity":1,"product_id":"zzzzzz-b10f-4875-bda7-288631446555","price_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9","taxes":[{"amount":3500,"rate":"MwSt. 7%"}],"_price":{"_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9","unit_amount":"€ 789","type":"One Time","active":true,"sales_tax":"Standard (19%)","tax_behavior":"Inclusive (Price amount includes Tax)","description":"Winter Sale","billing_scheme":"Per Unit","tiers_mode":"Standard","_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}}],"amount_subtotal":100000,"amount_total":115000,"total_details":{"amount_shipping":10000,"amount_tax":15000,"breakdown":[{"amount":11500,"rate":"MwSt. 23%"},{"amount":3500,"rate":"MwSt. 7%"}]},"_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z"}}}}}}')}},t={};return function r(a){if(t[a])return t[a].exports;var i=t[a]={exports:{}};return e[a].call(i.exports,i,i.exports,r),i.exports}(914)})());
1
+ !function(e,t){for(var r in t)e[r]=t[r];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=i(r(279));t.default=a.default},279:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"Pricing API","description":"This API hub sets the foundations for the following Pricing APIs:\\n\\n- Shopping Cart API, used to interact with a cart during a customer\'s checkout session, and it\'s responsible for providing the following set of features:\\n - A unified data model to model a Shopping Cart\\n - Cart abandonment recovery\\n - Pricing features such as automatic calculation of totals and price breakdowns for taxes\\n - Product and pricing data validation\\n - Checkout a cart into an order, invoice, or quote\\n\\n- Order API, provides a way to manage orders, keep track of inventory, with individual adjustments, tax calculation, and shipping, apply discounts, store tracking information, and handle returns. The responsibilities of this API contemplate the following set of features:\\n - Create or update a new Order from a Shopping Cart\\n - Marking a Shopping Cart as complete once the Order is set as open (immutable/closed for modification)\\n - Pricing features such as automatic calculation of totals and price breakdowns for taxes\\n","contact":{"name":"Maintainers Channel","url":"https://epilot.slack.com/archives/C020B4URQNS"},"version":"1.0.0"},"externalDocs":{"description":"Read the full docs here","url":"https://e-pilot.atlassian.net/wiki/spaces/EO/pages/5459705918/Shopping+Cart+Orders+API"},"tags":[{"name":"Draft","description":"Operations not implement under the current release."},{"name":"Public","description":"Customer-facing Endpoints (requiring a X-Ivy-Org-ID identification)"},{"name":"Cart","description":"The shopping cart & checkout management operations"},{"name":"Order","description":"Order management operations"},{"name":"Product Catalog","description":"Product querying operations"}],"security":[{"EpilotAuth":[]},{"AsOrganization":[]}],"paths":{"/v1/public/cart":{"put":{"description":"Creates a new cart or updates an existing one.","operationId":"$upsertCart","summary":"upsertCart","security":[],"tags":["Cart","Public","Draft"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartDto"}}}},"responses":{"200":{"description":"The updated Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"201":{"description":"The new Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/public/cart:checkout":{"post":{"description":"Checkouts a cart and executes the specified checkout `mode` process. \\n\\nA Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes:\\n- `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP)\\n- `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen)\\n- `create_quote`: the checkout represents a price quote request\\n\\nFast checkout is also supported, by passing the Cart contents directly.\\nWhen a fast checkout is performed the cart is considered transient and there is no cart persistance.\\n\\nIf the checkout `mode` is omitted, the `mode` will default to `create_order`.\\n","operationId":"$checkoutCart","summary":"checkoutCart","security":[],"tags":["Cart","Public"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCart"},"examples":{"Checkout with a CartID":{"$ref":"#/components/examples/checkoutWithCartId"},"Fast Checkout with a transient Cart":{"$ref":"#/components/examples/checkoutWithTransientCart"}}}}},"responses":{"200":{"description":"The checkout result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCartResult"},"examples":{"Checkout with created order":{"$ref":"#/components/examples/checkoutResult"}}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/cart/{cart-id}":{"get":{"description":"Retrieves a cart by id.","operationId":"$getCart","summary":"getCart","tags":["Cart","Draft"],"parameters":[{"in":"path","name":"cart-id","schema":{"type":"string"},"description":"The id of the cart to be fetched","required":true}],"responses":{"200":{"description":"The customer\'s cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Cart not found"}}},"delete":{"description":"Deletes the Cart specified and returns its content.","operationId":"$deleteCart","summary":"deleteCart","tags":["Cart","Draft"],"parameters":[{"in":"path","name":"cart-id","schema":{"type":"string"},"description":"The id of the cart to be deleted","required":true}],"responses":{"200":{"description":"The customer\'s cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/order":{"put":{"description":"Creates a new order or updates an existing one. During the creation of an order, an unique customer-readable `order_number` will be generated.\\nThe `order_number` can be used to universally identify an order within epilot platform.\\n\\nThe upsert operation is idempotent, meaning that multiple calls will have effect just once. Calling the upsert multiple times will not duplicate the items on an order.\\n\\nWhen the the `cart_id` payload field is specified, the cart items are appended to the existing order items, or replaced in-place if they belong to the same `cart_id`.\\n\\nOn multiple updates with the same `cart_id` the line items linked with that `cart_id` (`order.line_items[]?.metadata.cart_id`) are removed and re-added.\\n","operationId":"$upsertOrder","summary":"upsertOrder","tags":["Order","Draft"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"responses":{"200":{"description":"The updated Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"201":{"description":"The new Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/public/catalog":{"post":{"description":"Provides a querying functionalities over products and prices of the Catalog for a given organization.","operationId":"$searchCatalog","summary":"searchCatalog","security":[],"tags":["Product Catalog","Public"],"parameters":[{"in":"header","name":"X-Ivy-Org-ID","description":"The target Organization Id represented by the caller","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSearch"}}}},"responses":{"200":{"description":"The search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSearchResult"}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Epilot Bearer Token"},"AsOrganization":{"type":"apiKey","in":"header","name":"x-ivy-org-id","description":"Set organization id when using internal auth"},"AsUser":{"type":"apiKey","in":"header","name":"x-ivy-user-id","description":"Set user id when using internal auth"}},"schemas":{"Error":{"required":["message"],"properties":{"message":{"type":"string","description":"Error message"}}},"MetaData":{"description":"A set of key-value pairs.","type":"array","items":{"oneOf":[{"type":"object","description":"Key value pair entry","properties":{"key":{"type":"string","description":"Item key"},"value":{"type":"string","description":"Item value"}}}]}},"CatalogSearch":{"description":"A catalog search payload","type":"object","properties":{"q":{"description":"The query to perform using lucene query syntax.","type":"string"},"sort":{"description":"The sort expression to sort the results.","type":"string"},"from":{"description":"The index from which to query, used for pagination purposes. Defaults to 0","type":"number"},"size":{"description":"The max size of the response, defaults to 2000.","type":"number"},"expand":{"type":"array","description":"A list of additional fields to expand on the search results, such as non-indexed fields.","items":{"type":"string"}}},"example":{"q":"_id:1233432 OR _id:123432454 OR _id:23445433","sort":"description ASC","from":0,"size":200}},"CatalogSearchResult":{"description":"The query result payload","type":"object","properties":{"hits":{"type":"number","description":"The number os results returned."},"results":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Product"},{"$ref":"#/components/schemas/Price"}]}}},"example":{"hits":2,"results":[{"schema":"product","description":"product a"},{"schema":"price","unit_amount_decimal":"124.342343434"}]}},"CartDto":{"description":"A valid cart payload from a client.","properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"customer":{"$ref":"#/components/schemas/Customer"},"billing_address":{"$ref":"#/components/schemas/Address"},"delivery_address":{"$ref":"#/components/schemas/Address"},"payment_method":{"$ref":"#/components/schemas/PaymentMethod"},"line_items":{"$ref":"#/components/schemas/PriceItemsDto"}},"required":["line_items"]},"CheckoutCart":{"type":"object","description":"The cart checkout request payload","properties":{"cart":{"anyOf":[{"description":"the cart id","type":"string"},{"$ref":"#/components/schemas/CartDto"}]},"mode":{"$ref":"#/components/schemas/CheckoutMode"}}},"CheckoutCartResult":{"type":"object","description":"The cart checkout result","properties":{"order":{"$ref":"#/components/schemas/Order"}}},"CheckoutMode":{"type":"string","description":"The checkout mode for the cart checkout.","enum":["create_order","create_invoice","create_quote"]},"PriceItemsDto":{"description":"A valid set of product prices, quantities, (discounts) and taxes from a client.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItemDto"}]}},"PriceItemDto":{"description":"Represents a valid price item from a client.","type":"object","properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"quantity":{"type":"integer","description":"The quantity of products being purchased."},"product_id":{"type":"string","description":"The id of the product."},"price_id":{"type":"string","description":"The id of the price."},"taxes":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmountDto"}]}},"recurrences":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/RecurrenceAmountDto"}]}},"_price":{"$ref":"#/components/schemas/Price"}}},"TaxAmountDto":{"type":"object","description":"A valid tax rate from a client.","properties":{"rate":{"type":"string","description":"The tax rate applied."}}},"RecurrenceAmountDto":{"type":"object","description":"An amount associated with a specific recurrence.","properties":{"type":{"type":"string","description":"The price type."},"billing_period":{"type":"string","description":"The price billing period."},"amount_subtotal":{"type":"integer","description":"Total of all items, with same recurrence, before (discounts or) taxes are applied."},"amount_total":{"type":"integer","description":"Total of all items, with same recurrence, after (discounts and) taxes are applied."},"amount_tax":{"type":"integer","description":"Total of all items taxes, with same recurrence."}},"required":["type","amount_subtotal","amount_total"]},"Cart":{"description":"Supports shopping for products and services until ready for checkout.","properties":{"id":{"type":"string","description":"The cart identifier"},"org_id":{"type":"string","description":"The user\'s Organization Id the cart belongs to","readOnly":true},"status":{"enum":["open","complete","expired"],"type":"string","readOnly":true,"description":"The status of the Cart:\\n- open - the cart checkout is still in progress. Payment processing has not started\\n- complete - the cart checkout is complete. Payment processing may still be in progress\\n- expired - the cart checkout has expired. No further processing will occur\\n"},"customer":{"$ref":"#/components/schemas/Customer"},"billing_address":{"$ref":"#/components/schemas/Address"},"delivery_address":{"$ref":"#/components/schemas/Address"},"metadata":{"$ref":"#/components/schemas/MetaData"},"line_items":{"$ref":"#/components/schemas/PriceItems"},"amount_subtotal":{"readOnly":true,"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"readOnly":true,"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"},"created_at":{"readOnly":true,"type":"string","format":"date-time"},"updated_at":{"readOnly":true,"type":"string","format":"date-time"}}},"Currency":{"type":"string","description":"Three-letter ISO currency code, in lowercase. Must be a supported currency.\\nISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html\\n"},"Order":{"type":"object","description":"The order entity","properties":{"order_number":{"type":"string","description":"The Order Id Number for the customer"},"cart_id":{"type":"string","description":"The Cart Id that originated or is associated with the order"},"status":{"type":"string","enum":["Draft","Open","Paid","Shipped","Delivered","Complete"],"description":"The order status"},"metadata":{"$ref":"#/components/schemas/MetaData"},"billing_first_name":{"type":"string"},"billing_last_name":{"type":"string"},"billing_company_name":{"type":"string"},"billing_vat":{"type":"string"},"billing_email":{"type":"string"},"billing_phone":{"type":"string"},"billing_address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"currency":{"$ref":"#/components/schemas/Currency"},"delivery_address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"payment_method":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"contact":{"readOnly":true,"type":"string","description":"The id of an existing contact."},"line_items":{"$ref":"#/components/schemas/PriceItems"},"amount_subtotal":{"readOnly":true,"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"readOnly":true,"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"},"_org_id":{"type":"string","description":"Organization Id the order belongs to"},"_id":{"type":"string","readOnly":true},"_created_at":{"type":"string","readOnly":true},"_updated_at":{"type":"string","readOnly":true},"_tags":{"type":"array","items":{"type":"string"}}}},"PriceItems":{"description":"Tracks a set of product prices, quantities, (discounts) and taxes.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItem"}]}},"PriceItem":{"description":"Represents a price item","type":"object","properties":{"id":{"type":"string","description":"price item id","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetaData"},"unit_amount":{"type":"integer","description":"The unit amount value","readOnly":true},"amount_subtotal":{"type":"integer","description":"Total before any (discounts or) taxes are applied.","readOnly":true},"amount_total":{"type":"integer","description":"Total after (discounts and) taxes.","readOnly":true},"currency":{"$ref":"#/components/schemas/Currency"},"description":{"type":"string","description":"An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name."},"quantity":{"type":"integer","description":"The quantity of products being purchased."},"product_id":{"type":"string","description":"The id of the product."},"price_id":{"type":"string","description":"The id of the price."},"_price":{"$ref":"#/components/schemas/Price"},"_product":{"$ref":"#/components/schemas/Product"},"taxes":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmount"}]}},"recurrences":{"type":"array","description":"The sum of amounts of the price items by recurrence.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/RecurrenceAmount"}]}}}},"TaxAmount":{"type":"object","description":"A tax amount associated with a specific tax rate.","readOnly":true,"properties":{"amount":{"type":"integer","description":"The tax amount."},"rate":{"type":"string","description":"The tax rate applied."}}},"RecurrenceAmount":{"type":"object","description":"An amount associated with a specific recurrence.","readOnly":true,"properties":{"type":{"type":"string","description":"The price type."},"billing_period":{"type":"string","description":"The price billing period."},"amount_subtotal":{"type":"integer","description":"Total of all items, with same recurrence, before (discounts or) taxes are applied."},"amount_total":{"type":"integer","description":"Total of all items, with same recurrence, after (discounts and) taxes are applied."},"amount_tax":{"type":"integer","description":"Total of all items taxes, with same recurrence."}},"required":["type","amount_subtotal","amount_total"]},"TotalDetails":{"type":"object","description":"The total details with tax (and discount) aggregated totals.","readOnly":true,"properties":{"amount_shipping":{"type":"integer","description":"This is the sum of all the price item shipping amounts."},"amount_tax":{"type":"integer","description":"This is the sum of all the price item tax amounts."},"breakdown":{"type":"object","description":"Breakdown of individual tax (and discount) amounts that add up to the totals.","properties":{"taxes":{"type":"array","description":"The aggregated price items tax amount per rate.","items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmount"}]}},"recurrences":{"type":"array","description":"The aggregated price items tax amount per rate.","items":{"oneOf":[{"$ref":"#/components/schemas/RecurrenceAmount"}]}}}}}},"PricingDetails":{"type":"object","description":"The result from the calculation of a set of price items.","properties":{"items":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItem"}]}},"amount_subtotal":{"type":"integer","description":"Total of all items before (discounts or) taxes are applied."},"amount_total":{"type":"integer","description":"Total of all items after (discounts and) taxes are applied."},"total_details":{"$ref":"#/components/schemas/TotalDetails"}}},"BillingPeriod":{"type":"string","enum":["weekly","monthly","every_quarter","every_6_months","yearly"]},"Price":{"type":"object","description":"The price configuration","additionalProperties":true,"readOnly":true,"properties":{"active":{"type":"boolean"},"billing_scheme":{"type":"string","enum":["Per Unit"]},"description":{"type":"string"},"sales_tax":{"type":"string","enum":["nontaxable","reduced","standard"]},"tax_behavior":{"type":"string","enum":["inclusive","exclusive"]},"tiers_mode":{"type":"string","enum":["Standard"]},"type":{"type":"string","enum":["one_time","recurring"]},"billing_period":{"$ref":"#/components/schemas/BillingPeriod"},"unit_amount":{"type":"number"},"unit_amount_decimal":{"type":"string"},"unit_amount_currency":{"$ref":"#/components/schemas/Currency"},"billing_duration_amount":{"type":"number"},"billing_duration_unit":{"type":"string","enum":["weeks","months","years"]},"notice_time_amount":{"type":"number"},"notice_time_unit":{"type":"string","enum":["weeks","months","years"]},"termination_time_amount":{"type":"number"},"termination_time_unit":{"type":"string","enum":["weeks","months","years"]},"renewal_duration_amount":{"type":"number"},"renewal_duration_unit":{"type":"string","enum":["weeks","months","years"]},"_created_at":{"type":"string"},"_id":{"type":"string"},"_title":{"type":"string"},"_updated_at":{"type":"string"}}},"Address":{"type":"object","additionalProperties":true,"properties":{"street":{"type":"string","description":"The first line of the address. Typically the street address or PO Box number."},"street_number":{"type":"string","description":"The second line of the address. Typically the number of the apartment, suite, or unit."},"postal_code":{"type":"string","description":"The postal code for the address."},"city":{"type":"string","description":"The name of the city, district, village, or town."},"country":{"type":"string","description":"The two-letter code for the country of the address."},"additional_info":{"type":"string","description":"An additional description for the address"}}},"PaymentMethod":{"type":"object","description":"A PaymentMethod represent your customer\'s payment instruments.\\n","properties":{"type":{"type":"string","description":"The type of the PaymentMethod."},"details":{"type":"object","description":"Contains relevant data associated with the payment method type.","additionalProperties":true}}},"Customer":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"company_name":{"type":"string"},"vat_id":{"type":"string"},"email":{"type":"string","description":"A valid email identifying the customer."},"phone":{"type":"string"}}},"Product":{"type":"object","description":"The product configuration","readOnly":true,"additionalProperties":true,"properties":{"code":{"type":"string"},"type":{"type":"string","enum":["Product","Service"]},"name":{"type":"string"},"_id":{"type":"string"},"_title":{"type":"string"}}}},"examples":{"checkoutWithCartId":{"value":{"mode":"create_order","cart":"pZ324jnndf"}},"checkoutWithTransientCart":{"value":{"mode":"create_order","cart":{"metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"customer":{"first_name":"john","last_name":"doe","company_name":"company limited","vat_id":"123892321","email":"johndoe@company.com","phone":"+44233242423"},"billing_address":{"street1":"wallstreet","street2":1,"city":"new york city","country":"united states","country_code":"US","additional_info":"headquarters office"},"delivery_address":{"street1":"berverly hills avenue","street2":"block 1","city":"berverly hills","country":"california","country_code":"CA","additional_info":"remote cowork place"},"line_items":[{"quantity":1,"product":"b7185fb7-b10f-4875-bda7-288631446555","price":"df240bab-9f71-4a9a-a9e1-59f18827dbf9"},{"quantity":1,"product":"zzzzzz-b10f-4875-bda7-288631446555","price":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9"}]}}},"checkoutResult":{"value":{"order":{"_id":"d1ZoC1FwZ6","type":"Draft","cart_id":"p0ZoB1FwH6","order_number":"20201021-234324","_org_id":123,"metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"billing_first_name":"john","billing_last_name":"doe","billing_company_name":"i me and myself","billing_vat":"234823948","billing_email":"johndoe@nowhere.com","currency":"EUR","billing_phone":"+1234234545","billing_address":"wallstreet, 1","billing_contact":"villy or zilly","line_items":[{"id":"mSjGCTfn8w","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Premium - Premium Price","currency":"EUR","unit_amount":78900,"amount_subtotal":50000,"amount_total":61500,"quantity":1,"product_id":"b7185fb7-b10f-4875-bda7-288631446555","price_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9","taxes":[{"amount":11500,"rate":"MwSt. 23%"}],"_price":{"_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9","unit_amount":"€ 789","type":"one_time","active":true,"sales_tax":"standard","tax_behavior":"inclusive","description":"Winter Sale","billing_scheme":"Per Unit","tiers_mode":"Standard","_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}},{"id":"mZkGCTfn6p","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","unit_amount":78900,"amount_subtotal":50000,"amount_total":53500,"quantity":1,"product_id":"zzzzzz-b10f-4875-bda7-288631446555","price_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9","taxes":[{"amount":3500,"rate":"MwSt. 7%"}],"_price":{"_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9","unit_amount":"€ 789","type":"one_time","active":true,"sales_tax":"standard","tax_behavior":"inclusive","description":"Winter Sale","billing_scheme":"Per Unit","tiers_mode":"Standard","_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}}],"amount_subtotal":100000,"amount_total":115000,"total_details":{"amount_shipping":10000,"amount_tax":15000,"breakdown":[{"amount":11500,"rate":"MwSt. 23%"},{"amount":3500,"rate":"MwSt. 7%"}]},"_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z"}}}}}}')}},t={};return function r(i){if(t[i])return t[i].exports;var a=t[i]={exports:{}};return e[i].call(a.exports,a,a.exports,r),a.exports}(914)})());
package/dist/openapi.d.ts CHANGED
@@ -36,6 +36,7 @@ declare namespace Components {
36
36
  */
37
37
  additional_info?: string;
38
38
  }
39
+ export type BillingPeriod = "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly";
39
40
  /**
40
41
  * Supports shopping for products and services until ready for checkout.
41
42
  */
@@ -267,22 +268,22 @@ declare namespace Components {
267
268
  active?: boolean;
268
269
  billing_scheme?: "Per Unit";
269
270
  description?: string;
270
- sales_tax?: "Nontaxable" | "Reduced (7%)" | "Standard (19%)";
271
- tax_behavior?: "Inclusive (Price amount includes Tax)" | "Exclusive (Price amount excludes Tax)";
271
+ sales_tax?: "nontaxable" | "reduced" | "standard";
272
+ tax_behavior?: "inclusive" | "exclusive";
272
273
  tiers_mode?: "Standard";
273
- type?: "One Time" | "Recurring";
274
- billing_period?: "Weekly" | "Monthly" | "Every Quarter" | "Every 6 months" | "Yearly";
274
+ type?: "one_time" | "recurring";
275
+ billing_period?: BillingPeriod;
275
276
  unit_amount?: number;
276
277
  unit_amount_decimal?: string;
277
278
  unit_amount_currency?: Currency;
278
279
  billing_duration_amount?: number;
279
- billing_duration_unit?: "Weeks" | "Months" | "Years";
280
+ billing_duration_unit?: "weeks" | "months" | "years";
280
281
  notice_time_amount?: number;
281
- notice_time_unit?: "Weeks" | "Months" | "Years";
282
+ notice_time_unit?: "weeks" | "months" | "years";
282
283
  termination_time_amount?: number;
283
- termination_time_unit?: "Weeks" | "Months" | "Years";
284
+ termination_time_unit?: "weeks" | "months" | "years";
284
285
  renewal_duration_amount?: number;
285
- renewal_duration_unit?: "Weeks" | "Months" | "Years";
286
+ renewal_duration_unit?: "weeks" | "months" | "years";
286
287
  _created_at?: string;
287
288
  _id?: string;
288
289
  _title?: string;
@@ -332,6 +333,10 @@ declare namespace Components {
332
333
  * The taxes applied to the price item.
333
334
  */
334
335
  readonly taxes?: (TaxAmount)[];
336
+ /**
337
+ * The sum of amounts of the price items by recurrence.
338
+ */
339
+ readonly recurrences?: (RecurrenceAmount)[];
335
340
  }
336
341
  /**
337
342
  * Represents a valid price item from a client.
@@ -354,6 +359,10 @@ declare namespace Components {
354
359
  * The taxes applied to the price item.
355
360
  */
356
361
  readonly taxes?: (TaxAmountDto)[];
362
+ /**
363
+ * The taxes applied to the price item.
364
+ */
365
+ readonly recurrences?: (RecurrenceAmountDto)[];
357
366
  _price?: Price;
358
367
  }
359
368
  /**
@@ -390,6 +399,56 @@ declare namespace Components {
390
399
  _id?: string;
391
400
  _title?: string;
392
401
  }
402
+ /**
403
+ * An amount associated with a specific recurrence.
404
+ */
405
+ export interface RecurrenceAmount {
406
+ /**
407
+ * The price type.
408
+ */
409
+ type: string;
410
+ /**
411
+ * The price billing period.
412
+ */
413
+ billing_period?: string;
414
+ /**
415
+ * Total of all items, with same recurrence, before (discounts or) taxes are applied.
416
+ */
417
+ amount_subtotal: number;
418
+ /**
419
+ * Total of all items, with same recurrence, after (discounts and) taxes are applied.
420
+ */
421
+ amount_total: number;
422
+ /**
423
+ * Total of all items taxes, with same recurrence.
424
+ */
425
+ amount_tax?: number;
426
+ }
427
+ /**
428
+ * An amount associated with a specific recurrence.
429
+ */
430
+ export interface RecurrenceAmountDto {
431
+ /**
432
+ * The price type.
433
+ */
434
+ type: string;
435
+ /**
436
+ * The price billing period.
437
+ */
438
+ billing_period?: string;
439
+ /**
440
+ * Total of all items, with same recurrence, before (discounts or) taxes are applied.
441
+ */
442
+ amount_subtotal: number;
443
+ /**
444
+ * Total of all items, with same recurrence, after (discounts and) taxes are applied.
445
+ */
446
+ amount_total: number;
447
+ /**
448
+ * Total of all items taxes, with same recurrence.
449
+ */
450
+ amount_tax?: number;
451
+ }
393
452
  /**
394
453
  * A tax amount associated with a specific tax rate.
395
454
  */
@@ -432,6 +491,10 @@ declare namespace Components {
432
491
  * The aggregated price items tax amount per rate.
433
492
  */
434
493
  taxes?: (TaxAmount)[];
494
+ /**
495
+ * The aggregated price items tax amount per rate.
496
+ */
497
+ recurrences?: (RecurrenceAmount)[];
435
498
  };
436
499
  }
437
500
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/pricing-client",
3
- "version": "1.2.2",
3
+ "version": "1.2.5",
4
4
  "description": "Client for epilot Pricing APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -63,5 +63,6 @@
63
63
  "typescript": "^4.1.3",
64
64
  "webpack": "^5.18.0",
65
65
  "webpack-cli": "^4.4.0"
66
- }
66
+ },
67
+ "gitHead": "96611bb8ef33b8e05a95ae6141f3437d1cd988e3"
67
68
  }
package/src/openapi.d.ts DELETED
@@ -1,688 +0,0 @@
1
- /* eslint-disable */
2
- import {
3
- OpenAPIClient,
4
- Parameters,
5
- UnknownParamsObject,
6
- OperationResponse,
7
- AxiosRequestConfig,
8
- } from 'openapi-client-axios';
9
-
10
- declare namespace Components {
11
- namespace Schemas {
12
- export interface Address {
13
- [name: string]: any;
14
- /**
15
- * The first line of the address. Typically the street address or PO Box number.
16
- */
17
- street?: string;
18
- /**
19
- * The second line of the address. Typically the number of the apartment, suite, or unit.
20
- */
21
- street_number?: string;
22
- /**
23
- * The postal code for the address.
24
- */
25
- postal_code?: string;
26
- /**
27
- * The name of the city, district, village, or town.
28
- */
29
- city?: string;
30
- /**
31
- * The two-letter code for the country of the address.
32
- */
33
- country?: string;
34
- /**
35
- * An additional description for the address
36
- */
37
- additional_info?: string;
38
- }
39
- /**
40
- * Supports shopping for products and services until ready for checkout.
41
- */
42
- export interface Cart {
43
- /**
44
- * The cart identifier
45
- */
46
- id?: string;
47
- /**
48
- * The user's Organization Id the cart belongs to
49
- */
50
- readonly org_id?: string;
51
- /**
52
- * The status of the Cart:
53
- * - open - the cart checkout is still in progress. Payment processing has not started
54
- * - complete - the cart checkout is complete. Payment processing may still be in progress
55
- * - expired - the cart checkout has expired. No further processing will occur
56
- *
57
- */
58
- readonly status?: "open" | "complete" | "expired";
59
- customer?: Customer;
60
- billing_address?: Address;
61
- delivery_address?: Address;
62
- metadata?: MetaData;
63
- line_items?: PriceItems;
64
- /**
65
- * Total of all items before (discounts or) taxes are applied.
66
- */
67
- readonly amount_subtotal?: number;
68
- /**
69
- * Total of all items after (discounts and) taxes are applied.
70
- */
71
- readonly amount_total?: number;
72
- total_details?: TotalDetails;
73
- readonly created_at?: string; // date-time
74
- readonly updated_at?: string; // date-time
75
- }
76
- /**
77
- * A valid cart payload from a client.
78
- */
79
- export interface CartDto {
80
- metadata?: MetaData;
81
- customer?: Customer;
82
- billing_address?: Address;
83
- delivery_address?: Address;
84
- payment_method?: PaymentMethod;
85
- line_items: PriceItemsDto;
86
- }
87
- /**
88
- * A catalog search payload
89
- * example:
90
- * {
91
- * "q": "_id:1233432 OR _id:123432454 OR _id:23445433",
92
- * "sort": "description ASC",
93
- * "from": 0,
94
- * "size": 200
95
- * }
96
- */
97
- export interface CatalogSearch {
98
- /**
99
- * The query to perform using lucene query syntax.
100
- */
101
- q?: string;
102
- /**
103
- * The sort expression to sort the results.
104
- */
105
- sort?: string;
106
- /**
107
- * The index from which to query, used for pagination purposes. Defaults to 0
108
- */
109
- from?: number;
110
- /**
111
- * The max size of the response, defaults to 2000.
112
- */
113
- size?: number;
114
- /**
115
- * A list of additional fields to expand on the search results, such as non-indexed fields.
116
- */
117
- expand?: string[];
118
- }
119
- /**
120
- * The query result payload
121
- * example:
122
- * {
123
- * "hits": 2,
124
- * "results": [
125
- * {
126
- * "schema": "product",
127
- * "description": "product a"
128
- * },
129
- * {
130
- * "schema": "price",
131
- * "unit_amount_decimal": "124.342343434"
132
- * }
133
- * ]
134
- * }
135
- */
136
- export interface CatalogSearchResult {
137
- /**
138
- * The number os results returned.
139
- */
140
- hits?: number;
141
- results?: (Product | Price)[];
142
- }
143
- /**
144
- * The cart checkout request payload
145
- */
146
- export interface CheckoutCart {
147
- cart?: string | CartDto;
148
- mode?: CheckoutMode;
149
- }
150
- /**
151
- * The cart checkout result
152
- */
153
- export interface CheckoutCartResult {
154
- order?: Order;
155
- }
156
- /**
157
- * The checkout mode for the cart checkout.
158
- */
159
- export type CheckoutMode = "create_order" | "create_invoice" | "create_quote";
160
- /**
161
- * Three-letter ISO currency code, in lowercase. Must be a supported currency.
162
- * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html
163
- *
164
- */
165
- export type Currency = string;
166
- export interface Customer {
167
- first_name?: string;
168
- last_name?: string;
169
- company_name?: string;
170
- vat_id?: string;
171
- /**
172
- * A valid email identifying the customer.
173
- */
174
- email?: string;
175
- phone?: string;
176
- }
177
- export interface Error {
178
- /**
179
- * Error message
180
- */
181
- message: string;
182
- }
183
- /**
184
- * A set of key-value pairs.
185
- */
186
- export type MetaData = ({
187
- /**
188
- * Item key
189
- */
190
- key?: string;
191
- /**
192
- * Item value
193
- */
194
- value?: string;
195
- })[];
196
- /**
197
- * The order entity
198
- */
199
- export interface Order {
200
- /**
201
- * The Order Id Number for the customer
202
- */
203
- order_number?: string;
204
- /**
205
- * The Cart Id that originated or is associated with the order
206
- */
207
- cart_id?: string;
208
- /**
209
- * The order status
210
- */
211
- status?: "Draft" | "Open" | "Paid" | "Shipped" | "Delivered" | "Complete";
212
- metadata?: MetaData;
213
- billing_first_name?: string;
214
- billing_last_name?: string;
215
- billing_company_name?: string;
216
- billing_vat?: string;
217
- billing_email?: string;
218
- billing_phone?: string;
219
- billing_address?: Address[];
220
- currency?: Currency;
221
- delivery_address?: Address[];
222
- payment_method?: PaymentMethod[];
223
- /**
224
- * The id of an existing contact.
225
- */
226
- readonly contact?: string;
227
- line_items?: PriceItems;
228
- /**
229
- * Total of all items before (discounts or) taxes are applied.
230
- */
231
- readonly amount_subtotal?: number;
232
- /**
233
- * Total of all items after (discounts and) taxes are applied.
234
- */
235
- readonly amount_total?: number;
236
- total_details?: TotalDetails;
237
- /**
238
- * Organization Id the order belongs to
239
- */
240
- _org_id?: string;
241
- readonly _id?: string;
242
- readonly _created_at?: string;
243
- readonly _updated_at?: string;
244
- _tags?: string[];
245
- }
246
- /**
247
- * A PaymentMethod represent your customer's payment instruments.
248
- *
249
- */
250
- export interface PaymentMethod {
251
- /**
252
- * The type of the PaymentMethod.
253
- */
254
- type?: string;
255
- /**
256
- * Contains relevant data associated with the payment method type.
257
- */
258
- details?: {
259
- [name: string]: any;
260
- };
261
- }
262
- /**
263
- * The price configuration
264
- */
265
- export interface Price {
266
- [name: string]: any;
267
- active?: boolean;
268
- billing_scheme?: "Per Unit";
269
- description?: string;
270
- sales_tax?: "Nontaxable" | "Reduced (7%)" | "Standard (19%)";
271
- tax_behavior?: "Inclusive (Price amount includes Tax)" | "Exclusive (Price amount excludes Tax)";
272
- tiers_mode?: "Standard";
273
- type?: "One Time" | "Recurring";
274
- billing_period?: "Weekly" | "Monthly" | "Every Quarter" | "Every 6 months" | "Yearly";
275
- unit_amount?: number;
276
- unit_amount_decimal?: string;
277
- unit_amount_currency?: Currency;
278
- billing_duration_amount?: number;
279
- billing_duration_unit?: "Weeks" | "Months" | "Years";
280
- notice_time_amount?: number;
281
- notice_time_unit?: "Weeks" | "Months" | "Years";
282
- termination_time_amount?: number;
283
- termination_time_unit?: "Weeks" | "Months" | "Years";
284
- renewal_duration_amount?: number;
285
- renewal_duration_unit?: "Weeks" | "Months" | "Years";
286
- _created_at?: string;
287
- _id?: string;
288
- _title?: string;
289
- _updated_at?: string;
290
- }
291
- /**
292
- * Represents a price item
293
- */
294
- export interface PriceItem {
295
- /**
296
- * price item id
297
- */
298
- readonly id?: string;
299
- metadata?: MetaData;
300
- /**
301
- * The unit amount value
302
- */
303
- readonly unit_amount?: number;
304
- /**
305
- * Total before any (discounts or) taxes are applied.
306
- */
307
- readonly amount_subtotal?: number;
308
- /**
309
- * Total after (discounts and) taxes.
310
- */
311
- readonly amount_total?: number;
312
- currency?: Currency;
313
- /**
314
- * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name.
315
- */
316
- description?: string;
317
- /**
318
- * The quantity of products being purchased.
319
- */
320
- quantity?: number;
321
- /**
322
- * The id of the product.
323
- */
324
- product_id?: string;
325
- /**
326
- * The id of the price.
327
- */
328
- price_id?: string;
329
- _price?: Price;
330
- _product?: Product;
331
- /**
332
- * The taxes applied to the price item.
333
- */
334
- readonly taxes?: (TaxAmount)[];
335
- }
336
- /**
337
- * Represents a valid price item from a client.
338
- */
339
- export interface PriceItemDto {
340
- metadata?: MetaData;
341
- /**
342
- * The quantity of products being purchased.
343
- */
344
- quantity?: number;
345
- /**
346
- * The id of the product.
347
- */
348
- product_id?: string;
349
- /**
350
- * The id of the price.
351
- */
352
- price_id?: string;
353
- /**
354
- * The taxes applied to the price item.
355
- */
356
- readonly taxes?: (TaxAmountDto)[];
357
- _price?: Price;
358
- }
359
- /**
360
- * Tracks a set of product prices, quantities, (discounts) and taxes.
361
- */
362
- export type PriceItems = (PriceItem)[];
363
- /**
364
- * A valid set of product prices, quantities, (discounts) and taxes from a client.
365
- */
366
- export type PriceItemsDto = (PriceItemDto)[];
367
- /**
368
- * The result from the calculation of a set of price items.
369
- */
370
- export interface PricingDetails {
371
- items?: (PriceItem)[];
372
- /**
373
- * Total of all items before (discounts or) taxes are applied.
374
- */
375
- amount_subtotal?: number;
376
- /**
377
- * Total of all items after (discounts and) taxes are applied.
378
- */
379
- amount_total?: number;
380
- total_details?: TotalDetails;
381
- }
382
- /**
383
- * The product configuration
384
- */
385
- export interface Product {
386
- [name: string]: any;
387
- code?: string;
388
- type?: "Product" | "Service";
389
- name?: string;
390
- _id?: string;
391
- _title?: string;
392
- }
393
- /**
394
- * A tax amount associated with a specific tax rate.
395
- */
396
- export interface TaxAmount {
397
- /**
398
- * The tax amount.
399
- */
400
- amount?: number;
401
- /**
402
- * The tax rate applied.
403
- */
404
- rate?: string;
405
- }
406
- /**
407
- * A valid tax rate from a client.
408
- */
409
- export interface TaxAmountDto {
410
- /**
411
- * The tax rate applied.
412
- */
413
- rate?: string;
414
- }
415
- /**
416
- * The total details with tax (and discount) aggregated totals.
417
- */
418
- export interface TotalDetails {
419
- /**
420
- * This is the sum of all the price item shipping amounts.
421
- */
422
- amount_shipping?: number;
423
- /**
424
- * This is the sum of all the price item tax amounts.
425
- */
426
- amount_tax?: number;
427
- /**
428
- * Breakdown of individual tax (and discount) amounts that add up to the totals.
429
- */
430
- breakdown?: {
431
- /**
432
- * The aggregated price items tax amount per rate.
433
- */
434
- taxes?: (TaxAmount)[];
435
- };
436
- }
437
- }
438
- }
439
- declare namespace Paths {
440
- namespace $CheckoutCart {
441
- export interface HeaderParameters {
442
- "X-Ivy-Org-ID": Parameters.XIvyOrgID;
443
- }
444
- namespace Parameters {
445
- export type XIvyOrgID = string;
446
- }
447
- export type RequestBody = Components.Schemas.CheckoutCart;
448
- namespace Responses {
449
- export type $200 = Components.Schemas.CheckoutCartResult;
450
- export type $400 = Components.Schemas.Error;
451
- }
452
- }
453
- namespace $DeleteCart {
454
- namespace Parameters {
455
- export type CartId = string;
456
- }
457
- export interface PathParameters {
458
- "cart-id": Parameters.CartId;
459
- }
460
- namespace Responses {
461
- export type $200 = Components.Schemas.Cart;
462
- export type $400 = Components.Schemas.Error;
463
- }
464
- }
465
- namespace $GetCart {
466
- namespace Parameters {
467
- export type CartId = string;
468
- }
469
- export interface PathParameters {
470
- "cart-id": Parameters.CartId;
471
- }
472
- namespace Responses {
473
- export type $200 = Components.Schemas.Cart;
474
- export type $400 = Components.Schemas.Error;
475
- }
476
- }
477
- namespace $SearchCatalog {
478
- export interface HeaderParameters {
479
- "X-Ivy-Org-ID": Parameters.XIvyOrgID;
480
- }
481
- namespace Parameters {
482
- export type XIvyOrgID = string;
483
- }
484
- export type RequestBody = Components.Schemas.CatalogSearch;
485
- namespace Responses {
486
- export type $200 = Components.Schemas.CatalogSearchResult;
487
- export type $400 = Components.Schemas.Error;
488
- }
489
- }
490
- namespace $UpsertCart {
491
- export interface HeaderParameters {
492
- "X-Ivy-Org-ID": Parameters.XIvyOrgID;
493
- }
494
- namespace Parameters {
495
- export type XIvyOrgID = string;
496
- }
497
- export type RequestBody = Components.Schemas.CartDto;
498
- namespace Responses {
499
- export type $200 = Components.Schemas.Cart;
500
- export type $201 = Components.Schemas.Cart;
501
- export type $400 = Components.Schemas.Error;
502
- }
503
- }
504
- namespace $UpsertOrder {
505
- export type RequestBody = Components.Schemas.Order;
506
- namespace Responses {
507
- export type $200 = Components.Schemas.Order;
508
- export type $201 = Components.Schemas.Order;
509
- export type $400 = Components.Schemas.Error;
510
- }
511
- }
512
- }
513
-
514
- export interface OperationMethods {
515
- /**
516
- * $upsertCart - upsertCart
517
- *
518
- * Creates a new cart or updates an existing one.
519
- */
520
- '$upsertCart'(
521
- parameters?: Parameters<Paths.$UpsertCart.HeaderParameters> | null,
522
- data?: Paths.$UpsertCart.RequestBody,
523
- config?: AxiosRequestConfig
524
- ): OperationResponse<Paths.$UpsertCart.Responses.$200 | Paths.$UpsertCart.Responses.$201 | Paths.$UpsertCart.Responses.$400>
525
- /**
526
- * $checkoutCart - checkoutCart
527
- *
528
- * Checkouts a cart and executes the specified checkout `mode` process.
529
- *
530
- * A Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes:
531
- * - `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP)
532
- * - `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen)
533
- * - `create_quote`: the checkout represents a price quote request
534
- *
535
- * Fast checkout is also supported, by passing the Cart contents directly.
536
- * When a fast checkout is performed the cart is considered transient and there is no cart persistance.
537
- *
538
- * If the checkout `mode` is omitted, the `mode` will default to `create_order`.
539
- *
540
- */
541
- '$checkoutCart'(
542
- parameters?: Parameters<Paths.$CheckoutCart.HeaderParameters> | null,
543
- data?: Paths.$CheckoutCart.RequestBody,
544
- config?: AxiosRequestConfig
545
- ): OperationResponse<Paths.$CheckoutCart.Responses.$200 | Paths.$CheckoutCart.Responses.$400>
546
- /**
547
- * $getCart - getCart
548
- *
549
- * Retrieves a cart by id.
550
- */
551
- '$getCart'(
552
- parameters?: Parameters<Paths.$GetCart.PathParameters> | null,
553
- data?: any,
554
- config?: AxiosRequestConfig
555
- ): OperationResponse<Paths.$GetCart.Responses.$200 | Paths.$GetCart.Responses.$400>
556
- /**
557
- * $deleteCart - deleteCart
558
- *
559
- * Deletes the Cart specified and returns its content.
560
- */
561
- '$deleteCart'(
562
- parameters?: Parameters<Paths.$DeleteCart.PathParameters> | null,
563
- data?: any,
564
- config?: AxiosRequestConfig
565
- ): OperationResponse<Paths.$DeleteCart.Responses.$200 | Paths.$DeleteCart.Responses.$400>
566
- /**
567
- * $upsertOrder - upsertOrder
568
- *
569
- * Creates a new order or updates an existing one. During the creation of an order, an unique customer-readable `order_number` will be generated.
570
- * The `order_number` can be used to universally identify an order within epilot platform.
571
- *
572
- * The upsert operation is idempotent, meaning that multiple calls will have effect just once. Calling the upsert multiple times will not duplicate the items on an order.
573
- *
574
- * When the the `cart_id` payload field is specified, the cart items are appended to the existing order items, or replaced in-place if they belong to the same `cart_id`.
575
- *
576
- * On multiple updates with the same `cart_id` the line items linked with that `cart_id` (`order.line_items[]?.metadata.cart_id`) are removed and re-added.
577
- *
578
- */
579
- '$upsertOrder'(
580
- parameters?: Parameters<UnknownParamsObject> | null,
581
- data?: Paths.$UpsertOrder.RequestBody,
582
- config?: AxiosRequestConfig
583
- ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
584
- /**
585
- * $searchCatalog - searchCatalog
586
- *
587
- * Provides a querying functionalities over products and prices of the Catalog for a given organization.
588
- */
589
- '$searchCatalog'(
590
- parameters?: Parameters<Paths.$SearchCatalog.HeaderParameters> | null,
591
- data?: Paths.$SearchCatalog.RequestBody,
592
- config?: AxiosRequestConfig
593
- ): OperationResponse<Paths.$SearchCatalog.Responses.$200 | Paths.$SearchCatalog.Responses.$400>
594
- }
595
-
596
- export interface PathsDictionary {
597
- ['/v1/public/cart']: {
598
- /**
599
- * $upsertCart - upsertCart
600
- *
601
- * Creates a new cart or updates an existing one.
602
- */
603
- 'put'(
604
- parameters?: Parameters<Paths.$UpsertCart.HeaderParameters> | null,
605
- data?: Paths.$UpsertCart.RequestBody,
606
- config?: AxiosRequestConfig
607
- ): OperationResponse<Paths.$UpsertCart.Responses.$200 | Paths.$UpsertCart.Responses.$201 | Paths.$UpsertCart.Responses.$400>
608
- }
609
- ['/v1/public/cart:checkout']: {
610
- /**
611
- * $checkoutCart - checkoutCart
612
- *
613
- * Checkouts a cart and executes the specified checkout `mode` process.
614
- *
615
- * A Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes:
616
- * - `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP)
617
- * - `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen)
618
- * - `create_quote`: the checkout represents a price quote request
619
- *
620
- * Fast checkout is also supported, by passing the Cart contents directly.
621
- * When a fast checkout is performed the cart is considered transient and there is no cart persistance.
622
- *
623
- * If the checkout `mode` is omitted, the `mode` will default to `create_order`.
624
- *
625
- */
626
- 'post'(
627
- parameters?: Parameters<Paths.$CheckoutCart.HeaderParameters> | null,
628
- data?: Paths.$CheckoutCart.RequestBody,
629
- config?: AxiosRequestConfig
630
- ): OperationResponse<Paths.$CheckoutCart.Responses.$200 | Paths.$CheckoutCart.Responses.$400>
631
- }
632
- ['/v1/cart/{cart-id}']: {
633
- /**
634
- * $getCart - getCart
635
- *
636
- * Retrieves a cart by id.
637
- */
638
- 'get'(
639
- parameters?: Parameters<Paths.$GetCart.PathParameters> | null,
640
- data?: any,
641
- config?: AxiosRequestConfig
642
- ): OperationResponse<Paths.$GetCart.Responses.$200 | Paths.$GetCart.Responses.$400>
643
- /**
644
- * $deleteCart - deleteCart
645
- *
646
- * Deletes the Cart specified and returns its content.
647
- */
648
- 'delete'(
649
- parameters?: Parameters<Paths.$DeleteCart.PathParameters> | null,
650
- data?: any,
651
- config?: AxiosRequestConfig
652
- ): OperationResponse<Paths.$DeleteCart.Responses.$200 | Paths.$DeleteCart.Responses.$400>
653
- }
654
- ['/v1/order']: {
655
- /**
656
- * $upsertOrder - upsertOrder
657
- *
658
- * Creates a new order or updates an existing one. During the creation of an order, an unique customer-readable `order_number` will be generated.
659
- * The `order_number` can be used to universally identify an order within epilot platform.
660
- *
661
- * The upsert operation is idempotent, meaning that multiple calls will have effect just once. Calling the upsert multiple times will not duplicate the items on an order.
662
- *
663
- * When the the `cart_id` payload field is specified, the cart items are appended to the existing order items, or replaced in-place if they belong to the same `cart_id`.
664
- *
665
- * On multiple updates with the same `cart_id` the line items linked with that `cart_id` (`order.line_items[]?.metadata.cart_id`) are removed and re-added.
666
- *
667
- */
668
- 'put'(
669
- parameters?: Parameters<UnknownParamsObject> | null,
670
- data?: Paths.$UpsertOrder.RequestBody,
671
- config?: AxiosRequestConfig
672
- ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
673
- }
674
- ['/v1/public/catalog']: {
675
- /**
676
- * $searchCatalog - searchCatalog
677
- *
678
- * Provides a querying functionalities over products and prices of the Catalog for a given organization.
679
- */
680
- 'post'(
681
- parameters?: Parameters<Paths.$SearchCatalog.HeaderParameters> | null,
682
- data?: Paths.$SearchCatalog.RequestBody,
683
- config?: AxiosRequestConfig
684
- ): OperationResponse<Paths.$SearchCatalog.Responses.$200 | Paths.$SearchCatalog.Responses.$400>
685
- }
686
- }
687
-
688
- export type Client = OpenAPIClient<OperationMethods, PathsDictionary>