So was:
Campaign:
type: object
properties:
id:
type: string
description: "A GUID identifier"
referenceId:
type: string
description: "A consumers identifier they have used to map their own systems logic to this object."
name:
type: string
description: "'Great Campaign 2017' as an example"
Ich bin besorgt über die Referenz-ID .
Die Systemdomäne ist eine Plattform, die auf vielfältige Weise durch Datenexporte und -importe in verschiedenen Formaten (XML, Excel) in Dritte integriert wird. Es ist ausgereift genug, um es Dritten zu ermöglichen, sich über eine API in unser System zu integrieren, und das Design dieser API ist der Grund für diese Frage.
Wir haben ein Objekt, eine Kampagne, die eine ID hat, mit der die Ressource identifiziert und abgerufen werden kann. Verbraucher unserer API haben möglicherweise ihren eigenen Referenzcode für eine Kampagne in ihrer Domain.
Es gibt andere Objekte in unserem System mit Referenzfeldern von Drittanbietern wie diesem, die von unseren bestehenden Verbrauchern erwartet werden. Ich mache mir jedoch Sorgen, dass dies die Last der Zuordnung für uns bedeutet und wir nicht wissen, was diese Referenz-ID ist (Nummer, Text, JSON?), Und dass sie der API eine weitere verwirrende Eigenschaft für neue Verbraucher hinzufügt.
Wird es als schlechte Praxis oder schlechtes Design angesehen, Referenz-ID-Felder von Drittanbietern in den öffentlichen Objektdefinitionen für eine API zuzulassen?