AnsweredAssumed Answered

How to track id values over multiple shapes?

Question asked by stuartm on Jul 8, 2016
Latest reply on Jul 8, 2016 by Srinivas Chandrakanth Vangari

Hi - newbie here.


I have a need to store an id value early on in a process with a view to potentially reuse that value at various points and in various routes later on. This would be simple if there were only one id within the process as I could use a process property to store it.  However, in most cases, there will be more than one as the list of documents is generated by an API call.

A typical scenario would be where I receive a set of documents for processing (with each document having an id that needs to be stored against that documents progress through the process). The set of documents is split and then using the values from the individual instance, an attempt to call another end point is executed. This call may fail, so for that instance of that document, I need to go down an error path where reference to the id is required to complete the processing.  As I have proceeded through a number of shapes to get to the error handling, I no longer have access to the original id.


in terms of shapes we have:


Inbound Connector (get to API - have the id) -> Iterate Requests (into a profile shape - still have the id) -> Map (JSON - XML - still have the id) -> Set Message ( to post shape required for outbound call - no longer have id) -> Outbound Connector (which fails, no longer have id) -> post back to inbound connector to reset - can't because we don't have the id



We are on a Basic plan, so don't have access to shapes like the Flow Control or Document Caching which might help solve this issue.  I could use scripting to write to a dynamic process property (giving each document id instance a unique name) but once I'm in the error handling path, I still no longer know which iteration of the document I'm dealing with.


Any assistance welcome.