Comme ça:
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"
Je suis préoccupé par le referenceId .
Le domaine du système est une plate-forme qui est intégrée avec des tiers à bien des égards par le biais d'exportations et d'importations de données de différents formats (xml, excel). Il est suffisamment mature pour permettre à des tiers de s'intégrer à notre système via une API et la conception de cette API est ce qui pose cette question.
Nous avons un objet, une campagne, qui a un identifiant qui peut être utilisé pour identifier et récupérer la ressource. Les consommateurs de notre API peuvent avoir leur propre code de référence pour ce qu'ils considèrent comme une campagne dans leur domaine.
Il existe d'autres objets dans notre système avec des champs de référence tiers comme celui-ci et il est attendu de nos consommateurs existants. Cependant, je crains que cela nous impose le fardeau de la cartographie et que nous ne savons pas ce que est ce referenceId (nombre, texte, json?) Et qu'il ajoute une autre propriété déroutante à l'API pour les nouveaux consommateurs.
Est-il considéré comme une mauvaise pratique ou une mauvaise conception d'autoriser les champs d'ID de référence tiers dans les définitions d'objet public pour une API?