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-EmailStyle agisce sulle proprietà “normalize email”
Polymorphic styles
A seguire la lista degli stili polimorfici supportati dal HTTP header Crm-EmailStyle
Full
Serializzazione completa dell'intera struttura dati
"emails": [
{
"displayName": "",
"email": "uno@acme.com",
"macroType": 0,
"note": "",
"position": 1,
"subType": 0
},
{
"displayName": "",
"email": "due@acme.com",
"macroType": 0,
"note": "",
"position": 2,
"subType": 0
}
]
Compact
Serializza solo i campi "MacroType≡Kind" and "EMail≡Value".
Nel caso di "MacroType == Custom", allora anche "SubType≡SubKind" è serializzato
"emails": [
{
"kind": "Custom",
"subKind": 0,
"value": "uno@acme.com"
},
{
"kind": "Custom",
"subKind": 0,
"value": "due@acme.com"
}
]
Tiny
Serializza solo il valore delle email
"emails": [
{
"value": "uno@acme.com"
},
{
"value": "due@acme.com"
}
]
ValueOnly
Serializza le email come arrary di stringhe
"emails": [
"uno@acme.com",
"due@acme.com",
"sette@acme.com",
"tre@acme.com",
"quattro@acme.com",
"cinque@acme.com",
"sei@acme.com"
]
Csv
Rappresenta le email come una stringa CSV (con separatore ";")
"emails": "uno@acme.com;due@acme.com;sette@acme.com;tre@acme.com"
FlattenedExpansion
Le email sono "espanse" nel seguente set di campi JSON (opzionali):
- email_Primary -> per MacroType="Custom" con Position="first by MacroType"
- email_Others -> per MacroType="Custom" con Position="CSV of any after the primary"
- email_MailingList_Primary -> per MacroType="MailingList" con Position="first by MacroType"
- email_MailingList_Others -> per MacroType="MailingList" con Position="CSV of any after the primary"
- email_Invoice_Primary -> per MacroType="Invoice" con Position="first by MacroType"
- email_Invoice_Others -> per MacroType="Invoice" con Position="CSV of any after the primary"
- email_Certified_Primary -> per MacroType="Certified" con Position="first by MacroType"
- email_Certified_Others -> per MacroType="Certified" con Position="CSV of any after the primary"
- email_Ticket_Primary -> per MacroType="Ticket" con Position="first by MacroType"
- email_Ticket_Others -> per MacroType="Ticket" con Position="CSV of any after the primary"
- email_Group_Primary -> per MacroType="Group" con Position="first by MacroType"
- email_Group_Others -> per MacroType="Group" con Position="CSV of any after the primary"
Esempio:
{
"email_Primary": "uno@acme.com",
"email_Others": "due@acme.com,sette@acme.com",
"email_MailingList_Primary": "tre@acme.com",
"email_MailingList_Others": "quattro@acme.com;cinque@acme.com;sei@acme.com",
}
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 | NormalizeEMailJsonStyle |
Required: |