Feature request: entity transformers after outgoing publishers in configs

Dear Alumio team,

In the past few integrations, we hardly used the routing/incoming→outgoing path system in Alumio. It is purely due to the fact, that in almost all cases, we had to perform actions based on the response of the outgoing entity’s publisher - thus we could only use incoming configurations with merger&http transformers for these occasions (which somewhat defeats the purpose of the outgoing configurations, since we use incoming for that as well).

It would be nice to have the option to run entity transformers AFTER the publisher of an outgoing configuration too - not only before.

An example:

Lets say, that I have products coming in from System A. I’m getting them using an incoming config (subscriber is irrelevant), save then to a storage for later use, and I also want them to integrate into System B. Based on whether this product exists in System B or not, I would send different HTTP requests (lets say POST vs PATCH, url would change too).

The goal, is to somehow retrieve whether the product exists in System B or not WITHOUT causing unnecessary requests to System B.

By using outgoing configs and routes, we have the following possibilities:

The best approach would be to use the product storage, in which a product has either a saved ID from System B, or not. If it does, then we only PATCH, if it doesn’t, we POST. For this approach, we need to save the ID contained by the response of the outgoing publisher into the product storage - Which we cannot do now as far is I know

The above method would be convinient.

The worse approach is to query down the product from System B with entity transformers between incoming and outgoing config of the route - and decide what to do based on the response. This method - while working flawlessly - creates an unnecessary overhead to System B, thus making the sync less efficient (especially when we are talking about systems with 100k+ entities)

Since the first approach is not feasible, and the second creates unnecessary requests, we have to default back to using an incoming config for this job as well - thus getting stripped from features like tasks, easier parallel processing using routes etc.

I hope my request is clear, in case of any questions, feel free to comment!

Best Regards,

Gergő Borsodi - Backend Developer
7digits

Hi @gerg.borsodi

Thank you for letting us know your concern.

We have a publisher called “No action publisher”, which allows you to do nothing in the publisher part of an outgoing configuration, as Publisher is a must-fill part of an outgoing configuration. With “No action publisher” set, you can freely do the PATCH/POST call to System B in the Entity transformers part of the outgoing configuration, and put any transformers after the HTTP call as many as you need.

Please let us know if this works for your case.