Problem updating or deleting contacts using Ecom Bridge API


#1

Using the Ecom Bridge API, we've tried to send sync messages to update and delete contacts but don't manage to get it right. When we sent a call to update the contact's email address, a new contact was created with the new email address. This happened even though we referenced the same integratorObjectId. The same happened when we sent a call with the delete action. Now we have four different contacts with the same integratorObjectId:
https://app.hubspot.com/contacts/4943257/contact/801/
https://app.hubspot.com/contacts/4943257/contact/851/
https://app.hubspot.com/contacts/4943257/contact/901/
https://app.hubspot.com/contacts/4943257/contact/1001/

The calls look like this:
UPDATE
[{"integratorObjectId":"LSC100092","action":"UPSERT","changeOccurredTimestamp":1541068310242,"propertyNameToValues":{"id":"LSC100092","email":"wewgggggggg2@istone.com","firstname":"Test121","lastname":"Test2","phone":"","customertemplate":"B2CPersonTemplate","address1":"A1","zipcode":"50124","city":"Bor","country":""}}]

DELETE
[{"integratorObjectId":"LSC100092","action":"DELETE","changeOccurredTimestamp":1541068653748,"propertyNameToValues":{}}]

Doing this for other objects, for example products, works fine.


#2

@Isaac_Takushi do you have any input? Very thankful for any guidance! :pray:


#4

Hey, @shamash

Your question was actually at the top of my to-do list!

I've been having issues upserting contacts in my own test account, so I believe I'll have to dig in further. Apologies for the inconvenience here.


#5

Great, thank you! I need to get back to our client tomorrow with some kind of response on how to deal with this so any help or suggestions on workarounds are highly appreciated. Thanks again


#6

Hey, @shamash,

Apologies. Something on our side seems to be preventing email property values from being updated with UPSERT sync message (other contact properties like lastname are successfully updated, though).

Additionally, I have yet to successfully delete a contact with a DELETE sync message.

I'm sharing all the tests I've done with the team and hopefully we'll have a resolution for you soon. I don't know of any workarounds at this time.


#7

Thanks for the update @Isaac_Takushi

That confirms our experiences.


#9

Hi @shamash,

I spoke with @Llewellyn_Smith, who confirmed that neither of the actions you're attempting are possible:

  • The email contact property is exempted from UPSERT actions.
  • Contacts cannot be deleted through DELETE sync messages.

The Ecommerce Bridge API's contact model is more conservative than the Contacts API to avoid the deleting or overwriting of crucial contact information that existed prior to an ecommerce application syncing to a given contact.

If you need to do either of these actions, you must use the Contacts API methods below, which rely on vid, rather than Ecommerce Bridge sync messages:

I will be the first to admit that our existing Ecommerce Bridge documentation is grossly misleading in this regard. I will immediately look into having the articles updated.

Sincere apologies for the inconvenience and confusion. Please let me know if I can clarify further.