A product is updated in WooCommerce --> update the product in E-conomic

Hi there.
I am trying to achieve the following:

Trigger: A product is updated in WooCommerce

Action: Update the product in E-conomic

Issue: When choosing action in the E-conomic module, there is only an option to ‘Create a Product’ but no option to ‘Update a Product’.

I tried to search for answers on this, but couldn’t find anything. I can see, that if an app is entirely missing, it is possible to create your own custom app integration. But I was unable to find anything about if an integration exists but just doesn’t have a specific action.

Is there anything I can do myself or do I just have to wait and hope that the developers will add this to the integration at some point?

Thanks

Hey Brinx,

Welcome to the make community!

If the app on make.com doesn’t support the API endpoint you are looking for, you can always use an http module and call the endpoint manually. This means you have to do the authorisation yourself, which is slightly annoying but once you have the module(s) set up, it works just the same. You can find all the supported endpoints in their API documentation, here:
e-conomic REST API Documentation

Here is a rough explanation:

  • Set up a “Make a request” HTTP module
  • Add the three headers specified in the API docu
  • In your case, you want to send a PUT request to
    https://restapi.e-conomic.com/products/:productNumber
    where :productNumber is mapped from the previous output
  • then you need to set up a structure for all the fields you want to update.
    Note that name, productGroup and productNumber are required.

Maybe this is already enough for you to figure it out, if not let us know where you get stuck or browse this forum for similar HTTP module cases.
Good luck with this :slight_smile:

2 Likes

Hi John.

Thank you so much for your elaborate answer!
I will give it a go and see if I can figure it out :blush:

Welcome to the Make community!

If the external service has a Developer API Reference/Documentation then you should be able to integrate the endpoints in Make using the generic HTTP “Make a request” module.

If the external service allows you to register webhooks, then you can create a trigger to wait for incoming webhook requests in Make using the generic Webhook “Custom webhook” module.

You can also suggest for it to be made in the Idea exchange. Don’t forget to search for it first, in case someone already suggested it!

2 Likes

Hi Sam, FYI: make actually does have an integration for E-Conomic.

Thanks for your reply as well, @samliew . Much appreciated :blush:

I’ve given it a try now, and I managed to create an app within E-conomic to obtain the header tokens for the HTTP request, and that part seems to work.

However, when running the module, I get the following error:

BundleValidationError

Validation failed for 1 parameter(s).

  • Collection can’t be converted to text for parameter ‘value’.

To see my setup, I’ll just post screenshots below:


I assume the problem is the productGroup, since that consists of several values, but I am unsure what to do instead.

Do you have an idea?

Hi Brinx,

Looks like you should be passing data in the body, as JSON instead, since one of the variables is a collection (a complex variable with sub-properties/object).

You’ll need to point to us in which part of the API in the documentation you are trying to reach/call, so we can see whether you are mapping your request correctly.

2 Likes

Thank you.

I made it go through now, and although it didn’t show me an error, it still did not work. The output says status code 400.

The part of the API I’m trying to reach is the one called productGroup, which should consist of productGroupNumber and productGroup.self.

I tried to put the following as the value of productGroup:
{
“productGroupNumber”: “{{8.productGroup.productGroupNumber}}”,
“self”: “{{8.productGroup.self}}”
}

According to the documentation at e-conomic REST API Documentation

The Required properties are: name, productGroup, productNumber

Can you make the request in the following format:

{
    "name": "My test product",
    "productGroup": {
        "productGroupNumber": 1
    },
    "productNumber": 500
}
2 Likes

Thanks for your reply, Sam.
However, I still get the same status code 400 when running this.
I probably made some basic mistake somewhere in my setup.
I’ll just post a screenshot of the Operation log. Maybe you can quickly spot, what I am missing.


Thank you for your patience with me :sweat_smile:
Your help is greatly appreciated :pray:

(note: in my screenshot, you may see that I added quotation marks around the value of productNumber. This was because it’s supposed to be a string and not an integer/number. I also tried first without them like the code you posted.)

No, you do not pass data via query string unless specified. By default, all requests data go into the content (body) as JSON (select body type JSON).

As seen in the e-conomic API documentation link I shared above, (e-conomic REST API Documentation):

Screenshot_2023-10-19_201008

3 Likes

I’m sorry, but I’m not sure what it is that I should change?

Based on your reply I tried a couple of different things, that I figured might be what you meant, but everything still results in a code 400. (and one 405 code when trying to only use https://restapi.e-conomic.com/products/ without the product number string after it).

Sorry, if I am missing something obvious here, but this is my first try setting up a HTTP request :face_with_spiral_eyes:

Nevermind! I finally figured it out!
Thank you so much for the help :star_struck:

2 Likes