Reported problems with webhooks

Highlighted
New Member
1 0 0

Hi,

 

We are developing a new app to integrate with Shopify.  Our architecture has been designed to work with webhooks.

 

That said we recently read comments from people that the webhooks are unreliable and in some cases may take 2 to 3 hours before the webhook (event) is triggered.  This would be a major blow to all the work we have done.

 

Is there any truth to these claims?  And if so, what's the path to resolve?

 

Additionally what sort of SLAs are offered?

 

Thank you for your assistance.

 

Best,

Marc

0 Likes
Highlighted
Shopify Staff
Shopify Staff
1555 81 282

Hey @weintegrate.

 

It's not often that webhooks take much more than anything up to a minute to deliver (if I'm to trust developer accounts of what they see on their end). It is, however, possible for webhooks to take some time or fail to send, which is why we do tend to recommend that apps do not rely on them 100% for their critical operations without reconciling the data we send periodically (eg. a polling job).

 

We don't presently implement any kind of SLAs for our webhook deliverability, hence the warnings. I hope that helps clarify things a bit for you.

 

Cheers.

0 Likes
Highlighted
New Member
1 0 0

Hi @Alex ,

I developed a Shopify react + nodejs application with the usage of webhooks. previously webhook works fine. before two days webhook subscription success but not listening to the event.

 

server.use(
createShopifyAuth({
apiKey: SHOPIFY_API_KEY,
secret: SHOPIFY_API_SECRET_KEY,
scopes: ['read_customers', 'write_customers'],
async afterAuth(ctx) {
const { shop, accessToken } = ctx.session;
ctx.cookies.set("shopOrigin", shop, { httpOnly: false });
console.log(shop);
const registration_customer = await registerWebhook({
address: `${HOST}/webhooks/customers/create`,
topic: 'CUSTOMERS_CREATE',
accessToken,
shop,
apiVersion: ApiVersion.October19
});

if (registration_customer.success) {
console.log(registration_customer);
console.log(shop+' Successfully registered customers webhook!');
} else {
console.log(shop+'Failed to register customers webhook', registration_customer.result);
}
await getSubscriptionUrl(ctx, accessToken, shop);
}
})
);

router.post('/webhooks/customers/create', webhook, (ctx) => {
console.log('received customers webhook: ', ctx.state.webhook);

}

0 Likes