Hey folks,
I’d like to request an update to the CheckoutProfile object in the Admin GraphQL API to include enabled app blocks.
Each app block should include:
- handle
- target
- url to extension in Checkout editor
- whether the “Allow app to block checkout” checkbox is checked
- whether the “Include app block in Shop Pay” checkbox is checked
This would be incredibly helpful for us in guiding merchants during their initial setup and alerting them if something is misconfigured (e.g., an app block is missing or one of the checkboxes is unchecked).
Why:
Even with clear instructions, many merchants overlook adding required app blocks or forget to check the “Include app block in Shop Pay” option. This leads them to believe our app isn’t working on Shop Pay.
Thanks!
6 Likes
Dear Shopify,
This is an incredibly important feature request, especially for companies that have serious partnerships involving large contracts with large merchants turning over millions per year.
It’s already extremely disappointing that we can no longer offer a low-touch solution for these partners. The fact that we also don’t have visibility over whether or not they have completed the steps makes the process that much harder and relies on manual communication.
Merchants that turn on Checkout extensibility and don’t add our ui extensions, literally breaks functionality and there’s no work-around.
Please take this issue seriously as the move to Checkout UI extensions is already painful as it is.
1 Like
Hey @Patrick_Jakubik! This is on our roadmap, hopefully for the first half of next year!
This is now “possible” through GraphQL, but it’s not pretty.
You’d have a query something along these lines:
query currentThemeFetch($filenames: [String!]) {
themes(roles: [MAIN], first: 1) {
nodes {
id
files(first: 1, filenames: $filenames) {
nodes {
body {
__typename
... on OnlineStoreThemeFileBodyText {
content
}
}
}
}
}
}
}
The OnlineStoreThemeFileBodyText.content
is not valid JSON (it is JSONC). So, you’ll likely have to strip out the comments without breaking the JSON in order to parse it.
Once you strip out the comments you can parse it and search the object for your expected app block. This “worked” for me, but seems rather vulnerable to breaking.
Hi, I assume you’re referring to theme blocks, correct? Just to clarify, this discussion is focused specifically on checkout app blocks.