Ecom Sync Property not displaying - no error


#1

Portal ID = 4673112

Problem:

Using HAPIKEY for portal integration (not app, not OAUTH) and experiencing the following behavior:

Action: PUT https://api.hubapi.com/extensions/ecomm/v1/sync-messages/PRODUCT?hapikey=xxxx
Status: 204
Expected result: New product visible in portal
Actual result: No product visible in portal
Error Messages: None

  • Get Products API also shows no products
  • Sales Pro is activated.

Question: Any reason products are not syncing using Ecom bridge? (I can Sync succesfully via Product API though not desired).

<>

[
{
"integratorObjectId": "1168",
"action": "UPSERT",
"changeOccurredTimestamp": 1536731739908,
"propertyNameToValues": {
"name": "This is just a test",
"description": "I am only testing"
}
}
]


#2

@Sean_Duane,

Thanks for all your support this week. This right now is a major blocker for us and @Dale_steyn is also facing the same issue.

There seems to be an issue with ecom bridge Product API sync.

Would love to be able to resolve this weekend for our client, understand that in a few hours it'll be your friday (US time). I'll send you some beers if you get a working solution :wink:


#4

@NickMontagu Looks like the product was created, but then deleted. Not sure why, i'll try and dig in.

I can see the sync messages you sent were all UPSERTs, so you should be all set there.


#5

I believe the created and deleted product was either done via Product API (and not eCom bridge) or manually in the portal.

We've seen no creation for product via Ecom bridge.

I simplified the problem by removing all custom fields in the API sync and just tried to pass 'name' using ecom bridge (since the API documentation said that products have no mandatory fields) and still nothing updated.


#6

Nick,

Determining what deleted it will take time apparently, if at all possible. Sorry for the delay.

I simplified the problem by removing all custom fields in the API sync and just tried to pass 'name' using ecom bridge (since the API documentation said that products have no mandatory fields) and still nothing updated.

Ah so, this should be clearer, apologies.

Ecomm sync attempts to respect deletes that occurred outside of sync. So if the theory is true, and that product was deleted via the Product API, then the product externalObjectId=1168 will not resync.

Want to try syncing a new product message with a different externalId than 1168 and report back with it?


#7

It looks like the product was deleted by you via the API. As stated before, the sync will respect that delete and not resync it.

I'll add a note that we should expose this situation as a warning in errors somewhere.


#8

The good news is that products are successfully syncing now.

Is there a better way to view ecom synced products that include product image and other custom field details (including showing the ecom synced status?)


#9

The product image should show up in the UI view, assuming the avatar image type was used (and assuming no other issues!)

As for properties, best thing to do for now is to hit the products api and fetch that product.

If you were looking to show certain properties on the products UI, that's understandable, though i'd also be curious what/why. So far we've realized that the products library is useful to exist, but only to be used in.. emails, associations, calculations, listseg, etc. On its own, for the Shopify integration, users don't tend to visit the page except to verify things are there.


#10

Hey @Sean_Duane,

So I am using the field that is HubSpot field:

ip__ecomm_bridge__image_url

It may be an issue with the product URL but not convinced it should be. Will test further over the weekend and report back.

"though i'd also be curious what/why. So far we've realized that the products library is useful to exist, but only to be used in.. emails, associations, calculations, listseg, etc. On its own, for the Shopify integration, users don't tend to visit the page except to verify things are there."

I'll give it a few weeks and perhaps come up with some specific and prioritised use cases with a focus on those that would benefit the 'many' and not just me.

Nick


#11

Nick,

You'll want to set the mapping for ip__ecomm_bridge__image_url dataType to AVATAR_IMAGE
This special datatype lets the sync process know "this is the image field".
It's important, because then we copy the image to an internal system, which allows us to:

  • Load images faster and reliably
  • Tie images to the productId
  • Fetch those images when needed in emails that use those products

Give that a shot. It's probably not going to backfill your images, so you'll have to try it with a new product, or delete the product and resync it.

I'll give it a few weeks and perhaps come up with some specific and prioritised use cases with a focus on those that would benefit the 'many' and not just me.

Thanks Nick. I'm definitely curious, i'd live to build more of a story for why Products UI is useful in an ecommerce world with Hubspot


#12

Follow up question.

Looks like we will only be able to add one product image per product:

"Note that only one property mapping per object type can have the dataType "AVATAR_IMAGE", and currently this dataType is only available for use in productSyncSettings ."

This is quite a strict limitation for ecommerce clients who may have up to 5 product images per product (in-context, up-close, alternate views, features, etc).

Not complaining but just throwing it out there :wink:


#13

Yeah fair enough. I guess the question would be again, what's the use of multiple images in Hubspot?
If it's for an email, we only choose one image to send in an email
If you're viewing the product, the UI only shows one image

If you're doing something more special, like choosing a specific image based off some workflow, then it probably is okay to just dump the image URLs into different named custom properties, and let the user choose them.

Definitely open to your thoughts and/or suggestions!