The order item object

Data model description

Order Items are always specified within the order object. They can be related either to products or SKUs.

Product/SKU details sent within an order item will be used on top of Product/SKU already stored in the system during the Redeem Voucher, Validate Voucher, Validate Promotions and Redeem Promotion requests - details in the table below.

AttributesDescriptionExample
product_id
string
prod_anJ03RZZq74z4v
sku_id
string
sku_0KtP4rvwEECQ2U
related_object
string
Used along source_id property, can be set either to sku or productproduct
source_id
string
The merchant’s product/SKU ID (if it is different from the Voucherify product/SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce, a database or a 3rd party service.product_1234
quantity
integer
2
initial_quantity
integer
initial quantity of the item in cart before the applied discount (i.e. excludes free items)1
discount_quantity
integer
number of items being discounted1
price
integer
1000
amount
integer
Represents a total amount of order item (price * quantity).

You should provide it to retrieve discount_amount if the discount is applied only to this item.
2000
initial_amount
integer
initial amount spent on item prior to applying discount10
subtotal_amount
integer
final item amount (price*quantity) after applied discount that will be added to the total order amount5
product
object
An object containing details of related product. Those details will be used for validation and redemption processes on top of details already stored in system.

name: string
metadata: object
* override: true / false

The override is used once the product should be stored in system. If product does not exists it will be created with the use of source_id
"product": { "override": true, "name": "Apple iPhone 8", "metadata": { "shop": "citycenter" } }
sku
object
An object containing details of related SKU. Those details will be used for validation and redemption processes on top of details already stored in system.

sku: string
override: true / false

The override is used once the product should be stored in system. If sku does not exists it will be created with the use of source_id. If sku does not exists it's required to set product_id that it belongs to.
"sku": { "override": true, "sku": "Apple iPhone 8 Silver 64GB" }
metadata
object
Gathers custom attributes in key/value pairs assigned to order item as metadata."metadata":{ "test": true }
{
    "id": "ord_Rm1hlzO0jUyci39LoowoJqND",
    "source_id": null,
    "object": "order",
    "created_at": "2017-05-24T15:27:41.008Z",
    "updated_at": null,
    "status": "CREATED",
    "amount": 20050,
    "items": [
        {
            "sku_id": null,
            "quantity": 2,
            "product_id": "prod_anJ03RZZq74z4v",
            "product": {
                "override": true,
                "name": "Apple iPhone 8",
                "metadata": {
                    "shop": "citycenter"
                }
            },
            "metadata": {
                "series": "2022-783CV"
            }
        },
        {
            "sku_id": "sku_0KtP4rvwEECQ2U",
            "quantity": 1,
            "product_id": null,
            "sku": {
                "override": true,
                "sku": "Apple iPhone 8 Silver 64GB"
            }
        }
    ],
    "customer": {
        "object": "customer",
        "id": "cust_54euyQiFb4UYIP9wEOw7FgUA"
    },
    "metadata": null
}