Hi Shopify Community and Support,
We’re a Shopify Partner currently migrating one of our apps, which uses the Shopify Order API, from REST to GraphQL. We’re doing this to align with the platform’s evolving standards.
During this transition, we’ve noticed that certain fields that are available in the REST Order API response are currently missing from the GraphQL Order API response. The specific fields we’re looking for are:
cart_token
checkout_token
checkout_id
client_details
To maintain full functionality for our merchants, we’re temporarily relying on the REST API for these particular fields. We’re also planning to utilize the order creation webhooks, as they currently include this data and match the REST API structure.
We’d appreciate any insights you could provide regarding the future availability of these fields:
- Are there plans to include
cart_token
, checkout_token
, checkout_id
, and client_details
in the GraphQL Order API response in future updates?
- Is there a roadmap for deprecating the current order creation webhook, or changing its structure to align with the GraphQL API response?
- If the order creation webhook does change to match GraphQL, will these specific fields (
cart_token
, checkout_token
, checkout_id
, client_details
) continue to be part of the webhook payload?
1 Like
Hey @Ramesh_Yoha!
Looking at the specific fields you mentioned, cart_token
and checkout_token
are actually marked as deprecated in the REST API documentation, so they’ll likely be removed from webhooks as well at some point.
For client_details
, this data is actually available in GraphQL through the customerJourneySummary
field on the Order object, which provides much richer customer journey information including UTM parameters, referrer data, and conversion timing.
I’m not seeing checkout ID on our oldest REST version. Is this field nested within a different object?
I’d love to dig deeper into your specific use cases for these fields though. Can you share a bit more about how you’re currently using these fields in your app? With that context, we can look at the best GraphQL alternatives that’ll get you as close as possible to your current functionality.
Hi Kyle,
Thanks for your reply!
I’m working with Ramesh and would like to answer your questions.
Regarding the presence of client_details in GraphQL, while we have some data available in customerJourneySummary, there’s no user_agent field that we are actively using to enrich the data. Is there any other field that holds details of the browsing client, including software and operating versions?
The checkout_id field can’t be found currently on Shopify REST documentation, but it’s present in the API call response and also in the webhook:
We are using it’s value as a gateway transaction id.
Thanks for that context Nick.
For the enriched browser data, have you looked in to using web pixels?
For the checkout ID, since it isn’t a documented field, I wouldn’t rely on that too much. However, the webhooks are versions just as our API, so you can check this reference and example payloads to confirm what is available between versions Webhooks
Specifically for the gateway transaction ID, have you checked the fields in the transaction object to see if any of those would map better? Order - GraphQL Admin
Hey! Will any of the above fields work for you?
Hi Kyle!
Thanks for your answer!
I’m checking this with my team and will send additional information later.
2 Likes
Hey Nick, are you still experiencing this issue, or can I mark this as solved?
Hi Kyle,
We’re still awaiting additional information from the relevant people on our end. Can we keep this open for some time? I will send another reply as soon as I can.
Thanks!
1 Like
Hey Nick! Just checking in here to see if you’re needing more help.