ECommerce Bridge - Can't add new pipeline stage

ecommerce-bridge
deals

#1

I have installed ECommerce Bridge into my portal.

I have successfully mapped all my properties for Deals and Contacts.

Now have completed all my sync message handling in my app and they all work. Deal stages can be changed, etc. The only problem now is that when I add a new Pipeline Stage to the Ecommerce Pipeline it's not recognized in the Ecommerce Bridge API sync message api.

The pipeline stage I have tried to add is checkout_errored. That's the internal id for the stage I created. When I try to use this in a sync message I get:

{
    "portalId": 4253638,
    "objectType": "DEAL",
    "integratorObjectId": "d6637d65-a809-4266-953b-1c566c2a780f",
    "changeOccurredTimestamp": 1548120193758,
    "errorTimestamp": 1548120194864,
    "type": "INVALID_DEAL_STAGE",
    "details": "Deal stage SyncHadoopHubspotPropertyValue{hubspotPropertyName=dealstage, propertyValue=checkout_errored, timestamp=1548120193758} is not valid for portal SyncKey{objectType=DEAL, portalId=0000000, settingsId=2518, externalObjectId=d6637d65-a809-4266-953b-1c566c2a780f}",
    "status": "OPEN"
}

As an additional note, if I edit the cancelled stage the behavior in the Deals UI changes, instead of the empty dots in the "stage bar" it's checkmarks all the way through. I just re-installed the Ecommerce Bridge settings via the API and everything returned to normal.

So now I am suspicious that there is some special mapping that occurs between ECommerce Sync API <==> Deals API. Is there a way to add a deal stage that I can sync to through the ECommerce Bridge API Sync Message?


#3

Hi, @gillytech.

Please correct me if I'm missing something, but are you trying to add a deal stage to your Ecommerce Pipeline with an ecommerce sync message?

If so, this is not possible to do with a sync message, which can only manipulate CONTACT, DEAL, PRODUCT, and LINE_ITEM objects — not pipeline objects.

I see two options to modify the Ecommerce Pipeline in a given account:

  1. Add the stage manually in the UI, but you'll then have to use this endpoint with the deals object type to see the stage's internal name, as it won't be checkout_errored, but a long alphanumeric string.
  2. Use this CRM Pipelines API endpoint where you can add a "Checkout Errored" stage to the Ecommerce Pipeline and set its internal name to checkout_errored.

If I'm misunderstanding you and you're simply trying to move a deal into the checkout_errored deal stage with a sync message, you're receiving that error because your Ecommerce Pipeline currently has no stage with that internal name. I only see five stages, none of which are named "Checkout Errored."


#4

Hi @Isaac_Takushi,

You got it wrong but that's ok. Lets go over this again so we're both on the same page.

I am not trying to create a deal stage with a sync message. I tried both methods of creating the deal stage checkout_errored. One was through the UI which gave me a UUID (the long 36 character alnum string) and I also tried using the CRM Pipelines API. I successfully created the new deal stage both times.

And both times, I tried to move a deal into the checkout_errored stage (or the equivalent UUID identifier) using the ecomm sync message API and both times I got back the aforementioned error. That the deal stage ___ was not valid for our portal.

To me I think this is simply an engineering issue. My concept of the problem is that there is a missing mapping between what I am submitting and what is getting through ECommerce Bridge. Do you follow?

For instance, I need to map my properties between my app's fields and the filed names in HubSpot (for Contacts, Deals, Products, etc), right? And I think when you install the ECommerce Bridge in the portal you get the predefined deal stages installed and already mapped. So is there a way to map the new deal stage within ECommerce Bridge?

You should do some testing on that and let me know your conclusion and how we're going to handle it.


#5

Hey, @gillytech.

I'm happy to run some tests. First, though, can you:

  1. Add the checkout_errored stage back to your Ecommerce Pipeline. It's not currently present.
  2. Share your app ID.

#6

Yeah I'd rather not give you my production stuff to test on. Here you can have my test account, no problem:

Portal ID: 5305039

The checkout_errored stage is added to the ecommerce pipeline. And the internal id is dc0af5e6-5fd8-4b00-b81e-141fcc640aff

Try using ecommerce sync messages to move deals into that stage and let me know what you find!