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.

FeatureValue
Complex typeNormalizeEMailJsonStyle
Required: