我正在与Workday集成,并通过他们的WID (Workday ID)跟踪人员,例如85bb0669d8ac412582c0a473f7074d79
。该WID可能与使用完全不同的Workday帐户的不相关雇主的WID交织在一起,也可能与来自其他(非Workday)来源的id(已知为UUID)交织在一起。
唯一不知道是UUID的ID源是WID。
我确保来自各种外部来源的ID的唯一性的标准方法是保存两个字段,external_source
(例如"工作日")和external_id
(例如"85bb0669d8ac412582c0a473f7074d79")。结合使用时,这两个字段确保了所有来源和雇主的人员ID的唯一性。但是如果我能确认WID实际上是一个UUID,我就可以进行一些理想的优化。
我在工作日的WID文档中没有发现WID的明确定义,除了"唯一标识符类型"。每个"ID"对象的实例包含一个类型和一个值。对象的单个实例可以有多个"ID",但每个"类型"只能有一个"ID"。";从https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v20/Get_Workers.html
我看到的所有WID的样本都是32字符的十六进制字符串,与我找到的一些非权威文章相匹配。我还没有发现任何Workday文档说明它们将始终采用这种格式。它们没有像UUID那样用连字符格式化,但可以这样排列。
所以…有没有人有一个工作日的参考文档,指定WID的内容?缺乏官方文件,有人对它有实际的了解吗?
回答晚了,但也许这将是有帮助的。WIDs是在创建对象时分配给对象的不可变的惟一ID。关于员工:
- 假设John Doe被雇用在生产中,他得到一个WID
1234A...
。 - 如果您在不同的impl租户中再次手动雇用John Doe来重现某些场景,该John Doe将具有不同的WID
987B...
。 - 如果您在沙盒中测试John Doe(环境是生产环境的副本),沙盒John Doe将在两个环境中具有相同的WID,
1234A...
。
请密切注意您使用的对象作为WID的引用对象,这里有一些"gotcha">
- Workers和Workday Accounts在Workday中都是不同的对象,并且都有自己的WID。
- 转换为员工的临时员工和临时员工记录的WID将不同。如果这产生了问题,"通用id";是一种ID类型,您可以设置它在"person"中保持相同。候选人、雇员和承包商都将拥有相同的通用ID,但WIDs不同。