0

I have created a community user and I need him to be able to update the related contact details. I'm using RestAPI to get and update the contact.

In profile settings, I have given the profile Read, Edit permissions for Contact Object.

In sharing rules I have the following:

enter image description here

When I try the GET, it works as expected. But when I try ti update the contact, it gives me the error insufficient access rights on object id.

If I update the sharing settings from "Controlled by Parent" to "Public Read/Write", the update works. But allowing public access doesn't seem right.

How can I allow a community user edit his (and only his) contact?

2 Answers 2

2

So I have found the answer for this by myself.

I can set the OWD settings to Private and then create a Sharing set for the desired community user profile using the following. It can be used to map which users should be given which permissions based on which relationship.

https://help.salesforce.com/articleView?id=networks_setting_light_users.htm

0

Account and contact behaves as master detail in business logic but on UI it is a lookup relationship. So in master detail relationship access is controlled by parent. If the user does not have edit permission on parent object then he can not have edit permission on child object as well in master detail relationship.

Currently your Account, Contacts and Assets are set to Public Read Only. which means a community user can view his contact as well other contacts but he will not have access to edit other user contacts but can update his own.

If you want the community user to view and edit only his contact then you can change Default sharing access for Account, Contacts and Assets to Private.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .