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.
Feature | Value |
---|---|
Complex type | NormalizePhoneJsonStyle |
Required: |