I am working on the /odata/QueueItems Orchestrator API to retrieve queue transactions from different Orchestrator folders. One of the parameters returned by this API is Id. I wanted to check whether the Id parameter is unique for a transaction across all Orchestrator queues and folders.
The reason I am asking is that I am saving transaction data from all queues across all folders into a database, and I am looking for a parameter that can uniquely identify each transaction.
Attaching snapshot of Id parameter from ‘/odata/QueueItems’ API response.
To answer your question - yes, the ID is unique across all folders/queues within a single Orchestrator instance.
If you’re planning on making that the unique reference of your transaction - then it’s a good one to use. Just remember… It’s only unique for an Orchestrator instance. So if your company did something like have different Orchestrator instances per environment (silly but still an example) - then it would not be a good idea to use it as a reference.
If the API returns a “Key” field - then I would personally rather use that for my Database. Any GUID is better to use - adds an extra layer of security. But ID should be fine.
Yes the Id from /odata/QueueItems is unique, but only at the Orchestrator database level, not just per queue or folder. So you can safely use it as a unique identifier for each transaction across all queues and folders within the same Orchestrator instance.
However, if you are collecting data from multiple tenants or environments, then it’s better to combine it with something like OrganizationUnitId (folder) or QueueDefinitionId to make it globally unique.