Questo enum definisce un set di stili di serializzazione polimorfica.
Ogni valore dell'enum rappresenta un diverso stile (applicabile ad una o più proprietà di uno o più DTO).

HTTP Header

L'header HTTP Crm-OwnerIdStyle agisce sulle proprietà “owner” di tutti i BO.

Stili polimorfici

Di seguito una lista degli stili polimorfici supportati dall'header HTTP Crm-OwnerIdStyle

Id

Ogni "owner" è rappresentato dal corrispondente ID nativo dell’account presente nel database di CRM in Cloud

{
 "ownerId": 3
}

AdaptiveUserAccount

Ogni "owner" è rappresentato da una stringa che contiene lo username dell’account corrispondente nel database di CRM in Cloud

{
 "ownerId": "mario.rossi@admin.com"
}

oppure, se la correlazione punta ad un Account eliminato o non caricabile dall'utente corrente

{
 "ownerId": 3
}

AdaptiveStringOnlyUserAccount

Funziona allo stesso modo di AdaptiveUserAccount, con la differenza che tutti i valori ritornati/serializzati sono sempre in formato stringa (inclusi i valori numerici degli id).

In presenza di un Account caricabile, il JSON assume questa forma:

{
 "ownerId": "mario.rossi@admin.com"
}

Se la correlazione punta ad un Account eliminato o non caricabile dall'utente corrente, il JSON assume questa forma:

{
 "ownerId": "3"
}

StrictEmail

Ogni "owner" è rappresentato da una stringa che contiene lo username in formato email dell’account corrispondente nel database di CRM in Cloud

In presenza di un Account caricabile, il JSON assume questa forma:

{
 "ownerId": "mario.rossi@admin.com"
}

Se la correlazione punta ad un Account eliminato o non caricabile dall'utente corrente, la serializzazione fallisce

AdaptiveExternalReference

Ogni "owner" è rappresentato da una stringa che contiene lo username dell’account corrispondente nel database del client chiamante.

{
 "ownerId": "mario.rossi@admin.com"
}

Attenzione: questo valore dell’opzione deve essere usato in concomitanza con l’opzione Crm-ApplicationName, che consente a CRM in Cloud di identificare l’applicazione chiamante, ed eseguire i relativi mappings per la risoluzione degli account

FlattenedExpansion

La foreign key che connette il campo ownerId all'entità UserAccount è "espansa" nel seguente set di campi JSON:

{
 "ownerId":3,
 "ownerId_UserAccount": "mario.rossi@admin.com",
 "ownerId_FriendlyName": "Mario Rossi"
}
  • ownerId = Durante la serializzazione, contiene l'ID (intero) nativo dell'Account nel database. Durante la deserializzazione, può contenere sia questo ID (intero), sia una stringa contenente il valore del campo UserAccount dell'account collegato. Se specificato, ha la precedenza su ownerId_UserAccount durante la deserializzazione
  • ownerId_UserAccount = UserAccount dell'account nel database. In fase di deserializzazione può essere utilizzato al posto di ownerId (se non presente). Se vengono specificati sia ownerId che ownerId_UserAccount, il campo ownerId_UserAccount ha meno precedenza di ownerId
  • ownerId_FriendlyName = concatenazione dei campi Name e Surname di Account. Viene ignorato nella fase di deserializzazione.

Approfondimenti circa l'uso delle opzioni di serializzazione polimorfica

Le opzioni di serializzazione polimorfica agiscono ad un livello altamente granulare, consentendo una customizzazione più “chirurgica” di quanto sia possibile fare con le opzioni di formattazione.

Come già indicato nella sezione delle Opzioni, le funzioni delle API REST implementate in CRM in Cloud includono un vasto set di funzioni che consentono di adattare struttura e forma dei pacchetti JSON in base alle proprie esigenze e preferenze.

Consultare la sezione delle Opzioni per ottenere tutti i dettagli relativi al loro uso


Schema

La seguente tabella contiene le informazioni principali relative allo schema di questo tipo di dati.

FeatureValue
Complex typeOwnerIdJsonStyle
Required: