I have reproduced the issue on the latest CLI version.
Yes, I am on the latest version
I have searched existing posts and this report is not a duplicate.
Yes, this isn’t a duplicate
In which of these areas are you experiencing a problem?
Other
Expected behavior
The webhook handling code provided by the Shopify app generator (Ruby gem) should work
Actual behavior
It fails with error “ArgumentError (missing keywords: :topic, :shop, :body, :webhook_id, :api_version):” , when a webhook is received
Reproduction steps
Create a new Rails app, install the latest version of shopify_app gem (23.0.3) , run the setup steps following README.md on the repository (shopify_app/README.md at main · Shopify/shopify_app · GitHub)
Then receive a webhook, I have used the app uninstallation webhook (any default generated webhook will reproduce this issue), then the error will appear.
This happens because the webhook from shopify_api gem, has updated to return a whole “data” object, instead of separate “topic” , “shop”, “body”, and the template on shopify_app gem has not reflected this change.
Solution: update the handle method signature, claude answer : Claude
Verbose output
ArgumentError (missing keywords: :topic, :shop, :body, :webhook_id, :api_version):
Operating system
macOS Sequoia
CLI version
4.5.2
Shell
zsh
What language and version are you using in your application?
Ruby 4.0.6