From d80c91b4b2835afedf45c686ef0ac538b145746b Mon Sep 17 00:00:00 2001 From: Dominic Ferrando Date: Fri, 3 Jul 2026 19:51:52 -0400 Subject: [PATCH] Fix printful product deleted webhook --- apps/api/src/server.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/api/src/server.ts b/apps/api/src/server.ts index 900d6e6..a10ce9a 100644 --- a/apps/api/src/server.ts +++ b/apps/api/src/server.ts @@ -183,12 +183,17 @@ export const app = new Elysia() case Printful.Webhook.Event.ProductUpdated: { const printfulProduct = payload.data.sync_product; log.info({ productId: printfulProduct.id }, "printful webhook: product updated"); + await syncService.sync({ filter: { printfulProductIds: [printfulProduct.id] } }); break; } case Printful.Webhook.Event.ProductDeleted: { - log.info({ externalId: payload.data.sync_product.external_id }, "printful webhook: product deleted"); - await webflow.Products.remove(payload.data.sync_product.external_id); + const printfulProduct = payload.data.sync_product; + const webflowProductId = printfulProduct.external_id.split("-")[0]; + log.info({ externalId: payload.data.sync_product.external_id, webflowProductId }, "printful webhook: product deleted"); + if (!webflowProductId) throw new NotFoundError("Missing webflow product ID"); + + await webflow.Products.remove(webflowProductId); break; } case Printful.Webhook.Event.PackageShipped: {