Product deletion webhook not working at all

Vadim1
Shopify Partner
16 0 7

Hello everyone!

Looks like products/delete webhook not working at all. I can't receive any notifications on my server, in advance

update/create webhooks are perfectly fine. I'm not alone with this problem though, here is a topic with almost the same problem (but in my case even on the page of product listing it's not working).

 

Best regards,

Vadim.

 

 

Replies 48 (48)
Alex
Shopify Staff
Shopify Staff
1561 81 321

If you can replicate, would you mind providing me with a shop ID and a time frame in which you did so? A request ID will work too in the event that you make a DELETE request to a product.

 

Cheers.

Alex | 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 the Shopify Help Center or the Shopify Blog

Vadim1
Shopify Partner
16 0 7

Store - test-store-min.myshopify.com (or x-shopid: 5267456074 from the headers)

x-request-id: 0a38d026-1cf5-49cc-b882-669197c6c939
x-shopify-api-version: unstable
 
Please let me know if you need more information from the headers.
 
Request payload - 
{"operationName":"DeleteProduct","variables":{"product":{"id":"gid://shopify/Product/4152400281674"}},"query":"mutation DeleteProduct($product: ProductDeleteInput!) {\n  productDelete(input: $product) {\n    userErrors {\n      field\n      message\n      __typename\n    }\n    __typename\n  }\n}\n"}

Response from the server - 

{"data":{"productDelete":{"userErrors":[],"__typename":"ProductDeletePayload"}},"extensions":{"cost":{"requestedQueryCost":10,"actualQueryCost":10,"throttleStatus":{"maximumAvailable":5000.0,"currentlyAvailable":4990,"restoreRate":250.0}}}}

 

 

Vadim1
Shopify Partner
16 0 7

In advance, want to ensure you that "Send test notification" button works fine, I received it well.

But when it goes to the real products, it's not coming to my server.

Kolby1
Shopify Partner
17 0 1

I have the same issue, any updates here?

Alex
Shopify Staff
Shopify Staff
1561 81 321

Updated - See Below

 

Thanks for the information. It seems like productDelete calls to the GraphQL Admin API without a version does not trigger products/delete webhooks, which I would consider a bug. I'll report this internally.

 

In the meantime, I saw success in either making a REST call for product deletion or, more preferably, adding a version to my GraphQL call. As an example:

 

POST /admin/api/2019-07/graphql.json

 

Rather than:

 

POST /admin/api/graphql.json

 

@Kolby1 - can you confirm that you are also making non-version-explicit GraphQL Admin API calls for product deletion?

 

Cheers.

 

Update

 

Wait, it looks like the example call was made by the Admin. Was this done through the Admin interface @Vadim1?

Alex | 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 the Shopify Help Center or the Shopify Blog

Vadim1
Shopify Partner
16 0 7

Hi Alex, the problem is that I made this request using the admin page (/admin), and gave you all the information from the Network tab using f12 key. I did not make a request in the code.

Alex
Shopify Staff
Shopify Staff
1561 81 321

@Vadim1 Yes perfect thank you, I just realized that at the same time you posted. I'll still keep you posted.

Alex | 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 the Shopify Help Center or the Shopify Blog

Kolby1
Shopify Partner
17 0 1
Yes, I created the webhook via admin as well and I’m deleting products manually.
Denis_R
New Member
4 0 0

I'm having this issue too.

 

Subscribed to products/delete webhook using  REST API.

When removing products from shopify admin manually it doesn't work.

Other webhooks work well.

axsuul
Shopify Partner
105 0 26

We're also experiencing this for our app!

Sync your stock levels + bundles/kits in real-time between any number of Shopify, Amazon, eBay, Etsy, Faire, QuickBooks Online, Squarespace, Square, Tundra, WooCommerce stores with Trunk
Denis_R
New Member
4 0 0

Just started working again.

 

Thanks Shopify team for the fix!

Delirious_Apps
Tourist
7 0 5

Hi, I have just released that this has been affecting my app. We track inventory for our users so this is a massive problem. 
I can conform that is not working currently
We create a webhook via the API /admin/webhooks.json and when I delete a product through the admin interface no webhook is received by our app?

 

 

Alex
Shopify Staff
Shopify Staff
1561 81 321

Would anyone here be able to confirm whether this is affecting only their developer shops or active shops belonging to merchants as well?

 

It looks like I cannot replicate this on any non-development shops at the moment, so a pulse check here would be very helpful.

 

Cheers.

Alex | 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 the Shopify Help Center or the Shopify Blog

Vadim1
Shopify Partner
16 0 7

I have no access to the merchant's shop to test it again but it looks like yes, it can be replicated in real shops.

I faced this issue when the product was deleted in a real shop but not in my database, and the webhook was active all the time (I checked logs, no requests from Shopify to this webhook)

Then I tested webhook in my development shop, and only then I created this topic.

 

I know it's not a lot of information, but hope it will help somehow.

 

Vadim.

 

Delirious_Apps
Tourist
7 0 5

It is affecting merchant shops as well. 

thesilkroad
Tourist
4 0 1

Any update regarding the issue ?

moshelog
Shopify Partner
19 0 3

We are facing the same issues. 

 

Moshe Lugasi
Alex
Shopify Staff
Shopify Staff
1561 81 321

@thesilkroad nothing to share yet by way of updating. Exact environments in which this is replicable are hard to come by and inconsistent, we're still working on finding the source of the issue.

 

If anyone can, providing X-Request-Id response headers returned from product deletion requests are appreciated. If you're deleting products from within the Admin, the network tab in your browser's developer tools can be used to see that API call and its response headers.

 

Cheers.

Alex | 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 the Shopify Help Center or the Shopify Blog

EricHirsh
Shopify Partner
1 0 0

@Alex  the Bronto QA team responsible for automated testing noticed something with our Shopify development store/Bronto staging environment that is likely related to this issue. The Bronto app only receives product webhooks, does not write product data. Anyway, the QA team has provided an X-Request-Id response header, hopefully this is helpful to you all:

 

Endpoint we are hitting via REST:  admin/products/" + productId + ".json
 

X-Request-Id: 60cf7fde-d9c8-4cae-b641-5ff9920994b2

 

Full request response header:

{X-ShardId=[64], X-Sorting-Hat-ShopId=[19739083], X-Stats-ApiClientId=[1645829], Server=[cloudflare], X-Shopify-API-Terms=[By accessing or using the Shopify API you agree to the Shopify API License and Terms of Use at https://www.shopify.com/legal/api-terms], X-Shopify-Stage=[production], X-ShopId=[19739083], X-Permitted-Cross-Domain-Policies=[none], HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT=[1/40], X-Stats-ApiPermissionId=[51861229], X-Stats-UserId=[], X-Shopify-Shop-Api-Call-Limit=[1/40], X-Frame-Options=[DENY], Referrer-Policy=[origin-when-cross-origin], Strict-Transport-Security=[max-age=7889238], Report-To=[{"group":"network-errors","max_age":2592000,"endpoints":[{"url":"https://monorail-edge.shopifycloud.com/v1/reports/nel/20190325/shopify"}]}], Content-Security-Policy=[default-src 'self' data: blob: 'unsafe-inline' 'unsafe-eval' https://* shopify-pos://*; block-all-mixed-content; child-src 'self' https://* shopify-pos://*; connect-src 'self' wss://* https://*; frame-ancestors 'none'; img-src 'self' data: blob: https:; script-src https://cdn.shopify.com https://cdn.shopify.cnhttps://checkout.shopifycs.com https://js-agent.newrelic.com https://bam.nr-data.net https://dme0ih8comzn4.cloudfront.net https://api.stripe.comhttps://mpsnare.iesnare.com https://appcenter.intuit.com https://www.paypal.com https://js.braintreegateway.com https://c.paypal.comhttps://maps.googleapis.com https://www.google-analytics.com https://v.shopify.com https://widget.intercom.io https://js.intercomcdn.com 'self' 'unsafe-inline' 'unsafe-eval'; upgrade-insecure-requests; report-uri /csp-report?source%5Baction%5D=destroy&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fproducts&source%5Bsection%5D=admin_api&source%5Buuid%5D=60cf7fde-d9c8-4cae-b641-5ff9920994b2], X-Shopify-API-Version=[2019-04], Set-Cookie=[__cfduid=d0c39f581be71521a046aebd2e321287a1570110922; expires=Fri, 02-Oct-20 13:55:22 GMT; path=/; domain=.myshopify.com; HttpOnly], X-Dc=[gcp-us-east1,gcp-us-east1], X-XSS-Protection=[1; mode=block; report=/xss-report?source%5Baction%5D=destroy&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fproducts&source%5Bsection%5D=admin_api&source%5Buuid%5D=60cf7fde-d9c8-4cae-b641-5ff9920994b2], Content-Type=[application/json; charset=utf-8], Transfer-Encoding=[chunked], CF-RAY=[51ff69d0bfdf579f-IAD], X-Request-Id=[60cf7fde-d9c8-4cae-b641-5ff9920994b2], X-Content-Type-Options=[nosniff], Connection=[keep-alive], X-Download-Options=[noopen], Date=[Thu, 03 Oct 2019 13:55:22 GMT], CF-Cache-Status=[DYNAMIC], NEL=[{"report_to":"network-errors","max_age":2592000,"failure_fraction":0.01,"success_fraction":0.0001}], X-Sorting-Hat-PodId=[64], Vary=[Accept-Encoding], Expect-CT=[max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"], Location=[https://brontobrobot.myshopify.com/admin/products]}