d
Topic
Ryan O Shopify Employee
Posts:
234
7 months ago
g
1
upvotes

Mandatory GDPR webhooks for all apps

Hi Shopify Devs,

 

In response to the General Data Protection Regulation (GDPR), we've introduced some important changes to our platform to help you properly handle the privacy and security of customers’ personal information.

 

New mandatory webhooks

Two new mandatory webhooks are available to every public app:

  1. customers/redact: When a buyer requests deletion of their personal information from a store owner, Shopify will send a HTTP POST request for the customers/redact topic to all apps installed on that shop that have been granted access to customers or orders data. Upon receipt of the webhook, the app should delete the customer’s personal information associated to that shop specifically.

  2. shop/redact: 48 hours after a shop uninstalls your app, Shopify will send an HTTP POST request for the shop/redact topic. Upon receipt of the webhook, the app must delete all customers’ personal information associated with that shop.

These webhook subscriptions can be managed from your partner dashboard, in the App Info tab of your apps settings. Going forward, all public apps must subscribe to the new mandatory webhooks and confirm the receipt of each redaction request by responding with a 200 series status code.

 

GDPR Resources

We’ve added a number of resources on Data and user privacy under GDPR.  This includes a sample Privacy Policy Template as well other guidance to help you better understand your privacy choices as a Shopify app developer.

Other resources we’ve released include a a new Partner’s Blog post What App Developers Need To Know About GDPR (4 minute read), and the Shopify GDPR Whitepaper.

 

If you have any questions or concerns, please don’t hesitate to comment in the thread below.

Shopify Apps Team

i
Replies
Posts:
48
7 months ago
g
4
upvotes

Hey Ryan,

Thanks for the update! I do have a few GDPR related questions :)

1. App store retargeting - today Shopify serves apps' AdRoll and Google remarketing pixels when visitors hit the app listing page. To my understanding, the GDPR requires explicit consent from a user to place a retargeting cookie. Will Shopify be adding such a consent-collection tool? You can find relevant posts from both AdRoll and Google here:

AdRoll https://blog.adroll.com/product/preparing-for-gdpr

Google https://www.cookiechoices.org/intl/en/

 

2. I just want to verify that the shop/redact webhook will not be sent if the store re-installed the app within 48 hours.

 

Thanks!

Yoni from Loox

Posts:
58
7 months ago

@Yoni  That's an excellent question regarding the shop/redact webhook being cancelled if a shop reinstalls the app within 48 hours.

 

Regards,

Joel.

Developing Ecommerce Apps Since 2011
Ryan O Shopify Employee
Posts:
234
7 months ago

Hi Yoni, Joel,

The webhook will not be sent if the app is re-installed within 48 hours.  Checking into your other question!

 

Ryan

Posts:
699
7 months ago
g
1
upvotes

Ryan! Re:

 

When a buyer requests deletion of their personal information from a store owner, Shopify will send a HTTP POST request

 

How does a buyer or store owner actually initiate this request?

 

 

I'm a million different people
Ryan Alyea Shopify Partner rofish.net
Posts:
26
7 months ago
g
2
upvotes

Hey there,

Related and unrelated question at the same time: Are there any test tools to immediately call the GDPR redactions in a test shop, including to see how it looks on the admin side, app developer/webhook side, and how it looks to the individual requesting a deletion? In the latter, even if they get no notifications, what happens when they attempt to login, etc.

I want to see what the whole process looks like. :)

Posts:
620
7 months ago
g
2
upvotes

What will happen if we try to load an order for which the customer requested deletion.

Will order.customer be null? Or will it be non null with a customer id and all other fields null?

Felix Member looga.io
Posts:
98
Last edited 7 months ago

When will the mandatory webhooks really become mandatory?

It's not that everybody can implement it right away. But for many of us the procedure is to plan for it to be done in near future. Thinking of scheduling it in a sprint, plan, develop, test and release ... it can take up two to four weeks.

Will the webhooks send the same HTTP_X_SHOPIFY_SHOP_DOMAIN and HTTP_X_SHOPIFY_HMAC_SHA256 fields for authorization? (Asking because the payload contains the shop id and domain, according to the documentation)

Looga.io
Felix Member looga.io
Posts:
98
7 months ago

You could at least test it by using a development shop or a test app and send request to the webhook endpoints using POSTMAN or a similar tool.

Looga.io
Posts:
48
7 months ago

Another question - will a shop/redact webhook get sent for Closed and/or Paused stores?

 

 

Marc Baumbach Member
Posts:
17
7 months ago

After you request an erasure through your admin, Shopify will transmit your erasure request to all apps you have installed at the time you make the request that might have access to that customer’s data.

Once you request an erasure within your admin, a 7 day buffer period will begin during which you can cancel the request in case you made the request accidentally. To cancel a pending erasure request, please email Shopify at privacy@shopify.com, and include your store information and the relevant customer ID.

Are apps notified after the 7 day buffer period or immediately upon request of erasure? If it's immediate and the request is canceled in the 7 day period, is there anything app developers can do for that scenario?

Ryan O Shopify Employee
Posts:
234
7 months ago

 Hi All,

We understand this is a huge undertaking so I'll try to answer your questions the best I can, and pass along any that I don't have answers for.  See answers below.

 

How does a buyer or store owner actually initiate this request?

You'll probably want to check our Merchant facing resources here: https://help.shopify.com/manual/your-account/GDPR, https://www.shopify.com/blog/gdpr-ecommerce. "you can find the information and deletion request options on each customer's profile in Shopify."

Are there any test tools to immediately call the GDPR redactions in a test shop, including to see how it looks on the admin side...

No tools available for firing the webhooks currently, the rest is visible in your customers page of your dev store:
As for customers requesting from shops, not 100% sure but I believe that depends on the shop to implement a way for their customers to contact them, will find out.

What will happen if we try to load an order for which the customer requested deletion.


Will order.customer be null? Or will it be non null with a customer id and all other fields null?

Will check into this.

When will the mandatory webhooks really become mandatory?

I'm not a lawyer but if you want to be GDPR compliant... now?  If you mean when will Shopify enforce requiring the field to be filled, checking into this and I'll get back to you.

Will the webhooks send the same HTTP_X_SHOPIFY_SHOP_DOMAIN and HTTP_X_SHOPIFY_HMAC_SHA256 fields for authorization? (Asking because the payload contains the shop id and domain, according to the documentation)

There should be no change to the webhook headers.

How do we test these webhooks ?  

We don't have a testbed setup currently to send fake redactions.

Are apps notified after the 7 day buffer period or immediately upon request of erasure? If it's immediate and the request is canceled in the 7 day period, is there anything app developers can do for that scenario?

I'll look into it.
 

dkrasov Member
Posts:
4
7 months ago

Hi Ryan,

Is there any payload examples for shop/redact webhook? In the docs it's not clear how `shopify_domain` looks like (with "myshopify.com" or not).

Regards,

Dmytro.

Olek - Tidio Member
Posts:
1
7 months ago

Hi Ryan,

I wonder if we need to sign a Data Processing Agreement between Shopify and us (an app provider). 

Thanks,
Olek

Ryan Alyea Shopify Partner rofish.net
Posts:
26
7 months ago
g
2
upvotes

More of a theorycrafting question: Will the customers/redact be mandatory if the app does not have customers_read or orders_read scope? There's no point in being having a mandatory data deletion if no data can even be requested.

Posts:
100
7 months ago

We definitely need a date at which apps that do not register to those hooks stop working! Also, not sure why an app that does not request customer related scopes should register for those hooks? This simply generates traffic for nothing :(

Not sure how other apps handle uninstall cases but we do remove ALL data upon an uninstall based on the uninstall hook. What's the reason for introducing new hooks for this?

Posts:
71
7 months ago

Hey Ryan,

In customers/redact webhook, there are customer and orders_to_redact fields. Do we need to remove just the customer data specified in the customer field from the orders specified in the orders_to_redact field from our storage OR do we have to remove both the customer and orders from our storage?

SimplyCost - Add costs and track profit (https://apps.shopify.com/simplycost)
Posts:
48
7 months ago

Another question - Does Shopify require us to only remove data related to orders? Or any data related to the customer (e.g. product reviews written by the customer)

john Member
Posts:
2
6 months ago

Hi Ryan,

I have three questions.

1. Currently customer login to Shopify via email/password. If a store request to erase personal data of customer A, can A still login to same account 7 days later? Or will Shopify create a new customer account?

2. Is there any plan for Shopify to add test utilty, e.g. a easy way sending fake redactions.

3. Is there any systematical way to speed up the process so that we can test the behavior of the webhook without waiting for a few days?

Thanks for your help!

Regards,

John

Posts:
2
Last edited 6 months ago

Hi Ryan,

Any update on when we can create webhooks for these topics? Also, am I right to assume that we need to subscribe to these webhooks the same way we subscribe to others (e.g. orders/update, customer/create, etc.)?

 

Thanks,

Prateek

Posts:
6
6 months ago

Hi Ryan,

How would I go about verifying these requests came from the right source? Seeing as they are very destructive in nature I want to make sure that these indeed are coming from Shopify and not someone else imitating the calls.

 

Thanks,

Tim

 

 

Ryan O Shopify Employee
Posts:
234
6 months ago

Preface; I am definitely not a lawyer, if you are concerned about the legality of data with GDPR you should definitely talk to one.  These are the best answers I currently have from the apps team. 

I wonder if we need to sign a Data Processing Agreement between Shopify and us (an app provider). 

Nope, if you want the longer explanation feel free to reach out to me on the Partner's Slack.

More of a theorycrafting question: Will the customers/redact be mandatory if the app does not have customers_read or orders_read scope?

Yes it is still mandatory.  Most basic reasoning for this is that apps can update their scopes, and may have access to customer's data in the future.  If you don't actually have any data, you don't have to take action upon receipt of a customer_redact request.

We definitely need a date at which apps that do not register to those hooks stop working!

We will not shutoff apps that do not update these fields without warning.  Getting it done sooner rather than later is the best scenario so no action needs to be taken on our end.  The first milestone will be denying new app creation that does not contain a callback url in these fields.

In customers/redact webhook, there are customer and orders_to_redact fields. Do we need to remove just the customer data specified in the customer field from the orders specified in the orders_to_redact field from our storage OR do we have to remove both the customer and orders from our storage?

 

Does Shopify require us to only remove data related to orders? Or any data related to the customer (e.g. product reviews written by the customer)

You should remove all personally identifiable information (PII) from those orders upon receipt of the webhook containing orders_to_redact.  And you should remove all PII from the shop upon reception of a customer redact request if your app added it to the shop (review for example).

I am testing those options under the Customer details now and I have my hooks setup. I have requested a copy of my data as well as erasure.. and I don't see the hook firing and I have yet to receive an email with my data. I've tried with two customers, once yesterday and once today. In either case.. nothing. 

Did they ever arrive? There is a 48 hour delay on the webhooks after request. Reach out to me on the partner slack if you want to troubleshoot further.

1. Currently customer login to Shopify via email/password. If a store request to erase personal data of customer A, can A still login to same account 7 days later? Or will Shopify create a new customer account?

2. Is there any plan for Shopify to add test utilty, e.g. a easy way sending fake redactions.

3. Is there any systematical way to speed up the process so that we can test the behavior of the webhook without waiting for a few days?

1. If the store owner complies with the request and deletes the data, then no they will not be able to login to the same account later as that would be part of the deletion.

2 & 3. Not at this time

 

Any update on when we can create webhooks for these topics? Also, am I right to assume that we need to subscribe to these webhooks the same way we subscribe to others (e.g. orders/update, customer/create, etc.)?

These are available now, and these webhook subscriptions will be manageable from your partner dashboard, in the App Info tab of your app settings.

 

How would I go about verifying these requests came from the right source? Seeing as they are very destructive in nature I want to make sure that these indeed are coming from Shopify and not someone else imitating the calls.

The same method you validate webhooks from Shopify that you register with your app is valid for these GDPR webhooks: https://help.shopify.com/api/getting-started/webhooks#verify-webhook.

 

Happy Developing.

john Member
Posts:
2
Last edited 6 months ago

Hi Ryan,

Thanks to your reply. I want to ask a few more questions. If a merchant only ask Shopify to remove a customer's personal data via admin page (the image), and does not delete the customer account. Can the customer login to same account 7 days later? Or do Shopify delete those account 7 days later?

And in this page, https://help.shopify.com/manual/your-account/GDPR/processing-gdpr-data-requests#process-erasure-requests

It menstions that

After you request an erasure through your admin, Shopify will transmit your erasure request to all apps you have installed at the time you make the request that might have access to that customer’s data.

So is  the customers/redact webhook fire immediately when the merchant request 'remove personal data' from Shopify admin page?

Thanks,

John

 

1 thumb
Posts:
48
6 months ago

Hi Ryan,

A few important questions still left open:

1. Retargeting and GDPR - Will Shopify collect explicit consent from EU visitors to the app store?

2. Will a shop/redact webhook get sent for Paused / Closed stores?

3. When do webhooks get sent to apps, if merchants have a 7 day buffer period to cancel the deletion request?

Thanks!

Yoni

Harold Shopify Partner gaze.bo
Posts:
32
6 months ago

Maybe something to consider, not all apps need the personal information of the merchants customers.

Right now I strip the personal information from the data sent to my webhooks before processing/storing data, but it would be even better if there was a setting "don't include personal data" for the API so that apps don't receive the data at all and so that merchants can see that the apps who have that setting enabled do not have access to the personal information of their customers. :)

Thanks!

Harold

Marc Baumbach Member
Posts:
17
Last edited 6 months ago

Hi Ryan (or any others who have seen a customer redact request come in),

When the customer order information is redacted, will the order/update webhook be triggered with missing customer details (e.g., a null customer_id, no billing/shipping address, email, or phone)? If so, that may provide some automatic redaction for some apps, so long as their applications are able to handle those pieces of data being missing.

Thanks!

Marc

AWeber Member
Posts:
1
6 months ago

Hi Ryan,

I am writing you from AWeber Communications. We are an integration partner and have a few questions about the changes for GDPR.

  • The new webhooks are stated to be mandatory. For planning purposes, when will these be enforced?
  • If the new webhooks are not implemented by the enforcement date, what will happen to our integration?
  • If we are not storing personal information about a customer, are we required to implement these webhooks?
  • The webhooks do not appear to provide any context on the purpose for the redaction. When a customer completes an order with Shopfiy they are given the option to “Keep me up to date on news and exclusive offers”. Customers provide separate consent from the order; therefore, we need this differentiated in the redaction. We need to know if the redaction is related to orders or email marketing. This is important to maintain our position as a data processor and not a controller. When a customer is requesting erasure, are they presented with both options?

Thank you for your time and consideration of these questions.

Zac Gery
Integrations Product Manager

Posts:
620
6 months ago
g
1
upvotes

So many unanswered questions we can't even get started on this.

1)What will happen if we try to load an order for which the customer requested deletion.
Will order.customer be null? Or will it be non null with a customer id and all other fields null?

2) Is shop/uninstall not enough? Why do we need another separate webhook?
 

3) Any update on when we can create webhooks for these topics? Also, am I right to assume that we need to subscribe to these webhooks the same way we subscribe to others (e.g. orders/update, customer/create, etc.)?

4) When the customer order information is redacted, will the order/update webhook be triggered with missing customer details (e.g., a null customer_id, no billing/shipping address, email, or phone)?

This would be ideal because it would avoid every app implementing their own data cleaning methods and simply rely on Shopify to remove all personal details

 

Daniel Goh Member
Posts:
1
6 months ago

Has anyone had any luck with receiving these webhooks? I've updated the webhook URL on the app settings and tried deleting customers on a development store, but have not received any webhooks even after the 48 hour period. 

Zigs Graves Member
Posts:
4
6 months ago
g
1
upvotes

Hi Can you please share code of that two webhook you created for reference ?

john Member
Posts:
2
6 months ago

Hi Ryan,

Do you know what is the correct way to trigger the customer/redact webhook?

I have installed my test app on my test store and used the "REMOVE PERSONAL DATA" function on Shopify admin for a test customer. I also set the webhook in app setup page. 

Ten days later, I did not receive the webhook and my test app can still access the personal data of the test customer via Shopify API. I can still see the personal data on Shopify Admin page. Is this an expected behavior of "REMOVE PERSONAL DATA"? and How much time will it take before Shopify send the customer/redact webhook?
 
In my other experiment, I received the shop/redact webhook 48hr after uninstalling my test app. So I think my config is correct.

Thanks,
John

Posts:
14
6 months ago

Can we get some guidance as to what we are supposed to do with private apps and GDPR-related webhooks? As we delete and re-generate our working set of webhooks from time to time it would be ideal if we could create the GDPR-related webhooks.

Thanks,
Paul

 

David Member
Posts:
24
6 months ago
g
3
upvotes

All of a sudden yesterday my shop redact notices have been coming in over and over again. I've been getting the same 4 every few hour or so for the last day. I'm definitely passing a 200 response so I don't understand why this is happening. Is something broken on the Shopify end?

Posts:
5
6 months ago
g
2
upvotes

Hi David,

We've been experiencing a similar issue in the past day or two as well. It's affecting 2 different apps of ours, and we've made no changes to our code for either one, so the error doesn't feel like it's on our end. Every hour on the hour we get a handful of "shop/redact" webhooks coming in and it's always for the same shops. 

We pass along 200 HTTP codes as well, and this wasn't a problem until very recently. Would love some clarification from someone at Shopify here!

Posts:
5
6 months ago

Any update on this from Shopify? Still receiving hourly repeating "shop/redact" webhooks for the same handful of stores even though we're returning HTTP 200s

Ryan O Shopify Employee
Posts:
234
6 months ago
g
1
upvotes

Thanks for the reports, I've asked the team to look into it.  Followup to that, are these shops that have actually uninstalled? Or are you receiving shop/redact for shops that still have your app installed?

Thanks!

Posts:
5
6 months ago

Hi Ryan,

Thanks for passing it along, it's appreciated. I can confirm in our case that the recurring "shop/redact" webhooks are coming in for stores that have uninstalled.

Ryan O Shopify Employee
Posts:
234
6 months ago
g
1
upvotes

Hi David and Rarelogic,

Can you share what app is having these issues, and an example of some shops so the team can investigate? 

If you'd rather email it, ryan (dot) ormsby (at) shopify (dot) com

Cheers!

Posts:
5
6 months ago

Hi Ryan,

I just sent you an email with relevant info.

 

Thanks!

David Member
Posts:
24
6 months ago
g
1
upvotes

Ryan, we just emailed you over our details as well. We've gotten 45 notices on the same three stores since 6am this morning.

Ryan O Shopify Employee
Posts:
234
6 months ago
g
1
upvotes

Hey all, a fix was shipped a few hours ago to stop duplicate notices.  If you are still receiving them please post here.

David Member
Posts:
24
6 months ago

The issue does appear to be resolved. Thank you Ryan for your assistance.

Posts:
5
6 months ago

Hey Ryan,

The issue has been resolved for us as well.

 

 

Thank you for resolving the issue for us.

The RareLogic Team.

Posts:
699
6 months ago

"you can find the information and deletion request options on each customer's profile in Shopify."

I have a Customer requesting removal but I don't see that box you have screenshotted above.

I'm a million different people
Posts:
14
5 months ago

Hi Ryan,

Can you please reply to my questions above. I can't move forward without this information.

Thanks,
Paul

Mayur Dhande Member
Posts:
2
Last edited 5 months ago

Hey Ryan,

Thanks for the update. I am facing issue while testing those webhooks.

For my app, I added an endpoint for Customer Data Erasure under App Setup -> Mandatory Webhooks, and processed erasure request as per this but I didn't receive any webhooks on my callback endpoint neither I received any email.

I also tried configuring those webhooks using API, but even the subscription to this webhook failed. Below is the URL path, and json payload I used to subscribe customers/redact topic,

URL- https://mystore.myshopify.com/admin/webhooks.json

Payload- 

{
  "webhook": {
    "topic": "customers/redact",
    "address": "https://53cb26a3.ngrok.io/elements/api-v2/events/shopify",
    "format": "json"
  }
}

And I received below error,

Invalid topic specified. Topis allowed: app/uninstalled, carts/create, carts/update, checkouts/create, checkouts/delete, checkouts/update, collections/create, collections/delete, collections/update, customer_groups/create, customer_groups/delete, customer_groups/update, customers/create, customers/update, customers/delete, customers/disable, customers/enable, order_transactions/create, orders/cancelled, orders/create, orders/delete, orders/fullfilled, orders/paid, orders/partially_fulfilled, orders/updated, products/create, products/delete, products/update, refunds/create, shop/update

So far, I see those webhooks aren't working.
Could you please provide your inputs or if there is anything that I am missing.

Thanks,

Mayur

Ryan O Shopify Employee
Posts:
234
5 months ago

Hi Ryan,

Can you please reply to my questions above. I can't move forward without this information.

Thanks,
Paul

This one? 

Can we get some guidance as to what we are supposed to do with private apps and GDPR-related webhooks? As we delete and re-generate our working set of webhooks from time to time it would be ideal if we could create the GDPR-related webhooks.

Thanks,
Paul

There is no plan currently for private apps to be able to create thesewebhooks.  Private apps are considered tied to a shop, so it would be best to get the information directly from the merchant.

 

I also tried configuring those webhooks using API, but even the subscription to this webhook failed. Below is the URL path, and json payload I used to subscribe customers/redact topic,

Hey Mayur.  You cannot register them like a normal webhook unfortunately, the only way is by filling out the form on your app page.  It is likely you simply have not been requested to delete any data yet if you haven't received a webhook.

 

Mayur Dhande Member
Posts:
2
Last edited 5 months ago

Hi Ryan,

For 'customers/redact', I have submitted the Customer Data Erasure request from admin console. under customer's profile -> 'Remove Personal Data'

I still don't see any webhook sent back to my callback endpoint. Is it expected that those webhooks are triggerred right away ?

For more information, I have sent you an email with shop Id for which I have submitted data erasure request. Could you please have a look at this ?

Thanks,
Mayur

Data erasure thumb
Ryan O Shopify Employee
Posts:
234
5 months ago

Hey Mayur,

Chatted via email as well, but customer data requests take 48 hours to send.

Cheers,

Ryan

Tony Gilyana Shopify Partner Formilla.com
Posts:
6
Last edited 5 months ago

Hey Ryan,

Thanks for your help answering all these GDPR related questions in the last few months.  If you don't mind, I have one that I don't see covered here explicitly if you could please chime in: 

I'm wondering what the flow for the "shop/redact" call will be for the store owner. In particular, we have seasonal customers that purchase our Formilla live chat app (premium) and uninstall the app off-season to cancel their subscription; the "48 hour" redact sounds pretty extreme if you're expecting us to blow away their data, so I'm wondering if you're including some kind of "also delete all my customer data with xxxxxx app" checkbox for affirmation?  For example, if a shop had 1,000 chats and collected various customer data with their chats like emails, names, etc., we need to delete all 1,000 if we get this webhook?

Cheers,

Tony
Formilla.com

Ryan O Shopify Employee
Posts:
234
5 months ago

Hey Tony,

I recently posted another post with a bit more info around these webhooks: https://ecommerce.shopify.com/c/api-announcements/t/gdpr-receiving-a-customer-redaction-request-531087.

 

Yours is a tough use case. Maybe some sort of setting to allow you to retain the data for when they reinstall? Or a built in way to pause your fees as an alternative so they don't have to uninstall? An alternative could be redacted all personal information from their chats/data but leaving the rest.

Not a lawyer though, so I'm no entirely sure what your requirements would be.  If you are unsure I would definitely consult one.

Tony Gilyana Shopify Partner Formilla.com
Posts:
6
5 months ago

Hey Ryan,

Thanks for the quick response and tips. 

I take it Shopify has decided not to get a confirmation from the merchant to 'delete all data' when uninstalling an app -- is that correct?  That was my only remaining question at this time...

Ryan O Shopify Employee
Posts:
234
5 months ago

Hi Tony,

In the information provided to merchants, it includes details that uninstalling the app will send a request to the app to delete all of their customer's data.  Outside of that, I think an app would be allowed to obtain permission from the merchant to keep the data around in case of reinstall? Of course I'm not a lawyer so make sure you double check anything before you do it.

Cheers.

Tony Gilyana Shopify Partner Formilla.com
Posts:
6
5 months ago

Thanks man.  Appreciate your responsiveness.  Have a good weekend!

Leonardo S Member
Posts:
1
4 months ago

Hi.
Checking what Ryan O answered in relation to the header to verify the request(the `HTTP_X_SHOPIFY_HMAC_SHA256` header). He said that the header would still come as a way to verify that the request comes for shopify and its integrity.

This verification requires a `SHARED_SECRET` that is displayed in the notifications page of each `Shop`, like the image I attached to this reply.

But I'm checking the settings of the app and there is no trace of that `SHARED_SECRET` in the `setup` page.

Am I missing something?

Thanks

Notifications   shopify thumb
ishahrier Shopify Partner
Posts:
9
Last edited 4 months ago

HI

In the mandatory webhook page (https://help.shopify.com/en/api/guides/gdpr-resources#mandatory-webhooks) there is a third GDPR wehook topic  called "customers/data_request".

Is this webhook's callback is also going to be posted on the same URL i specify on the apps "Mandatory webhooks" settings "Customer data ensure endpoint"  url? 

In otherword, are the customer/redact and the customers/data_request both webhoks callbacks will be posted on same url ("Customer data ensure endpoint") with slightly different payload (mentoned in the documentation page https://help.shopify.com/en/api/guides/gdpr-resources#mandatory-webhooks)

Please help!

Thanks in advance!

Atin Member
Posts:
2
Last edited 4 months ago

Hi

We have an App in Shopify and we have received a mail from the Shopify related to mandatory webhooks(customers/redact,shop/redact,customers/data_request) for GDPR. Currently, we store customer Email and domain.

Is it required to implement these webhooks for our App? If required then how we implement it?

we have created a webhook "shop/redact" on test store but we will get an error response
{"errors":
{
"topic":["Invalid topic specified.
Topics allowed: 
app\/uninstalled,
collections\/create,
collections\/delete,
collections\/update,
products\/create,
products\/delete,
products\/update,
shop\/update,
themes\/create,
themes\/delete,
themes\/publish,
themes\/update"]
}
}

which means that only above webhooks are allow on shopify.

Ryan O Shopify Employee
Posts:
234
4 months ago

But I'm checking the settings of the app and there is no trace of that `SHARED_SECRET` in the `setup` page.
 

 

Check your app section of the partner dashboard

 

Is this webhook's callback is also going to be posted on the same URL i specify on the apps "Mandatory webhooks" settings "Customer data ensure endpoint"  url? 

 

The ability to set a callback address will be added when the webhook is added

Is it required to implement these webhooks for our App? If required then how we implement it?

we have created a webhook "shop/redact" on test store but we will get an error response

Read the OP please.  And https://ecommerce.shopify.com/c/api-announcements/t/gdpr-receiving-a-customer-redaction-request-531087?utm_campaign=ecomu&utm_medium=email&utm_source=subscription#comment-534828 has more info.

Atin Member
Posts:
2
4 months ago

Hi Ryan 

Thanks for quick response.

But in the above link, we do not understand how to implement these webhooks

Please give me step by step algorithm how we implement webhooks with example and at which step we put URL and what URL on the Partner Dashboard in the app setting endpoints. 

 

 

Anja Member
Posts:
1
4 months ago

Can someone clarify whether if we receive a shop/redact request, we need to remove all the personally identifiable information from all the shop's customers' as well as the shop's personal information? 

shop/redact: 48 hours after a shop uninstalls your app, Shopify will send an HTTP POST request for the shop/redact topic. Upon receipt of the webhook, the app must delete all customers’ personal information associated with that shop.

Posts:
16
4 months ago

Hi Ryan,

1. When testing the shop/delete webhook on a dev store the redaction request comes in immediately.  Is this the intended functionality or an error?

2.  According to another thread the cust/redact webhook was not firing as of 8 days ago.  Is there an estimated time as to when it will be working so we can start testing?

Thanks!

David Member
Posts:
24
4 months ago

FYI, I think there was a problem with the shop webhooks firing before today. Mid-day today we got about 20 of them all at once.

Posts:
5
4 months ago

Hey,

So here are a few questions regarding customer/data_request webhooks:

1. In what format does Shopify expect app developers to respond to these webhooks?

2. Should our response be sent back to the merchant's email (even though the customer requested this data)?

Posts:
5
4 months ago

We've been experiencing what David had described too - we've had spikes of shop/redact webhooks coming in big batches on August 23rd, 25th, and 27th (while that rest of the time we're receiving a low stream of webhooks).

In addition, we've also noticed that we're receiving several shop/redact webhooks for a single store (sometimes even 6-7).

Ryan - could you please look into this and let us know what might be happening here?

Ryan O Shopify Employee
Posts:
234
4 months ago

We were collecting all redaction requests, even though we weren't sending out the webhooks.  We are now processing this queue and sending those webhooks through.  Duplicates can occur on stores that uninstall and reinstall apps frequently for whatever reason.  If it doesn't look like these are valid, please let us know.

Posts:
5
4 months ago

Hey Ryan,

We're experiencing duplicates for stores that have uninstalled us only once. 

A shop/redact webhook was sent to the same customer every day of the dates I've previously mentioned. 

Could you please let me know to what email we should send additional data on this if necessary?

Ryan O Shopify Employee
Posts:
234
4 months ago
g
1
upvotes

Hi Amit,

I'll email you at the address on your forum account.  You can provide me more information there.

Ryan

Posts:
2
Last edited 3 months ago

Hello Ryan,

We are also receiving multiple redaction requests for shop data, even though the user has only removed the store once. This appears to come in 2 days apart ... so far we have seen two or three webhooks for the same uninstall event. Total of ~20 redundant redaction requests. Please advise. Thanks.

Posts:
2
3 months ago

Hello @Ryan O,
 
Please advise on the above.

Thanks,

Richard
Head of Product
Parcel Perform

Ryan O Shopify Employee
Posts:
234
3 months ago

Hey Richard,

A fix went already went out for this issue, if its still occuring please let me know.

rodneyT94 Member
Posts:
2
2 months ago

Hello Ryan, 

Can Shopify build test feature that allows developers to test the mandatory webhooks? Something that triggers these webhooks immediately would be great. As a developer, I need to make sure my app receives and responds to the webhook post request correctly.

Thank you,

Rodney