I have a legacy public app that hasn’t yet been migrated to the CLI system. My app previously used the REST API to create webhook subscriptions on each store that installed the app. The webhook subscriptions’ API version was controlled via the Partner Dashboard app configuration screen.
I’m now upgrading my app to use API version 2025-01. I saw that the REST API no longer supported webhook subscription management, so I updated my app to use GraphQL for all webhook-related tasks. Then, I went to the Partner dashboard to update configuration there, but found that it is no longer possible to manage app config via the dashboard, and I must update my app to the CLI system.
I think I have a handle on migrating my app to use the CLI system. Since I don’t have any extensions, it seems pretty straight forward. But, what effects, if any, does this have on webhook subscriptions? I believe that I’ll now have to set my API and webhook event API versions in the toml config file, then deploy the updated app version. But, does this automatically affect the existing webhook subscriptions on each shop that were created via REST? It seems that there’s now a thing called app subscriptions that are different from the shop subscriptions that I’ve been creating. I’m not sure if I know enough yet to ask intelligent questions, but here are some that I currently have:
- Are app subscriptions applied to each shop that installs my app? Meaning, that in most cases you’d only use shop subscriptions if one-off webhooks were needed?
- If so, should I delete all existing shop subscriptions (about 8 per shop over thousands of shops) and then add app-level subscriptions?
- Does the toml webhooks api version config value affect shop subscriptions? Or only app subscriptions?
- If only app subscriptions, would I need to delete and re-create every shop subscription after my app version is deployed in order to get every subscription updated to use the new version?
- I can currently query (previously via REST, and now via GraphQL) to get a list of webhook subscriptions on a particular shop. If I switch from shop to app subscriptions, is there a way to query to see and verify the webhook subscriptions, including versions and endpoints, that apply to that shop, even if its an app subscription? Or do I just have to view my config file and assume that “its good”?
- More generally, are there any other caveats or changes in relation to webhooks that I should be aware of when migrating to a CLI app?
Thanks in advance for any help.