I’m wondering if a use case can be handled by Zeebe : i’d like to publish one message with multiple « business key » as a correlationId. I want different Workflow to look for each one of them on a specific part of the business Key.
To make it more concrete, imagine the following situation :
I’m a e-commerce website.
My warehouse has a service in charge of sending me « parcel sent » notifications.
Each time a parcel is sent a message is received by Zeebe with following infos :
I want to use that message for multiple purposes :
-Each time a parcel is sent, I want the Ordrer Workflow to listen for the event to update the order status. To do this, I want it to look to the orderId only.
-Each time a parcel is sent with transporter=ups, a special Workflow has to be started to track the parcel with ups services.
-Each time a parcel is sent with fedex, a fedex tracking Workflow has to be initiated.
Is there a way to put on my messages a CorrellationKey looking like « OrderId=x&Transporter=z&trackingNumber=abc »
And in my workflow having catch message events based on Correlation like :
« OrderId=1234 »
« Transporter=UPS »
« Transporter=UPS&trackingNumber=123456 »
Or should I have an intermediate workflow and/or service responsable to transform 1 message to multiples ones with specific correlation key ?