A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Good afternoon everyone,
Using Shopify Admin REST API, I'm creating orders into my customer's Shopify store. Into said orders, I'm also pushing a list of line_items.
The goal is to allow the merchant to process its inbound orders as if they were created on the Shopify storefront
Here's an example of the payload I send :
{
"order": {
"currency": "CAD",
"email": "whatever@wherever.ca",
"customer_locale": "fr_CA",
"billing_address": {
...
},
"shipping_address": {
...
},
"subtotal_price": 32.99,
"total_price": 49.42,
"total_tax": 4.94,
"total_shipping_price_set": {
...
},
"phone": "+15146657570",
"total_weight": 1,
"total_discounts": 0,
"tags": "PanierBleu",
"shipping_lines": [
{
...
}
],
"line_items": [
{
"price": 32.99,
"quantity": 1,
"name": "Gundam 1/144 Astray Red Frame RG",
"title": "Gundam 1/144 Astray Red Frame RG",
"variant_id": 7349540913370
}
],
"tax_lines": [
{
...
}
],
"discount_codes": [
{
...
}
]
}
}
The problem I have is that Shopify does not seem to "recognize" the variant I'm providing as a line item. Here is what is returned
{
"order": {
"id": 4858931609818,
"admin_graphql_api_id": "gid://shopify/Order/4858931609818",
"app_id": 6817847,
"browser_ip": null,
"buyer_accepts_marketing": false,
"cancel_reason": null,
"cancelled_at": null,
"cart_token": null,
"checkout_id": null,
"checkout_token": null,
"closed_at": null,
"confirmed": true,
"contact_email": "whatever@wherever.com",
"created_at": "2022-08-10T11:55:30-04:00",
"currency": "CAD",
"current_subtotal_price": "32.99",
"current_subtotal_price_set": {
"shop_money": {
"amount": "32.99",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "32.99",
"currency_code": "CAD"
}
},
"current_total_discounts": "0.00",
"current_total_discounts_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "CAD"
}
},
"current_total_duties_set": null,
"current_total_price": "49.42",
"current_total_price_set": {
"shop_money": {
"amount": "49.42",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "49.42",
"currency_code": "CAD"
}
},
"current_total_tax": "4.94",
"current_total_tax_set": {
"shop_money": {
"amount": "4.94",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "4.94",
"currency_code": "CAD"
}
},
"customer_locale": null,
"device_id": null,
"discount_codes": [],
"email": "whatever@wherever.com",
"estimated_taxes": false,
"financial_status": "paid",
"fulfillment_status": null,
"gateway": "",
"landing_site": null,
"landing_site_ref": null,
"location_id": null,
"name": "#1290",
"note": null,
"note_attributes": [],
"number": 290,
"order_number": 1290,
"order_status_url": "https://thatsuperspecialstore.myshopify.com/60861546714/orders/5bb111f5df9c9eb86df0d83e3423144f/authenticate?key=95953fe532122aa1f81c7db6f961ba41",
"original_total_duties_set": null,
"payment_gateway_names": [],
"phone": "+15146657570",
"presentment_currency": "CAD",
"processed_at": "2022-08-10T11:55:30-04:00",
"processing_method": "",
"reference": null,
"referring_site": null,
"source_identifier": null,
"source_name": "6817847",
"source_url": null,
"subtotal_price": "32.99",
"subtotal_price_set": {
"shop_money": {
"amount": "32.99",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "32.99",
"currency_code": "CAD"
}
},
"tags": "ThatSuperSpecialStore",
"tax_lines": [
{
"price": "4.94",
"rate": 0.14975,
"title": "GST + QST",
"price_set": {
"shop_money": {
"amount": "4.94",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "4.94",
"currency_code": "CAD"
}
},
"channel_liable": null
}
],
"taxes_included": false,
"test": false,
"token": "5bb111f5df9c9eb86df0d83e3423144f",
"total_discounts": "0.00",
"total_discounts_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "CAD"
}
},
"total_line_items_price": "32.99",
"total_line_items_price_set": {
"shop_money": {
"amount": "32.99",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "32.99",
"currency_code": "CAD"
}
},
"total_outstanding": "49.42",
"total_price": "49.42",
"total_price_set": {
"shop_money": {
"amount": "49.42",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "49.42",
"currency_code": "CAD"
}
},
"total_price_usd": "38.35",
"total_shipping_price_set": {
"shop_money": {
"amount": "11.49",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "11.49",
"currency_code": "CAD"
}
},
"total_tax": "4.94",
"total_tax_set": {
"shop_money": {
"amount": "4.94",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "4.94",
"currency_code": "CAD"
}
},
"total_tip_received": "0.00",
"total_weight": 1,
"updated_at": "2022-08-10T11:55:30-04:00",
"user_id": null,
"billing_address": {
...
},
"customer": {
...
},
"discount_applications": [],
"fulfillments": [],
"line_items": [
{
"id": 12374006005978,
"admin_graphql_api_id": "gid://shopify/LineItem/12374006005978",
"fulfillable_quantity": 1,
"fulfillment_service": "manual",
"fulfillment_status": null,
"gift_card": false,
"grams": 0,
"name": "Gundam 1/144 Astray Red Frame RG",
"price": "32.99",
"price_set": {
"shop_money": {
"amount": "32.99",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "32.99",
"currency_code": "CAD"
}
},
"product_exists": false,
"product_id": null,
"properties": [],
"quantity": 1,
"requires_shipping": true,
"sku": null,
"taxable": true,
"title": "Gundam 1/144 Astray Red Frame RG",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "CAD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "CAD"
}
},
"variant_id": null,
"variant_inventory_management": null,
"variant_title": null,
"vendor": null,
"tax_lines": [
...
],
"duties": [],
"discount_allocations": []
}
],
"payment_terms": null,
"refunds": [],
"shipping_address": {
...
},
"shipping_lines": [
{
...
}
]
}
}
The fact that Shopify does not recognize the variant makes it so that the Order Listing and Detail pages UI is missing informations. See the small screenshot bellow
Two key elements :
1- I know the variant exists in the Shopify store
2- There are instances where Shopify does recognize the variant and displays the proper information.
So.... what am I missing ?
Thanks in advance for your support
Solved! Go to the solution
This is an accepted solution.
Are you sure that's a variant id and not a product id? Common mistake for people to make so best rule that out first.
This is an accepted solution.
Are you sure that's a variant id and not a product id? Common mistake for people to make so best rule that out first.
Oh my lord, that was it... I'm ashamed 😛
So to be clear, I was sure I was pushing a variant_id when truly I was sending a product_id into the variant_id field.
Thanks @Jason for forcing me to verify the data I was using.
Cheers