I'm working on an integration with Workday, and am tracking people by their WID (Workday ID), such as 85bb0669d8ac412582c0a473f7074d79
. That WID may be interleaved with WID's from unrelated employers using completely distinct Workday accounts, as well as with IDs (known to be UUID's) from other other (non-Workday) sources.
The only ID source that is not known to be a UUID is the WID.
My standard approach to ensure uniqueness of ID's from various external sources would be to save two fields, external_source
(e.g. "workday") and external_id
(e.g. "85bb0669d8ac412582c0a473f7074d79"). When combined, these two fields assure uniqueness of person ID's across all sources and employers. But if I can confirm that the WID is in fact a UUID, I can make some desirable optimizations.
I've found no explicit definition of WID in Workday documentation of the WID other than, "The unique identifier type. Each "ID" for an instance of an object contains a type and a value. A single instance of an object can have multiple 'ID' but only a single 'ID' per 'type'. " from https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v20/Get_Workers.html
All the samples of WID's I've seen are 32-character hexadecimal strings, matching some non-authoritative articles I've found. I've not found any Workday documentation that spec's that they will always be in that format. They are not formatted with hyphens like a UUID, but could be arranged that way.
So...does anyone have a reference to Workday documentation that specify the contents of a WID? Lacking official docs, does anyone have practical knowledge about it?