I know that the link field and dedupe fields cannot be changed in an approved custom object, but is it possible to update the data within the Dedupe field on an existing record?
Our dedupe field currently is a combination of two concatenated fields for an external system(Field 1 is the link field). So two records for the same person look like this:
123456 - 123
123456 - 456
Our customer database system is changing so that Field 2 can now have the same value:
123456 - 123
123456 - 123
We are exploring concatenating a third field value to the dedupe field so it would look like this:
123456 - 123 - 1
123456 - 123 - 2
Is this possible? I know we can change this for new records going forward, but we ran a test using the API on existing records and instead of updating the data, it added two new records.
Solved! Go to Solution.
Is this possible? I know we can change this for new records going forward, but we ran a test using the API on existing records and instead of updating the data, it added two new records.
Not clear which API endpoint and payload you were using here.
But unfortunately it’s true that even if you target by the id (marketoGUID), you can’t update the dedupe field’s value.
It’s sort of strange because we might think of a regular DB where if you know a primary key, you can update another field that might happen to have a unique index on it. But that’s the way it is!
Hi @mtbaker I think it would not be possible to create, edit, or delete a Link or Dedupe Field once the custom object is approved. You can reach out to Marketo Support for more information, thanks!
Hi @mtbaker I think it would not be possible to create, edit, or delete a Link or Dedupe Field once the custom object is approved.
The question is about the data in the field, not the schema.
Is this possible? I know we can change this for new records going forward, but we ran a test using the API on existing records and instead of updating the data, it added two new records.
Not clear which API endpoint and payload you were using here.
But unfortunately it’s true that even if you target by the id (marketoGUID), you can’t update the dedupe field’s value.
It’s sort of strange because we might think of a regular DB where if you know a primary key, you can update another field that might happen to have a unique index on it. But that’s the way it is!
@SanfordWhiteman looks like you're correct, even though support told me something different - we tried this as a test and got an error.
I'm not sure how we're supposed to proceed given this limitation of not being able to update the data in this field.
Http-Method: POST
Content-Type: application/json
Headers: {Content-Type=[application/json], Accept=[*/*]}
Payload: {"action":"updateOnly","dedupeBy":"idField","input":[{"marketoGUID":"fb1c6054-57b4-470b-810b-2ee0364fb1f4","personPlanId":"003m000001BfAebAAF-303690-test"}]}
I got error response
Response-Code: 200
Encoding: UTF-8
Content-Type: application/json;charset=UTF-8
Headers: {connection=[keep-alive], Content-Length=[191], content-type=[application/json;charset=UTF-8], Date=[Fri, 19 Aug 2022 17:16:12 GMT], Server=[nginx]}
Payload: {"requestId":"1234d#182b71af335","result":[{"seq":0,"reasons":[{"code":"1003","message":"Field 'personPlanId' is not allowed when dedupeBy is 'idField'"}],"status":"skipped"}],"success":true}
looks like you're correct, even though support told me something different - we tried this as a test and got an error.
As do I.
Sounds like you need to drop the CO and create a new one — which in a sense shouldn’t be hard, since you must have the marketoGUID in order to even attempt the update.