express shopify注册webhook
时间: 2023-09-11 13:12:57 浏览: 44
要在Express应用程序中注册Shopify Webhook,可以使用shopify-node-api和express框架。下面是一个示例代码来注册一个Webhook:
```javascript
const Shopify = require('shopify-node-api');
const express = require('express');
const bodyParser = require('body-parser');
const shopify = new Shopify({
shop: 'your-shop-name.myshopify.com',
accessToken: 'your-oauth-token',
});
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/webhooks/products/create', (req, res) => {
console.log('New product created:', req.body);
res.sendStatus(200);
});
const webhook = {
topic: 'products/create',
address: 'https://your-app.com/webhooks/products/create',
format: 'json',
};
shopify.post('/admin/webhooks.json', { webhook }, (err, data, headers) => {
if (err) {
console.log('Error registering webhook:', err);
} else {
console.log('Webhook successfully registered:', data.webhook);
}
});
app.listen(3000, () => {
console.log('App listening on port 3000!');
});
```
在上面的代码中,我们首先创建一个Shopify实例,并使用它来注册Webhook。然后,我们使用express框架创建一个HTTP服务器,并为Webhook的URL路径创建一个POST路由。在路由处理程序中,我们可以处理接收到的Webhook数据。最后,我们使用Shopify API将Webhook注册到商店中。
注意,我们在Webhook地址中使用了公共URL,这意味着您需要在您的应用程序中设置公共URL,并将其用作Webhook地址。此外,您需要在Shopify后台中配置相应的Webhook主题,以便将Webhook发送到正确的URL地址。