@epilot/pricing-client 0.2.3 → 1.0.2

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 a in t)e[a]=t[a];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=i(a(279));t.default=n.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- 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\\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","contact":{"name":"Maintainers Channel","url":"https://epilot.slack.com/archives/C020B4URQNS"},"version":"1.0.0"},"externalDocs":{"description":"Read the full RFC here","url":"https://e-pilot.atlassian.net/wiki/spaces/~880810188/pages/5459705918/Shopping+Cart+Orders+API"},"tags":[{"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":"Pricing","description":"Pricing utility 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"],"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/CartPayload"},"examples":{"Cart with Line Items":{"$ref":"#/components/examples/cartCreationPayload"}}}}},"responses":{"200":{"description":"The updated Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/cart"}}}}},"201":{"description":"The new Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/cart"}}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Modifying a cart marked as complete":{"value":{"message":"The cart is marked as complete and can no longer be modified."}},"Modifying a cart with an invalid price":{"value":{"message":"The cart update failed due to an invalid price provided."}},"Modifying a cart with an invalid product":{"value":{"message":"The cart update failed due to an invalid provided provided."}}}}}}}}},"/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":{"value":{"mode":"create_order","cart":"pZ324jnndf"}},"Fast Checkout with a transient Cart":{"value":{"mode":"create_order","cart":{"customer_email":"johndoe@epilot.cloud","metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"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"}]}}}}}}},"responses":{"200":{"description":"The checkout result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCartResult"},"examples":{"Checkout with created order":{"value":{"order":{"_id":"d1ZoC1FwZ6","type":"open","order_number":"20201023-1234ndf","_org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","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","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","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}],"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"}}}}}}},"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"],"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"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/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"],"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"},"examples":{"Content of the deleted Cart":{"$ref":"#/components/examples/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"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"},"examples":{"Sample order creation":{"$ref":"#/components/examples/orderCreationPayload"}}}}},"responses":{"200":{"description":"The updated Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"},"examples":{"Order with Totals and Tax Breakdown":{"$ref":"#/components/examples/order"}}}}},"201":{"description":"The new Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"},"examples":{"Order with Totals and Tax Breakdown":{"$ref":"#/components/examples/order"}}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/public/pricing:calculate":{"post":{"description":"Calculates the pricing amounts for a set of price items, including aggregated totals such as subtotal, total and aggregates per tax rate.\\n","operationId":"$calculatePricing","summary":"calculatePricing","tags":["Pricing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItems"}]}},"examples":{"Price items sample":{"$ref":"#/components/examples/priceItemsPayload"}}}}},"responses":{"200":{"description":"The","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingDetails"},"examples":{"Pricing Items Calculation example":{"$ref":"#/components/examples/priceItemsResult"}}}}},"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"}}}]}},"CheckoutCart":{"type":"object","description":"The cart checkout request payload","properties":{"cart":{"anyOf":[{"description":"the cart id","type":"string"},{"$ref":"#/components/schemas/CartPayload"}]},"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"]},"CartPayload":{"description":"A valid cart payload from a client.","properties":{"customer_email":{"type":"string","description":"A valid email identifying the customer."},"metadata":{"$ref":"#/components/schemas/MetaData"},"line_items":{"$ref":"#/components/schemas/PriceItemsPayload"}}},"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":{"readOnly":true,"type":"string","description":"ID of an existing Customer, if one exists. Or the customer data object."},"customer_email":{"type":"string","description":"A valid email identifying the customer."},"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"}}},"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"},"customer_email":{"type":"string","description":"A valid email identifying the customer. \\nWhen the `customer` field is filled with an ID, this field is populated/overwritten with that customer\'s email.\\n"},"customer":{"readOnly":true,"type":"string","description":"ID of an existing Customer, if one exists. Or the customer data object."},"type":{"type":"string","enum":["Draft","Open","Paid","Shipped","Delivered","Complete"],"description":"The order status"},"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":"string"},"billing_contact":{"type":"string"},"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"},"_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}}},"PriceItemsPayload":{"description":"A valid set of product prices, quantities, (discounts) and taxes from a client.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItemPayload"}]}},"PriceItems":{"description":"Tracks a set of product prices, quantities, (discounts) and taxes.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PriceItem"}]}},"PriceItemPayload":{"description":"Represents a valid price item from a client.","type":"object","properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"currency":{"type":"string","description":"Three-letter ISO currency code, in lowercase. \\nDefaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.\\n"},"quantity":{"type":"integer","description":"The quantity of products being purchased."},"product":{"type":"string","description":"The id of the product."},"price":{"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/TaxAmountPayload"}]}}}},"PriceItem":{"description":"Represents a price item","type":"object","properties":{"id":{"type":"string","description":"price item id","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetaData"},"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":{"type":"string","description":"Three-letter ISO currency code, in lowercase. \\nDefaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.\\n"},"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":{"oneOf":[{"type":"string","description":"The id of the product."},{"$ref":"#/components/schemas/Product"}]},"price":{"oneOf":[{"type":"string","description":"The id of the price."},{"$ref":"#/components/schemas/Price"}]},"taxes":{"type":"array","description":"The taxes applied to the price item.","readOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/TaxAmount"}]}}}},"TaxAmountPayload":{"type":"object","description":"A valid tax rate from a client.","properties":{"rate":{"type":"string","description":"The tax rate applied."}}},"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"}}},"Product":{"type":"object","description":"The product configuration","readOnly":true,"properties":{"code":{"type":"string"},"type":{"type":"string","enum":["Product","Service"]},"categories":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"feature":{"type":"array","items":{"type":"object","properties":{"_tags":{"type":"array","items":{"type":"string"}},"feature":{"type":"string"}}}},"active":{"type":"boolean"},"_id":{"type":"string"},"_files":{"$ref":"#/components/schemas/FileField"},"_images":{"$ref":"#/components/schemas/FileField"},"_created_at":{"type":"string"},"_updated_at":{"type":"string"},"_title":{"type":"string"},"_tags":{"type":"array","items":{"type":"string"}}},"example":{"$ref":"#/components/examples/product"}},"Price":{"type":"object","description":"The price configuration","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":"string"},"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"}},"example":{"$ref":"#/components/examples/price"}},"FileField":{"description":"The file field","properties":{"type":{"type":"string","enum":["file","image"]},"attachments":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"key":{"type":"string"},"mime":{"type":"string"},"name":{"type":"string"},"size":{"type":"number"},"image_url":{"type":"string"},"download_url":{"type":"string"}}}]}}},"example":{"$ref":"#/components/examples/price"}}},"examples":{"cart":{"description":"Example of a Shopping Cart","value":{"id":"p0ZoB1FwH6","status":"open","org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"line_items":[{"id":"mSjGCTfn8w","description":"Wallbox Premium - Premium Price","currency":"EUR","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}],"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"}},"cartComplete":{"description":"Example of a Shopping Cart marked as complete","value":{"id":"p0ZoB1FwH6","status":"complete","org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"line_items":[{"id":"mSjGCTfn8w","description":"Wallbox Premium - Premium Price","currency":"EUR","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}],"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"}},"cartCreationPayload":{"description":"Example of a Cart creation payload","value":{"customer_email":"johndoe@epilot.cloud","metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"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"}]}},"orderCreationPayload":{"description":"Example of an Order creation payload","value":{"order_number":"a34234jd","customer_email":"johndoe@epilot.cloud","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","billing_phone":1234234545,"billing_address":"wallstreet, 1","billing_contact":"villy or zilly","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"}]}},"order":{"description":"Example of an Order","value":{"_id":"d1ZoC1FwZ6","type":"open","cart_id":"p0ZoB1FwH6","order_number":"20201021-234324","_org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","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","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","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","metadata":[{"cart_id":"p0ZoB1FwH6"}],"description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}],"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"}},"priceItemsPayload":{"description":"A price items payload example","value":[{"id":"mSjGCTfn8w","cart_id":"p0ZoB1FwH6","description":"Wallbox Premium - Premium Price","currency":"EUR","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","cart_id":"p0ZoB1FwH6","description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}]},"priceItemsResult":{"description":"A price items calculation result example","value":{"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%"}]},"items":[{"id":"mSjGCTfn8w","cart_id":"p0ZoB1FwH6","description":"Wallbox Premium - Premium Price","currency":"EUR","amount_subtotal":50000,"amount_total":61500,"quantity":1,"product":{"_id":"b7185fb7-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":11500,"rate":"MwSt. 23%"}]},{"id":"mZkGCTfn6p","cart_id":"p0ZoB1FwH6","description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"quantity":1,"product":{"_id":"zzzzzz-b10f-4875-bda7-288631446555","name":"Alfen Eve Single S-line Wallbox","code":904460583,"categories":["House Connection"]},"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"},"taxes":[{"amount":3500,"rate":"MwSt. 7%"}]}]}},"product":{"description":"A product example","value":{"name":"Alfen Eve Single S-line Wallbox","code":"904460583","categories":["House Connection"],"type":"Product","active":true,"_id":"b7185fb7-b10f-4875-bda7-288631446555","_created_at":"2021-11-10T18:01:39.681Z","_updated_at":"2021-11-11T10:40:23.430Z","_title":"Alfen Eve Single S-line Wallbox","_tags":["product review demo"],"feature":[{"_tags":[],"feature":"Bis zu 11 kW Ladeleistung (5x schneller laden)"},{"_tags":[],"feature":"Konfigurierbare Ladeleistung"},{"_tags":[],"feature":"Zugangskontrolle über RFID-Karten"}],"_images":{"type":"image","attachments":[{"key":"files/ckvtu0lq5000108me1pdc7y4k/original","mime":"image/jpeg","name":"juice-charger-me_closeup_bottom.jpeg","size":38210,"image_url":"https://avkhavsdjq.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu0lq5000108me1pdc7y4k/original?w=100","download_url":"https://e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu0lq5000108me1pdc7y4k/original","alt_text":""},{"key":"files/ckvtu06ny000008me01xl79ot/original","mime":"image/jpeg","name":"eve-single-s-line-socket-front-_1__web_1.jpeg","size":11587,"image_url":"https://avkhavsdjq.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu06ny000008me01xl79ot/original?w=100","download_url":"https://e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu06ny000008me01xl79ot/original","alt_text":""}]},"_files":{"type":"file","attachments":[{"key":"files/ckvutl6wp00000al5cx8063nz/original","mime":"application/pdf","name":"Wallbox_Pulsar-Plus_technisches-Datenblatt.pdf","size":171501,"image_url":"https://avkhavsdjq.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvutl6wp00000al5cx8063nz/original?w=100","download_url":"https://e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvutl6wp00000al5cx8063nz/original","alt_text":""}]}}},"price":{"description":"A price example","value":{"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","_schema":"price","_id":"8ca293d6-89f5-4b20-98f5-fa68341ef611","_org":"739224","_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}},"fileField":{"description":"A File Field example","value":{"type":"image","attachments":[{"key":"files/ckvtu0lq5000108me1pdc7y4k/original","mime":"image/jpeg","name":"juice-charger-me_closeup_bottom.jpeg","size":38210,"image_url":"https://avkhavsdjq.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu0lq5000108me1pdc7y4k/original?w=100","download_url":"https://e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu0lq5000108me1pdc7y4k/original","alt_text":""},{"key":"files/ckvtu06ny000008me01xl79ot/original","mime":"image/jpeg","name":"eve-single-s-line-socket-front-_1__web_1.jpeg","size":11587,"image_url":"https://avkhavsdjq.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu06ny000008me01xl79ot/original?w=100","download_url":"https://e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/ckvtu06ny000008me01xl79ot/original","alt_text":""}]}}}}}')}},t={};return function a(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,a),n.exports}(914)})());
1
+ !function(e,t){for(var a in t)e[a]=t[a];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=i(a(279));t.default=r.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"}],"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"},"examples":{"Cart with Line Items":{"$ref":"#/components/examples/cartCreationPayload"}}}}},"responses":{"200":{"description":"The updated Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/cart"}}}}},"201":{"description":"The new Cart.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cart"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/cart"}}}}},"400":{"description":"Invalid payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Modifying a cart marked as complete":{"value":{"message":"The cart is marked as complete and can no longer be modified."}},"Modifying a cart with an invalid price":{"value":{"message":"The cart update failed due to an invalid price provided."}},"Modifying a cart with an invalid product":{"value":{"message":"The cart update failed due to an invalid provided provided."}}}}}}}}},"/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"},"examples":{"Cart with Totals and Tax Breakdown":{"$ref":"#/components/examples/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"},"examples":{"Content of the deleted Cart":{"$ref":"#/components/examples/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"},"examples":{"Sample order creation":{"$ref":"#/components/examples/orderCreationPayload"}}}}},"responses":{"200":{"description":"The updated Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"},"examples":{"Order with Totals and Tax Breakdown":{"$ref":"#/components/examples/order"}}}}},"201":{"description":"The new Order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"},"examples":{"Order with Totals and Tax Breakdown":{"$ref":"#/components/examples/order"}}}}},"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"}}}]}},"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"}}},"BillingEmail":{"type":"object","description":"An order billing email","properties":{"_tags":{"type":"array","items":{"type":"string"}},"billing_email":{"type":"string"}}},"BillingPhone":{"type":"object","description":"An order billing phone","properties":{"_tags":{"type":"array","items":{"type":"string"}},"billing_phone":{"type":"string"}}},"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":"array","description":"A list of emails.","items":{"oneOf":[{"$ref":"#/components/schemas/BillingEmail"}]}},"billing_phone":{"type":"array","description":"A list of phone numbers.","items":{"oneOf":[{"$ref":"#/components/schemas/BillingPhone"}]}},"billing_address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"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":{"type":"string","readOnly":true,"description":"Three-letter ISO currency code, in lowercase. The currency is inferred from the price.\\n"},"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"},"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"}},"example":{"$ref":"#/components/examples/pricingDetails"}},"Price":{"type":"object","description":"The price configuration","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":{"type":"string"},"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"}},"example":{"$ref":"#/components/examples/price"}},"Address":{"type":"object","additionalProperties":true,"properties":{"street1":{"type":"string","description":"The first line of the address. Typically the street address or PO Box number."},"street2":{"type":"string","description":"The second line of the address. Typically the number of the apartment, suite, or unit."},"city":{"type":"string","description":"The name of the city, district, village, or town."},"country":{"type":"string","description":"The name of the country."},"country_code":{"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"}}}},"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":"open","cart_id":"p0ZoB1FwH6","order_number":"20201021-234324","_org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","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","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"}}},"cart":{"description":"Example of a Shopping Cart","value":{"id":"p0ZoB1FwH6","status":"open","org_id":123,"customer":{"first_name":"john","last_name":"doe","company_name":"company limited","vat_id":"123892321","email":"johndoe@company.com","phone":"+44233242423"},"metadata":[{"key":"journey-id","value":"8d0a2235-97ce-42d0-88a3-e374634ca44e"}],"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":[{"id":"mSjGCTfn8w","description":"Wallbox Premium - Premium Price","currency":"EUR","amount_subtotal":50000,"amount_total":61500,"quantity":1,"unit_amount":78900,"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","description":"Wallbox Basic with Full Add-ons - Basic Price","currency":"EUR","amount_subtotal":50000,"amount_total":53500,"unit_amount":78900,"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"}},"cartCreationPayload":{"description":"Example of a Cart creation payload","value":{"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_id":"b7185fb7-b10f-4875-bda7-288631446555","price_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9"},{"quantity":1,"product_id":"zzzzzz-b10f-4875-bda7-288631446555","price_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9"}]}},"orderCreationPayload":{"description":"Example of an Order creation payload","value":{"order_number":"a34234jd","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","billing_phone":"+1234234545","billing_address":"wallstreet, 1","line_items":[{"quantity":1,"product_id":"b7185fb7-b10f-4875-bda7-288631446555","price_id":"df240bab-9f71-4a9a-a9e1-59f18827dbf9"},{"quantity":1,"product_id":"zzzzzz-b10f-4875-bda7-288631446555","price_id":"zzzzz-9f71-4a9a-a9e1-59f18827dbf9"}]}},"order":{"description":"Example of an Order","value":{"_id":"d1ZoC1FwZ6","type":"open","cart_id":"p0ZoB1FwH6","order_number":"20201021-234324","_org_id":123,"customer":"fe2ce36e-7577-4dff-b33e-1c7da6f91c89","customer_email":"johndoe@epilot.cloud","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","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"}},"price":{"description":"A price example","value":{"unit_amount":78943,"unit_amount_decimal":"789.43","unit_amount_currency":"EUR","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","_schema":"price","_id":"8ca293d6-89f5-4b20-98f5-fa68341ef611","_org":739224,"_created_at":"2021-11-10T18:02:58.318Z","_updated_at":"2021-11-10T18:02:58.318Z","_title":"Winter Sale"}},"pricingDetails":{"description":"A price items calculation result example","value":{"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%"}]},"items":[{"id":"mSjGCTfn8w","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","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"}}]}}}}}')}},t={};return function a(i){if(t[i])return t[i].exports;var r=t[i]={exports:{}};return e[i].call(r.exports,r,r.exports,a),r.exports}(914)})());
package/dist/openapi.d.ts CHANGED
@@ -9,6 +9,47 @@ import {
9
9
 
10
10
  declare namespace Components {
11
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
+ street1?: string;
18
+ /**
19
+ * The second line of the address. Typically the number of the apartment, suite, or unit.
20
+ */
21
+ street2?: string;
22
+ /**
23
+ * The name of the city, district, village, or town.
24
+ */
25
+ city?: string;
26
+ /**
27
+ * The name of the country.
28
+ */
29
+ country?: string;
30
+ /**
31
+ * The two-letter code for the country of the address.
32
+ */
33
+ country_code?: string;
34
+ /**
35
+ * An additional description for the address
36
+ */
37
+ additional_info?: string;
38
+ }
39
+ /**
40
+ * An order billing email
41
+ */
42
+ export interface BillingEmail {
43
+ _tags?: string[];
44
+ billing_email?: string;
45
+ }
46
+ /**
47
+ * An order billing phone
48
+ */
49
+ export interface BillingPhone {
50
+ _tags?: string[];
51
+ billing_phone?: string;
52
+ }
12
53
  /**
13
54
  * Supports shopping for products and services until ready for checkout.
14
55
  */
@@ -29,14 +70,9 @@ declare namespace Components {
29
70
  *
30
71
  */
31
72
  readonly status?: "open" | "complete" | "expired";
32
- /**
33
- * ID of an existing Customer, if one exists. Or the customer data object.
34
- */
35
- readonly customer?: string;
36
- /**
37
- * A valid email identifying the customer.
38
- */
39
- customer_email?: string;
73
+ customer?: Customer;
74
+ billing_address?: Address;
75
+ delivery_address?: Address;
40
76
  metadata?: MetaData;
41
77
  line_items?: PriceItems;
42
78
  /**
@@ -54,19 +90,19 @@ declare namespace Components {
54
90
  /**
55
91
  * A valid cart payload from a client.
56
92
  */
57
- export interface CartPayload {
58
- /**
59
- * A valid email identifying the customer.
60
- */
61
- customer_email?: string;
93
+ export interface CartDto {
62
94
  metadata?: MetaData;
63
- line_items?: PriceItemsPayload;
95
+ customer?: Customer;
96
+ billing_address?: Address;
97
+ delivery_address?: Address;
98
+ payment_method?: PaymentMethod;
99
+ line_items: PriceItemsDto;
64
100
  }
65
101
  /**
66
102
  * The cart checkout request payload
67
103
  */
68
104
  export interface CheckoutCart {
69
- cart?: string | CartPayload;
105
+ cart?: string | CartDto;
70
106
  mode?: CheckoutMode;
71
107
  }
72
108
  /**
@@ -79,30 +115,23 @@ declare namespace Components {
79
115
  * The checkout mode for the cart checkout.
80
116
  */
81
117
  export type CheckoutMode = "create_order" | "create_invoice" | "create_quote";
118
+ export interface Customer {
119
+ first_name?: string;
120
+ last_name?: string;
121
+ company_name?: string;
122
+ vat_id?: string;
123
+ /**
124
+ * A valid email identifying the customer.
125
+ */
126
+ email?: string;
127
+ phone?: string;
128
+ }
82
129
  export interface Error {
83
130
  /**
84
131
  * Error message
85
132
  */
86
133
  message: string;
87
134
  }
88
- /**
89
- * The file field
90
- * example:
91
- * {
92
- * "$ref": "#/components/examples/price"
93
- * }
94
- */
95
- export interface FileField {
96
- type?: "file" | "image";
97
- attachments?: ({
98
- key?: string;
99
- mime?: string;
100
- name?: string;
101
- size?: number;
102
- image_url?: string;
103
- download_url?: string;
104
- })[];
105
- }
106
135
  /**
107
136
  * A set of key-value pairs.
108
137
  */
@@ -128,29 +157,30 @@ declare namespace Components {
128
157
  * The Cart Id that originated or is associated with the order
129
158
  */
130
159
  cart_id?: string;
131
- /**
132
- * A valid email identifying the customer.
133
- * When the `customer` field is filled with an ID, this field is populated/overwritten with that customer's email.
134
- *
135
- */
136
- customer_email?: string;
137
- /**
138
- * ID of an existing Customer, if one exists. Or the customer data object.
139
- */
140
- readonly customer?: string;
141
160
  /**
142
161
  * The order status
143
162
  */
144
- type?: "Draft" | "Open" | "Paid" | "Shipped" | "Delivered" | "Complete";
163
+ status?: "Draft" | "Open" | "Paid" | "Shipped" | "Delivered" | "Complete";
164
+ metadata?: MetaData;
145
165
  billing_first_name?: string;
146
166
  billing_last_name?: string;
147
167
  billing_company_name?: string;
148
168
  billing_vat?: string;
149
- billing_email?: string;
150
- billing_phone?: string;
151
- billing_address?: string;
152
- billing_contact?: string;
153
- metadata?: MetaData;
169
+ /**
170
+ * A list of emails.
171
+ */
172
+ billing_email?: (BillingEmail)[];
173
+ /**
174
+ * A list of phone numbers.
175
+ */
176
+ billing_phone?: (BillingPhone)[];
177
+ billing_address?: Address[];
178
+ delivery_address?: Address[];
179
+ payment_method?: PaymentMethod[];
180
+ /**
181
+ * The id of an existing contact.
182
+ */
183
+ readonly contact?: string;
154
184
  line_items?: PriceItems;
155
185
  /**
156
186
  * Total of all items before (discounts or) taxes are applied.
@@ -168,6 +198,23 @@ declare namespace Components {
168
198
  readonly _id?: string;
169
199
  readonly _created_at?: string;
170
200
  readonly _updated_at?: string;
201
+ _tags?: string[];
202
+ }
203
+ /**
204
+ * A PaymentMethod represent your customer's payment instruments.
205
+ *
206
+ */
207
+ export interface PaymentMethod {
208
+ /**
209
+ * The type of the PaymentMethod.
210
+ */
211
+ type?: string;
212
+ /**
213
+ * Contains relevant data associated with the payment method type.
214
+ */
215
+ details?: {
216
+ [name: string]: any;
217
+ };
171
218
  }
172
219
  /**
173
220
  * The price configuration
@@ -185,7 +232,9 @@ declare namespace Components {
185
232
  tiers_mode?: "Standard";
186
233
  type?: "One Time" | "Recurring";
187
234
  billing_period?: "Weekly" | "Monthly" | "Every Quarter" | "Every 6 months" | "Yearly";
188
- unit_amount?: string;
235
+ unit_amount?: number;
236
+ unit_amount_decimal?: string;
237
+ unit_amount_currency?: string;
189
238
  billing_duration_amount?: number;
190
239
  billing_duration_unit?: "Weeks" | "Months" | "Years";
191
240
  notice_time_amount?: number;
@@ -208,6 +257,10 @@ declare namespace Components {
208
257
  */
209
258
  readonly id?: string;
210
259
  metadata?: MetaData;
260
+ /**
261
+ * The unit amount value
262
+ */
263
+ readonly unit_amount?: number;
211
264
  /**
212
265
  * Total before any (discounts or) taxes are applied.
213
266
  */
@@ -217,11 +270,10 @@ declare namespace Components {
217
270
  */
218
271
  readonly amount_total?: number;
219
272
  /**
220
- * Three-letter ISO currency code, in lowercase.
221
- * Defaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.
273
+ * Three-letter ISO currency code, in lowercase. The currency is inferred from the price.
222
274
  *
223
275
  */
224
- currency?: string;
276
+ readonly currency?: string;
225
277
  /**
226
278
  * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name.
227
279
  */
@@ -230,8 +282,15 @@ declare namespace Components {
230
282
  * The quantity of products being purchased.
231
283
  */
232
284
  quantity?: number;
233
- product?: string | Product;
234
- price?: string | Price;
285
+ /**
286
+ * The id of the product.
287
+ */
288
+ product_id?: string;
289
+ /**
290
+ * The id of the price.
291
+ */
292
+ price_id?: string;
293
+ _price?: Price;
235
294
  /**
236
295
  * The taxes applied to the price item.
237
296
  */
@@ -240,14 +299,8 @@ declare namespace Components {
240
299
  /**
241
300
  * Represents a valid price item from a client.
242
301
  */
243
- export interface PriceItemPayload {
302
+ export interface PriceItemDto {
244
303
  metadata?: MetaData;
245
- /**
246
- * Three-letter ISO currency code, in lowercase.
247
- * Defaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.
248
- *
249
- */
250
- currency?: string;
251
304
  /**
252
305
  * The quantity of products being purchased.
253
306
  */
@@ -255,15 +308,16 @@ declare namespace Components {
255
308
  /**
256
309
  * The id of the product.
257
310
  */
258
- product?: string;
311
+ product_id?: string;
259
312
  /**
260
313
  * The id of the price.
261
314
  */
262
- price?: string;
315
+ price_id?: string;
263
316
  /**
264
317
  * The taxes applied to the price item.
265
318
  */
266
- readonly taxes?: (TaxAmountPayload)[];
319
+ readonly taxes?: (TaxAmountDto)[];
320
+ _price?: Price;
267
321
  }
268
322
  /**
269
323
  * Tracks a set of product prices, quantities, (discounts) and taxes.
@@ -272,9 +326,13 @@ declare namespace Components {
272
326
  /**
273
327
  * A valid set of product prices, quantities, (discounts) and taxes from a client.
274
328
  */
275
- export type PriceItemsPayload = (PriceItemPayload)[];
329
+ export type PriceItemsDto = (PriceItemDto)[];
276
330
  /**
277
331
  * The result from the calculation of a set of price items.
332
+ * example:
333
+ * {
334
+ * "$ref": "#/components/examples/pricingDetails"
335
+ * }
278
336
  */
279
337
  export interface PricingDetails {
280
338
  items?: (PriceItem)[];
@@ -288,31 +346,6 @@ declare namespace Components {
288
346
  amount_total?: number;
289
347
  total_details?: TotalDetails;
290
348
  }
291
- /**
292
- * The product configuration
293
- * example:
294
- * {
295
- * "$ref": "#/components/examples/product"
296
- * }
297
- */
298
- export interface Product {
299
- code?: string;
300
- type?: "Product" | "Service";
301
- categories?: string[];
302
- name?: string;
303
- feature?: {
304
- _tags?: string[];
305
- feature?: string;
306
- }[];
307
- active?: boolean;
308
- _id?: string;
309
- _files?: FileField;
310
- _images?: FileField;
311
- _created_at?: string;
312
- _updated_at?: string;
313
- _title?: string;
314
- _tags?: string[];
315
- }
316
349
  /**
317
350
  * A tax amount associated with a specific tax rate.
318
351
  */
@@ -329,7 +362,7 @@ declare namespace Components {
329
362
  /**
330
363
  * A valid tax rate from a client.
331
364
  */
332
- export interface TaxAmountPayload {
365
+ export interface TaxAmountDto {
333
366
  /**
334
367
  * The tax rate applied.
335
368
  */
@@ -360,13 +393,6 @@ declare namespace Components {
360
393
  }
361
394
  }
362
395
  declare namespace Paths {
363
- namespace $CalculatePricing {
364
- export type RequestBody = (Components.Schemas.PriceItems)[];
365
- namespace Responses {
366
- export type $200 = Components.Schemas.PricingDetails;
367
- export type $400 = Components.Schemas.Error;
368
- }
369
- }
370
396
  namespace $CheckoutCart {
371
397
  export interface HeaderParameters {
372
398
  "X-Ivy-Org-ID": Parameters.XIvyOrgID;
@@ -411,7 +437,7 @@ declare namespace Paths {
411
437
  namespace Parameters {
412
438
  export type XIvyOrgID = string;
413
439
  }
414
- export type RequestBody = Components.Schemas.CartPayload;
440
+ export type RequestBody = Components.Schemas.CartDto;
415
441
  namespace Responses {
416
442
  export type $200 = Components.Schemas.Cart;
417
443
  export type $201 = Components.Schemas.Cart;
@@ -498,17 +524,6 @@ export interface OperationMethods {
498
524
  data?: Paths.$UpsertOrder.RequestBody,
499
525
  config?: AxiosRequestConfig
500
526
  ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
501
- /**
502
- * $calculatePricing - calculatePricing
503
- *
504
- * Calculates the pricing amounts for a set of price items, including aggregated totals such as subtotal, total and aggregates per tax rate.
505
- *
506
- */
507
- '$calculatePricing'(
508
- parameters?: Parameters<UnknownParamsObject> | null,
509
- data?: Paths.$CalculatePricing.RequestBody,
510
- config?: AxiosRequestConfig
511
- ): OperationResponse<Paths.$CalculatePricing.Responses.$200 | Paths.$CalculatePricing.Responses.$400>
512
527
  }
513
528
 
514
529
  export interface PathsDictionary {
@@ -589,19 +604,6 @@ export interface PathsDictionary {
589
604
  config?: AxiosRequestConfig
590
605
  ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
591
606
  }
592
- ['/v1/public/pricing:calculate']: {
593
- /**
594
- * $calculatePricing - calculatePricing
595
- *
596
- * Calculates the pricing amounts for a set of price items, including aggregated totals such as subtotal, total and aggregates per tax rate.
597
- *
598
- */
599
- 'post'(
600
- parameters?: Parameters<UnknownParamsObject> | null,
601
- data?: Paths.$CalculatePricing.RequestBody,
602
- config?: AxiosRequestConfig
603
- ): OperationResponse<Paths.$CalculatePricing.Responses.$200 | Paths.$CalculatePricing.Responses.$400>
604
- }
605
607
  }
606
608
 
607
609
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@epilot/pricing-client",
3
- "version": "0.2.3",
3
+ "version": "1.0.2",
4
4
  "description": "Client for epilot Pricing APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://gitlab.com/e-pilot/product/checkout-and-pricing/pricing.git",
9
+ "url": "https://gitlab.com/e-pilot/product/checkout-and-pricing/pricing-api.git",
10
10
  "directory": "client"
11
11
  },
12
- "homepage": "https://gitlab.com/e-pilot/product/checkout-and-pricing/pricing#readme",
12
+ "homepage": "https://gitlab.com/e-pilot/product/checkout-and-pricing/pricing-api/-/blob/main/README.md",
13
13
  "keywords": [
14
14
  "order",
15
15
  "cart",
package/src/openapi.d.ts CHANGED
@@ -9,6 +9,47 @@ import {
9
9
 
10
10
  declare namespace Components {
11
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
+ street1?: string;
18
+ /**
19
+ * The second line of the address. Typically the number of the apartment, suite, or unit.
20
+ */
21
+ street2?: string;
22
+ /**
23
+ * The name of the city, district, village, or town.
24
+ */
25
+ city?: string;
26
+ /**
27
+ * The name of the country.
28
+ */
29
+ country?: string;
30
+ /**
31
+ * The two-letter code for the country of the address.
32
+ */
33
+ country_code?: string;
34
+ /**
35
+ * An additional description for the address
36
+ */
37
+ additional_info?: string;
38
+ }
39
+ /**
40
+ * An order billing email
41
+ */
42
+ export interface BillingEmail {
43
+ _tags?: string[];
44
+ billing_email?: string;
45
+ }
46
+ /**
47
+ * An order billing phone
48
+ */
49
+ export interface BillingPhone {
50
+ _tags?: string[];
51
+ billing_phone?: string;
52
+ }
12
53
  /**
13
54
  * Supports shopping for products and services until ready for checkout.
14
55
  */
@@ -29,14 +70,9 @@ declare namespace Components {
29
70
  *
30
71
  */
31
72
  readonly status?: "open" | "complete" | "expired";
32
- /**
33
- * ID of an existing Customer, if one exists. Or the customer data object.
34
- */
35
- readonly customer?: string;
36
- /**
37
- * A valid email identifying the customer.
38
- */
39
- customer_email?: string;
73
+ customer?: Customer;
74
+ billing_address?: Address;
75
+ delivery_address?: Address;
40
76
  metadata?: MetaData;
41
77
  line_items?: PriceItems;
42
78
  /**
@@ -54,19 +90,19 @@ declare namespace Components {
54
90
  /**
55
91
  * A valid cart payload from a client.
56
92
  */
57
- export interface CartPayload {
58
- /**
59
- * A valid email identifying the customer.
60
- */
61
- customer_email?: string;
93
+ export interface CartDto {
62
94
  metadata?: MetaData;
63
- line_items?: PriceItemsPayload;
95
+ customer?: Customer;
96
+ billing_address?: Address;
97
+ delivery_address?: Address;
98
+ payment_method?: PaymentMethod;
99
+ line_items: PriceItemsDto;
64
100
  }
65
101
  /**
66
102
  * The cart checkout request payload
67
103
  */
68
104
  export interface CheckoutCart {
69
- cart?: string | CartPayload;
105
+ cart?: string | CartDto;
70
106
  mode?: CheckoutMode;
71
107
  }
72
108
  /**
@@ -79,30 +115,23 @@ declare namespace Components {
79
115
  * The checkout mode for the cart checkout.
80
116
  */
81
117
  export type CheckoutMode = "create_order" | "create_invoice" | "create_quote";
118
+ export interface Customer {
119
+ first_name?: string;
120
+ last_name?: string;
121
+ company_name?: string;
122
+ vat_id?: string;
123
+ /**
124
+ * A valid email identifying the customer.
125
+ */
126
+ email?: string;
127
+ phone?: string;
128
+ }
82
129
  export interface Error {
83
130
  /**
84
131
  * Error message
85
132
  */
86
133
  message: string;
87
134
  }
88
- /**
89
- * The file field
90
- * example:
91
- * {
92
- * "$ref": "#/components/examples/price"
93
- * }
94
- */
95
- export interface FileField {
96
- type?: "file" | "image";
97
- attachments?: ({
98
- key?: string;
99
- mime?: string;
100
- name?: string;
101
- size?: number;
102
- image_url?: string;
103
- download_url?: string;
104
- })[];
105
- }
106
135
  /**
107
136
  * A set of key-value pairs.
108
137
  */
@@ -128,29 +157,30 @@ declare namespace Components {
128
157
  * The Cart Id that originated or is associated with the order
129
158
  */
130
159
  cart_id?: string;
131
- /**
132
- * A valid email identifying the customer.
133
- * When the `customer` field is filled with an ID, this field is populated/overwritten with that customer's email.
134
- *
135
- */
136
- customer_email?: string;
137
- /**
138
- * ID of an existing Customer, if one exists. Or the customer data object.
139
- */
140
- readonly customer?: string;
141
160
  /**
142
161
  * The order status
143
162
  */
144
- type?: "Draft" | "Open" | "Paid" | "Shipped" | "Delivered" | "Complete";
163
+ status?: "Draft" | "Open" | "Paid" | "Shipped" | "Delivered" | "Complete";
164
+ metadata?: MetaData;
145
165
  billing_first_name?: string;
146
166
  billing_last_name?: string;
147
167
  billing_company_name?: string;
148
168
  billing_vat?: string;
149
- billing_email?: string;
150
- billing_phone?: string;
151
- billing_address?: string;
152
- billing_contact?: string;
153
- metadata?: MetaData;
169
+ /**
170
+ * A list of emails.
171
+ */
172
+ billing_email?: (BillingEmail)[];
173
+ /**
174
+ * A list of phone numbers.
175
+ */
176
+ billing_phone?: (BillingPhone)[];
177
+ billing_address?: Address[];
178
+ delivery_address?: Address[];
179
+ payment_method?: PaymentMethod[];
180
+ /**
181
+ * The id of an existing contact.
182
+ */
183
+ readonly contact?: string;
154
184
  line_items?: PriceItems;
155
185
  /**
156
186
  * Total of all items before (discounts or) taxes are applied.
@@ -168,6 +198,23 @@ declare namespace Components {
168
198
  readonly _id?: string;
169
199
  readonly _created_at?: string;
170
200
  readonly _updated_at?: string;
201
+ _tags?: string[];
202
+ }
203
+ /**
204
+ * A PaymentMethod represent your customer's payment instruments.
205
+ *
206
+ */
207
+ export interface PaymentMethod {
208
+ /**
209
+ * The type of the PaymentMethod.
210
+ */
211
+ type?: string;
212
+ /**
213
+ * Contains relevant data associated with the payment method type.
214
+ */
215
+ details?: {
216
+ [name: string]: any;
217
+ };
171
218
  }
172
219
  /**
173
220
  * The price configuration
@@ -185,7 +232,9 @@ declare namespace Components {
185
232
  tiers_mode?: "Standard";
186
233
  type?: "One Time" | "Recurring";
187
234
  billing_period?: "Weekly" | "Monthly" | "Every Quarter" | "Every 6 months" | "Yearly";
188
- unit_amount?: string;
235
+ unit_amount?: number;
236
+ unit_amount_decimal?: string;
237
+ unit_amount_currency?: string;
189
238
  billing_duration_amount?: number;
190
239
  billing_duration_unit?: "Weeks" | "Months" | "Years";
191
240
  notice_time_amount?: number;
@@ -208,6 +257,10 @@ declare namespace Components {
208
257
  */
209
258
  readonly id?: string;
210
259
  metadata?: MetaData;
260
+ /**
261
+ * The unit amount value
262
+ */
263
+ readonly unit_amount?: number;
211
264
  /**
212
265
  * Total before any (discounts or) taxes are applied.
213
266
  */
@@ -217,11 +270,10 @@ declare namespace Components {
217
270
  */
218
271
  readonly amount_total?: number;
219
272
  /**
220
- * Three-letter ISO currency code, in lowercase.
221
- * Defaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.
273
+ * Three-letter ISO currency code, in lowercase. The currency is inferred from the price.
222
274
  *
223
275
  */
224
- currency?: string;
276
+ readonly currency?: string;
225
277
  /**
226
278
  * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name.
227
279
  */
@@ -230,8 +282,15 @@ declare namespace Components {
230
282
  * The quantity of products being purchased.
231
283
  */
232
284
  quantity?: number;
233
- product?: string | Product;
234
- price?: string | Price;
285
+ /**
286
+ * The id of the product.
287
+ */
288
+ product_id?: string;
289
+ /**
290
+ * The id of the price.
291
+ */
292
+ price_id?: string;
293
+ _price?: Price;
235
294
  /**
236
295
  * The taxes applied to the price item.
237
296
  */
@@ -240,14 +299,8 @@ declare namespace Components {
240
299
  /**
241
300
  * Represents a valid price item from a client.
242
301
  */
243
- export interface PriceItemPayload {
302
+ export interface PriceItemDto {
244
303
  metadata?: MetaData;
245
- /**
246
- * Three-letter ISO currency code, in lowercase.
247
- * Defaults to the customer currency when the customer or customer_email field is provided, or to EUR as a fallback.
248
- *
249
- */
250
- currency?: string;
251
304
  /**
252
305
  * The quantity of products being purchased.
253
306
  */
@@ -255,15 +308,16 @@ declare namespace Components {
255
308
  /**
256
309
  * The id of the product.
257
310
  */
258
- product?: string;
311
+ product_id?: string;
259
312
  /**
260
313
  * The id of the price.
261
314
  */
262
- price?: string;
315
+ price_id?: string;
263
316
  /**
264
317
  * The taxes applied to the price item.
265
318
  */
266
- readonly taxes?: (TaxAmountPayload)[];
319
+ readonly taxes?: (TaxAmountDto)[];
320
+ _price?: Price;
267
321
  }
268
322
  /**
269
323
  * Tracks a set of product prices, quantities, (discounts) and taxes.
@@ -272,9 +326,13 @@ declare namespace Components {
272
326
  /**
273
327
  * A valid set of product prices, quantities, (discounts) and taxes from a client.
274
328
  */
275
- export type PriceItemsPayload = (PriceItemPayload)[];
329
+ export type PriceItemsDto = (PriceItemDto)[];
276
330
  /**
277
331
  * The result from the calculation of a set of price items.
332
+ * example:
333
+ * {
334
+ * "$ref": "#/components/examples/pricingDetails"
335
+ * }
278
336
  */
279
337
  export interface PricingDetails {
280
338
  items?: (PriceItem)[];
@@ -288,31 +346,6 @@ declare namespace Components {
288
346
  amount_total?: number;
289
347
  total_details?: TotalDetails;
290
348
  }
291
- /**
292
- * The product configuration
293
- * example:
294
- * {
295
- * "$ref": "#/components/examples/product"
296
- * }
297
- */
298
- export interface Product {
299
- code?: string;
300
- type?: "Product" | "Service";
301
- categories?: string[];
302
- name?: string;
303
- feature?: {
304
- _tags?: string[];
305
- feature?: string;
306
- }[];
307
- active?: boolean;
308
- _id?: string;
309
- _files?: FileField;
310
- _images?: FileField;
311
- _created_at?: string;
312
- _updated_at?: string;
313
- _title?: string;
314
- _tags?: string[];
315
- }
316
349
  /**
317
350
  * A tax amount associated with a specific tax rate.
318
351
  */
@@ -329,7 +362,7 @@ declare namespace Components {
329
362
  /**
330
363
  * A valid tax rate from a client.
331
364
  */
332
- export interface TaxAmountPayload {
365
+ export interface TaxAmountDto {
333
366
  /**
334
367
  * The tax rate applied.
335
368
  */
@@ -360,13 +393,6 @@ declare namespace Components {
360
393
  }
361
394
  }
362
395
  declare namespace Paths {
363
- namespace $CalculatePricing {
364
- export type RequestBody = (Components.Schemas.PriceItems)[];
365
- namespace Responses {
366
- export type $200 = Components.Schemas.PricingDetails;
367
- export type $400 = Components.Schemas.Error;
368
- }
369
- }
370
396
  namespace $CheckoutCart {
371
397
  export interface HeaderParameters {
372
398
  "X-Ivy-Org-ID": Parameters.XIvyOrgID;
@@ -411,7 +437,7 @@ declare namespace Paths {
411
437
  namespace Parameters {
412
438
  export type XIvyOrgID = string;
413
439
  }
414
- export type RequestBody = Components.Schemas.CartPayload;
440
+ export type RequestBody = Components.Schemas.CartDto;
415
441
  namespace Responses {
416
442
  export type $200 = Components.Schemas.Cart;
417
443
  export type $201 = Components.Schemas.Cart;
@@ -498,17 +524,6 @@ export interface OperationMethods {
498
524
  data?: Paths.$UpsertOrder.RequestBody,
499
525
  config?: AxiosRequestConfig
500
526
  ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
501
- /**
502
- * $calculatePricing - calculatePricing
503
- *
504
- * Calculates the pricing amounts for a set of price items, including aggregated totals such as subtotal, total and aggregates per tax rate.
505
- *
506
- */
507
- '$calculatePricing'(
508
- parameters?: Parameters<UnknownParamsObject> | null,
509
- data?: Paths.$CalculatePricing.RequestBody,
510
- config?: AxiosRequestConfig
511
- ): OperationResponse<Paths.$CalculatePricing.Responses.$200 | Paths.$CalculatePricing.Responses.$400>
512
527
  }
513
528
 
514
529
  export interface PathsDictionary {
@@ -589,19 +604,6 @@ export interface PathsDictionary {
589
604
  config?: AxiosRequestConfig
590
605
  ): OperationResponse<Paths.$UpsertOrder.Responses.$200 | Paths.$UpsertOrder.Responses.$201 | Paths.$UpsertOrder.Responses.$400>
591
606
  }
592
- ['/v1/public/pricing:calculate']: {
593
- /**
594
- * $calculatePricing - calculatePricing
595
- *
596
- * Calculates the pricing amounts for a set of price items, including aggregated totals such as subtotal, total and aggregates per tax rate.
597
- *
598
- */
599
- 'post'(
600
- parameters?: Parameters<UnknownParamsObject> | null,
601
- data?: Paths.$CalculatePricing.RequestBody,
602
- config?: AxiosRequestConfig
603
- ): OperationResponse<Paths.$CalculatePricing.Responses.$200 | Paths.$CalculatePricing.Responses.$400>
604
- }
605
607
  }
606
608
 
607
609
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>