Hi everyone,
I’m a non-developer who has built a Shopify app called Oh Ship! using Replit (a hosted development platform). The app is a shipping margin analysis tool that pulls order data via the Shopify GraphQL Admin API.
I’m trying to submit the app to the Shopify App Store but I’m stuck on the GDPR compliance webhook check in the Partner Dashboard. I’m hoping someone can help me resolve this in simple terms.
Here’s where I am:
The three mandatory GDPR webhook endpoints are built and working correctly in the code:
-
https://oh-ship.store/api/webhooks/customers/data_request -
https://oh-ship.store/api/webhooks/customers/redact -
https://oh-ship.store/api/webhooks/shop/redact
All three have been tested and return 200 for valid requests and 401 for invalid HMAC signatures. The HMAC verification is implemented correctly using raw body parsing before JSON, HMAC-SHA256 with the app secret, and timing-safe comparison.
The problem:
Shopify’s Partner Dashboard compliance check is not showing these webhooks as registered. Shopify support has told me to:
-
Run
shopify app config linkin the root of the app directory -
Add the webhook endpoints to the generated config file
-
Run
shopify app deployto push the configuration
The issue I’m having:
My app was built on Replit as a custom Express.js app — not using the Shopify CLI workflow. When we tried running shopify app config link in Replit, we were told the app doesn’t have a shopify.app.toml file because it wasn’t built with the Shopify CLI. The Shopify CLI commands don’t seem to apply to our setup.
What I need help with:
Can anyone advise the simplest way to get the GDPR compliance webhooks to show as registered in the Shopify Partner Dashboard, given that:
-
The app is a custom Express.js app hosted on Replit
-
It was not built using the Shopify CLI
-
The webhook endpoints are already built and working
-
I am not a developer and need simple, step-by-step instructions
Is there a way to register the webhooks via the Partner Dashboard UI directly, or via a GraphQL API call, without needing the Shopify CLI? Or is there another approach I’m missing?
Any help would be massively appreciated — this is the last blocker before I can submit the app for review.
Thanks in advance