Hi everyone,
We are currently fetching order data using version 2023-07 of the Shopify Admin API via the /admin/api/2023-07/orders.json endpoint.
While reviewing our order logs, we noticed that “Item Personalization” items (presumably generated by a third-party product customizer/personalization app) are coming in as completely separate line items within the line_items array, rather than as properties of the main product.
Here is a simplified version of the response structure we are receiving (some fields have been omitted for brevity):
{
"orders": [
{
"id": 18750466162733,
"name": "#1027",
"currency": "USD",
"//": "... omitted for brevity ...",
"line_items": [
{
"id": 50397155950637,
"name": "[AMN] Juan stretch chef coat #AJ2016 White - Men M (100)",
"//": "..."
},
{
"id": 50397155983405,
"name": "[AMN] Juan stretch chef coat #AJ2016 White - Men M (100)",
"//": "..."
},
{
"id": 50397156016173,
"product_id": 6904571822125,
"variant_id": 40157527179309,
"name": "Item Personalization",
"title": "Item Personalization",
"price": "0.01",
"quantity": 300,
"current_quantity": 300,
"sku": "",
"vendor": "A MONT",
"requires_shipping": false,
"taxable": false,
"properties": [
{
"name": "_pc_pricing_ref",
"value": "127041699"
}
]
},
{
"id": 50397156048941,
"name": "#AJ1867 Danjo Sushi Chef Coat - M (95)",
"//": "..."
},
{
"id": 50397156081709,
"product_id": 6904571822125,
"variant_id": 40157527179309,
"name": "Item Personalization",
"title": "Item Personalization",
"price": "0.01",
"quantity": 300,
"current_quantity": 300,
"sku": "",
"vendor": "A MONT",
"requires_shipping": false,
"taxable": false,
"properties": [
{
"name": "_pc_pricing_ref",
"value": "112873737"
}
]
}
]
}
]
}
Regarding this behavior, we have two questions:
Is it standard Shopify behavior for app-generated personalization options to be treated as independent line items like this, instead of being nested under the main product?
If anyone has experience or best practices for mapping these “Item Personalization” line items back to their parent (main) products using the reference keys in properties (such as _pc_pricing_ref), could you please share your insights or logic?
Any help or documentation pointers would be greatly appreciated.
Thank you!