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-PhoneStyle agisce sulle proprietà “normalize phone”

Polymorphic styles

A seguire la lista degli stili polimorfici supportati dal HTTP header Crm-PhoneStyle

Full

Serializzazione completa dell'intera struttura dati

"phones": [
        {
            "displayNumber": "11111",
            "macroType": 0,
            "note": "",
            "number": "11111",
            "subType": 0
        },
        {
            "displayNumber": "22222",
            "macroType": 0,
            "note": "",
            "number": "22222",
            "subType": 0
        }
     ]

Compact

Serializza solo i campi "MacroType≡Kind" and "Phone≡Value".

Nel caso di "MacroType == Phone", allora anche "SubType≡SubKind" è serializzato

"phones": [
        {
            "kind": "Phone",
            "value": "11111"
        },
        {
            "kind": "Phone",
            "value": "22222"
        }
      ]  

Tiny

Serializza solo il valore dei numero di telefono

"phones": [
        {
            "value": "11111"
        },
        {
            "value": "22222"
        }
     ] 

ValueOnly

Serializza i numero di telefono come arrary di stringhe

"phones": [
        "11111",
        "22222",
        "33333",
        "44444",
        "55555",
        "66666"
    ]

Csv

Rappresenta i numero di telefono come una stringa CSV (con separatore ";")

 "phones": "11111;22222;33333;44444;55555;66666"

FlattenedExpansion

I numeri di telefono sono "espansi" nel seguente set di campi JSON (opzionali):

  • phone_Primary -> per MacroType="Phone" con Position="primo in lista per MacroType"
  • phone_Others -> per MacroType="Phone" con Position="CSV dei successivi al primo per MacroType"
  • phone_Phone2_Primary -> per MacroType="Phone2" con Position="primo in lista per MacroType"
  • phone_Phone2_Others -> per MacroType="Phone2" con Position="CSV dei successivi al primo per MacroType"
  • phone_MobilePhone_Primary -> per MacroType="MobilePhone" con Position="primo in lista per MacroType"
  • phone_MobilePhone_Others -> per MacroType="MobilePhone" con Position="CSV dei successivi al primo per MacroType"
  • phone_MobilePhone2_Primary -> per MacroType="MobilePhone2" con Position="primo in lista per MacroType"
  • phone_MobilePhone2_Others -> per MacroType="MobilePhone2" con Position="CSV dei successivi al primo per MacroType"
  • phone_Assistant_Primary -> per MacroType="Assistant" con Position="primo in lista per MacroType"
  • phone_Assistant_Others -> per MacroType="Assistant" con Position="CSV dei successivi al primo per MacroType"
  • phone_Fax_Primary -> per MacroType="Fax" con Position="primo in lista per MacroType"
  • phone_Fax_Others -> per MacroType="Fax" con Position="CSV dei successivi al primo per MacroType"

Esempio:

{
   "phone_Primary": "11111",
   "phone_Others": "22222;33333",
   "phone_Phone2_Primary": "44444",
   "phone_Phone2_Others": "55555;66666"
}

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 typeNormalizePhoneJsonStyle
Required: