Seperti ini:
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"
Saya prihatin dengan referenceId .
Domain sistem adalah platform yang terintegrasi dengan pihak ke-3 dalam banyak hal melalui ekspor data dan impor berbagai format (xml, excel). Cukup matang untuk memungkinkan pihak ke-3 untuk berintegrasi dengan sistem kami melalui API dan desain API ini adalah apa yang mendorong pertanyaan ini.
Kami memiliki objek, Kampanye, yang memiliki id yang dapat digunakan untuk mengidentifikasi dan mengambil sumber daya. Konsumen API kami mungkin memiliki kode referensi sendiri untuk apa yang mereka anggap sebagai Kampanye dalam domain mereka.
Ada objek lain di sistem kami dengan bidang referensi pihak ke-3 seperti ini dan diharapkan dari konsumen kami yang ada. Namun saya khawatir itu menempatkan beban pemetaan pada kami dan kami tidak tahu apa itu referenceId (angka, teks, json?) Dan itu menambah properti membingungkan lainnya ke API untuk konsumen baru.
Apakah dianggap praktik yang buruk atau desain yang buruk untuk memungkinkan bidang ID rujukan pihak ketiga dalam definisi objek publik untuk API?