Topics covering webhook creation & management, event handling, Pub/Sub, and Eventbridge, in Shopify apps.
I am trying to register a new webhook for order_transactions/create topic, however in order to use webhook validation I need to be able to get raw data sent with the requests.
Due to limitations of a system handling webhooks (nodered), when receiving json I can only get a processed object (which do not have the same checksum as raw data), so I started using XML format.
This is allowed and works ok for orders/create topic - however turns out, that in order to get additional information about transactions (mainly gift card information) I have to also subscribe to order_transactions/create topic.
The problem is, when trying to subscribe with XML format I'm receiving "Format 'xml' is invalid for this webhook topic. Allowed formats: json" error message.
Is there a particular reason why this topic can only send json data?
Or maybe (and actually preferably) - is there a way to receive the transactions information (like gift card data used for payment) along with standard "orders/create" topic?
Hi Unified,
I'm unsure exactly why the order_transactions webhook doesn't send data in XML format, but one option could be to set up a middleware service (like a small Express.js server) that receives the JSON webhook from Shopify. This middleware can then convert the JSON to XML and forward it to your nodered instance.
Would this help for this usecase?
Liam | Developer Advocate @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog