SbPublicApiOrderLineItemRequest
snowbee.SbPublicApiOrderLineItemRequest
Either skuId or skuNumber must be provided.
campaignCodeoptionalCode of the campaign this line was sold under, as returned by GET /campaigns. Send it on every line sold under a campaign. For a NORMAL campaign the line must be priced at that SKU's campaignPrice. For a THREE_FOR_TWO, price the line at the basket's answer -- the blended per-unit price after the offer, at most the SKU's normal price -- exactly as a cash register would. Rejected if the code is not a released campaign covering the SKU at the sale instant, or if the line's price does not bear the campaign out.
Example"SUMMER24"netUnitOrderDiscountAmountoptionalPer-unit reduction taken on top of netUnitPrice, such as a gift voucher or a coupon share spread across the order's lines. Not for a campaign price or any other markdown belonging in netUnitPrice: summed into one figure, a campaign markdown and a voucher cannot be told apart afterwards.
- Format: BigDecimal
Example"10.00"netUnitPricerequiredPrice of one unit excluding VAT, as charged to the customer. Send the price after any campaign price or markdown -- not a list price. Where the line was sold under a campaign, this must be that campaign's campaignPrice from GET /campaigns.
- Format: BigDecimal
Example"299.00"quantityrequiredQuantity ordered
- Format: BigDecimal
Example"2.0"skuIdoptionalSKU ID of the product (provide either skuId or skuNumber)
Example"01234567-89ab-cdef-0123-456789abcdef"skuNumberoptionalSKU number/code of the product (provide either skuId or skuNumber)
Example"PROD-BLK-M"vatRaterequiredVAT rate as percentage
- Format: BigDecimal
Example"25.00"
View raw schema
{
"type": "object",
"description": "Either skuId or skuNumber must be provided.",
"properties": {
"campaignCode": {
"type": [
"null",
"string"
],
"description": "Code of the campaign this line was sold under, as returned by GET /campaigns. Send it on every line sold under a campaign. For a NORMAL campaign the line must be priced at that SKU's campaignPrice. For a THREE_FOR_TWO, price the line at the basket's answer -- the blended per-unit price after the offer, at most the SKU's normal price -- exactly as a cash register would. Rejected if the code is not a released campaign covering the SKU at the sale instant, or if the line's price does not bear the campaign out.",
"example": "SUMMER24",
"title": "String"
},
"netUnitOrderDiscountAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Per-unit reduction taken on top of netUnitPrice, such as a gift voucher or a coupon share spread across the order's lines. Not for a campaign price or any other markdown belonging in netUnitPrice: summed into one figure, a campaign markdown and a voucher cannot be told apart afterwards.",
"example": "10.00",
"title": "BigDecimalAsString"
},
"netUnitPrice": {
"type": "string",
"format": "BigDecimal",
"description": "Price of one unit excluding VAT, as charged to the customer. Send the price after any campaign price or markdown -- not a list price. Where the line was sold under a campaign, this must be that campaign's campaignPrice from GET /campaigns.",
"example": "299.00",
"title": "BigDecimalAsString"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity ordered",
"example": "2.0",
"title": "BigDecimalAsString"
},
"skuId": {
"type": [
"null",
"string"
],
"description": "SKU ID of the product (provide either skuId or skuNumber)",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": [
"null",
"string"
],
"description": "SKU number/code of the product (provide either skuId or skuNumber)",
"example": "PROD-BLK-M",
"title": "String"
},
"vatRate": {
"type": "string",
"format": "BigDecimal",
"description": "VAT rate as percentage",
"example": "25.00",
"title": "BigDecimalAsString"
}
},
"required": [
"netUnitPrice",
"quantity",
"vatRate"
],
"title": "SbPublicApiOrderLineItemRequest"
}