# Add orders in bulk Imports multiple orders for a specific contract in a single operation. This endpoint supports bulk order processing to efficiently manage large volumes of order data. All orders in the request are processed atomically. Endpoint: POST /api/2/v/contracts/{contractId}/orders Version: 0.0.7224 Security: BasicAuth, BearerAuth ## Path parameters: - `contractId` (string, required) Unique identifier of the contract Example: "qbcxvb" ## Request fields (application/json): - `orders` (array, required) Orders in bulk - `orders.shippingCosts` (number, required) Shipping costs of the order - `orders.orderId` (string, required) Unique id of an order. It must mean unique in the shop, not in the pricemonitor. - `orders.items` (array, required) List of bought items - `orders.items.itemId` (string, required) ID of the item in the customer's system. It is expected to be the customerProductId. It should be guaranteed that the itemId can be always assigned to only one product or variant. - `orders.items.unitPrice` (number, required) Gross unit price of a single item, including applicable taxes. - `orders.items.quantity` (integer, required) How often the item was purchased. - `orders.items.taxPercentage` (number) Tax percentage applied on the unit price, e.g. 20 for 20% tax. This percentage is used to determine the tax component of the unitPrice, but the unitPrice itself already includes this tax. - `orders.totalPrice` (number, required) Total price of the order - `orders.productMappings` (array, required) A relation from the products in your system to the pricemonitor. Currently it must contain exactly one element. - `orders.productMappings.source` (string, required) Identifier field within item. Only valid value is 'itemId' - `orders.productMappings.target` (string, required) Must be 'customerProductId' or 'productId' since plugins are still publishing both values. The semantics are actually the same. In both cases they address the customerProductId. - `orders.origin` (string, required) Origin of an order, e.g. the online shop were the order is placed - `orders.creationDate` (string, required) Date when the order is created in UTC - `orders.currency` (string, required) Currency used in the order. ISO 4217 Currency Codes: e.g. EUR - `orders.referrer` (string) Referrer of an order. Third party (e.g. marketplace) which referred the customer to the online shop - `version` (string, required) Version of orders ## Response 200 fields (application/json): - `data` (array) - `data.errors` (array) - `data.errors.code` (string, required) Machine-readable error code for programmatic error handling. Typically follows a structured format like 'request.invalid' or 'resource.invalid'. Example: "request.invalid" - `data.errors.message` (string, required) Human-readable error message providing details about the issue Example: "The provided email address is not in a valid format" ## Response 400 fields (application/json): - `data` (array) - `data.errors` (array) - `data.errors.code` (string, required) Machine-readable error code for programmatic error handling. Typically follows a structured format like 'request.invalid' or 'resource.invalid'. Example: "request.invalid" - `data.errors.message` (string, required) Human-readable error message providing details about the issue Example: "The provided email address is not in a valid format"