This issues is observed during updates/sync with external systems where the record match is based on name and DOB.
The only commonality is that the Birthdate values are the same. Here are the two request objects that can be run to observe the anomaly :
#1
{
"OtherLang": "",
"Emergency_Contact_Phone3": "",
"Gender": "",
"Emergency_Contact_Name": "",
"ParentHomeLang": "",
"Second_Emergency_Contact_Phone1": "",
"Relationship": "",
"ParentPhone1": "",
"Emergency_Contact_Phone2": "",
"ParentLName": "",
"LiabilityWaiver": false,
"Ethnicity": "",
"Second_Emergency_Contact_Relationship": "",
"SchoolName": "",
"PermissiontoCommuteAlone": "",
"DCYFStuID": "49065402",
"MailingStreet": "",
"Volunteer": "",
"Grade": "",
"Second_Emergency_Contact_Name": "",
"DataReleaseWaiver": false,
"MailingCity": "",
"MediaReleaseWaiver": false,
"ParentEnglishFluency": "",
"Second_Emergency_Contact_Phone3": "",
"MailingCountry": "",
"MailingZip": 94104,
"ParentPhone3": "",
"Emergency_Contact_Phone1": "",
"ReducedPriceLunch": "",
"Allergies": "",
"Birthdate": "2011-01-11",
"ContactRecordType": "",
"Second_Emergency_Contact_Permission_to_Pickup_child": "",
"Emergency_Contact_Relationship": "",
"ParentEmail": "",
"Emergency_Contact_Permission_to_Pickup_child": "",
"ParentFName": "",
"ParentPhone2": "",
"LastName": "Riley",
"PersonalEmail": "",
"MailingState": "",
"Second_Emergency_Contact_Phone2": "",
"MiddleName": "",
"FirstName": "Daisy",
"HomePhone": ""
}
#2
{
"OtherLang": "",
"Emergency_Contact_Phone3": "",
"Gender": "",
"Emergency_Contact_Name": "",
"ParentHomeLang": "",
"Second_Emergency_Contact_Phone1": "",
"Relationship": "",
"ParentPhone1": "",
"Emergency_Contact_Phone2": "",
"ParentLName": "",
"LiabilityWaiver": false,
"Ethnicity": "",
"Second_Emergency_Contact_Relationship": "",
"SchoolName": "",
"PermissiontoCommuteAlone": "",
"DCYFStuID": "50523267",
"MailingStreet": "",
"Volunteer": "",
"Grade": "",
"Second_Emergency_Contact_Name": "",
"DataReleaseWaiver": false,
"MailingCity": "",
"MediaReleaseWaiver": false,
"ParentEnglishFluency": "",
"Second_Emergency_Contact_Phone3": "",
"MailingCountry": "",
"MailingZip": 94601,
"ParentPhone3": "",
"Emergency_Contact_Phone1": "",
"ReducedPriceLunch": "",
"Allergies": "",
"Birthdate": "2011-01-11",
"ContactRecordType": "",
"Second_Emergency_Contact_Permission_to_Pickup_child": "",
"Emergency_Contact_Relationship": "",
"ParentEmail": "",
"Emergency_Contact_Permission_to_Pickup_child": "",
"ParentFName": "",
"ParentPhone2": "",
"LastName": "Solano",
"PersonalEmail": "",
"MailingState": "",
"Second_Emergency_Contact_Phone2": "",
"MiddleName": "",
"FirstName": "David",
"HomePhone": ""
}
Expectation:
A NEW record is created for at least one of the requests
archana-llamas 7:44 PM
The POST /contact endpoint searches existing records for given Full name + DOB or Email + DOB , if matched it updates the record otherwise creates a new one
Not sure why it's designed so, I see this logic was written by @kushaal most probably for Coach app?
Matt 7:46 PM
thanks Archana - is there something about the two names David Solano and Daisy Riley that are causing them to evaluate to the same SalesForce record?