(it) Tutorial

Prerequisiti

Per poter trarre vantaggio da questo tutorial, è necessario avere:

  • Conoscenza di base del formato JSON.
  • Conoscenza delle varie opzioni disponibili nei file di configurazione.
  • Conoscenza di base dei concetti legati ai database e dei termini correlati: dati, aggiornamenti, ecc.

Caso d'Uso 1

Questo caso descrive il file di configurazione per l'universo "myuniverse_crm".

Josh Beets è direttore del CRM presso la sua azienda, il che lo rende responsabile della creazione e della manutenzione del file di configurazione per gli import.

Contesto: contatti

Josh definisce due sottosequenze per questo contesto, PRCL e MGTSB:

  1. La sottosequenza PRCL consente di creare e aggiornare i contatti esistenti ("creare contatti": "1", "aggiornare contatti": "1"). Inoltre, la lista 0 viene reimpostata per questo import (“init lists”: [0]) – la chiamiamo sincronizzazione "full-mode". In questo modo, se tutti i contatti importati sono iscritti a questa lista, sarà sempre possibile selezionare l'import più recente.
  2. Lo scopo della sottosequenza MGTSB è quello di inserire i contatti nell'elenco 1. L'elenco viene cancellato prima di ogni import (“init lists”: [1]) e si previene la creazione di nuovi contatti (“create contacts”: “0”).

Poiché si suppone che tutti i contatti provengano dalla Francia, Josh vuole applicare il prefisso internazionale francese a tutti i numeri di telefono che non lo contengono (“default cellphone prefix”: “+33”).

Contesto: prodotti

In questo caso, le sottosequenze vengono utilizzate anche per scopi diversi.

  1. La sottosequenza ERP viene utilizzata per aggiornare i prodotti esistenti nel database e verrà utilizzata ogni volta che sarà necessario modificare la descrizione o il prezzo di un prodotto. Non è possibile aggiungere nuovi prodotti con questo import (“crea prodotti”: “0”, “aggiorna prodotti”: “1”).
  2. Invece, sia MGTEN che MGTFR sono pensati per aggiungere nuovi prodotti. Quando un'opzione non è presente, Splio adotta il suo valore predefinito (“crea prodotti”: “1”, “aggiorna prodotti”: “1”).

Ulteriori dettagli

I contesti rimanenti, ordini e ordersitems, non contengono restrizioni.

Prima di inoltrare il file, Josh deve assicurarsi di aver fornito gli indirizzi e-mail per ricevere i report degli import (“report recipients”: [“[email protected]”]) e gli avvisi (“alert recipients”: [“[email protected]”]).

Inoltre, ha impostato l'opzione di sovrascrittura su zero (“sovrascrivi con valori vuoti”: “0”). Si tratta di un aspetto importante quando si importano contatti o altri dati già presenti nel database. Con questa opzione impostata su 0, Josh è sicuro che il valore nella base sarà mantenuto se il campo nel file è vuoto.

Una volta ricontrollato tutto, Josh invia il file a Splio.

Il file JSON

Qui di seguito è possibile vedere il file JSON inviato a Splio.

 "myuniverse_crm":{
     "contacts":{
       "PRCL":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0", 
         "default cellphone prefix": "33",
         "create contacts": "1", 
         "update contacts": "1",
         "init lists": [0]
       },
       "MGTSB":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0", 
         "default cellphone prefix": "33",
         "create contacts": "0", 
         "update contacts": "1",
         "init lists": [1]
       }
     },
     "orders":{
       "ERP":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0"
       }
     },
     "ordersitems":{
       "ERP":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0"
       }
     },
     "products":{
       "ERP":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0",
         "create products": "0", 
         "update products": "1"
       },
       "MGTEN":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0"
       },
       "MGTFR":{
         "report recipients": ["[email protected]"],
         "alert recipients": ["[email protected]"], 
         "overwrite with empty values": "0"
       }
     }
   }
 }

Caso d'Uso 2

Il caso 2 presenta un file di configurazione con criteri leggermente diversi rispetto al caso 1. Dà priorità al file importato (“sovrascrivi con valori vuoti”: “1”), il che significa che se un dato viene aggiornato, tutti i dati verranno sovrascritti, anche se il campo nel file importato è vuoto.

Bill Hook, un vicedirettore marketing, ha il compito di preparare il file di configurazione. Utilizzerà gli stessi indirizzi e-mail per i report e gli avvisi in tutti i contesti e le sottosequenze.

Contesto: contatti

In questo contesto, Bill definirà due sotto-sequenze:

  1. La sotto-sequenza “”full” ha lo scopo di reimportare l'intera raccolta di contatti da una fonte esterna. Per questo motivo, consente di creare (“create contacts”: “1”) e aggiornare (“update contacts”: “1”) gli account. La regola che consente di sostituire i valori con dei NULL (“sovrascrivi con valori vuoti”: “1”) sarà utile in questo caso: se alcune informazioni sono state rimosse nella fonte, saranno rimosse anche dalla base dei contatti in Splio. Bill si assicura anche di azzerare la lista 0 (“init lists”: [0]), che verrà poi riempita con i dati importati.
  2. La sotto-sequenza “incremental” è definita allo stesso modo della “full” con una differenza significativa: la lista 0 non viene svuotata. Ciò significa che questa importazione sarà in grado di aggiungere e rimuovere membri dalla lista utilizzando i valori nel campo “iscrizione” o lasciandola invariata.

Entrambi i procedimenti presuppongono che i numeri di telefono importati siano francesi ("prefisso predefinito per i cellulari": "33"), indicando a Splio di utilizzare il prefisso francese per tutti i numeri che non lo hanno.

Contesto: ordini, ordersitems e prodotti

I contesti rimanenti non utilizzano alcuna restrizione speciale. Bill mantiene le opzioni per consentire la creazione e l'aggiornamento dei dati relativi ai prodotti come erano nella versione precedente del file (“create products”: “1”, “update products”: “1”). Anche se questi sono i valori predefiniti e potrebbero essere rimossi, li lascia per ricordarsi che questa procedura durante l'importazione è importante.

Il file JSON

Il file JSON completo è riportato qui di seguito.

{
   "mybrand2":{
     "contacts":{
       "full":{
         "report recipients": ["[email protected] , [email protected]"],
         "alert recipients": ["[email protected] , [email protected]"], 
         "overwrite with empty values": "1", 
         "default cellphone prefix": "33",
         "create contacts": "1", 
         "update contacts": "1",
         "init lists": [0]
       },
       "incremental":{
         "report recipients": ["[email protected] , [email protected]"],
         "alert recipients": ["[email protected] , [email protected]"], 
         "overwrite with empty values": "1", 
         "default cellphone prefix": "33",
         "create contacts": "1", 
         "update contacts": "1"
       }
     },
     "orders":{
       "default":{
         "report recipients": ["[email protected] , [email protected]"],
         "alert recipients": ["[email protected] , [email protected]"], 
         "overwrite with empty values": "1"
       }
     },
     "ordersitems":{
       "default":{
         "report recipients": ["[email protected] , [email protected]"],
         "alert recipients": ["[email protected] , [email protected]"], 
         "overwrite with empty values": "1"
       }
     },
     "products":{
       "default":{
         "report recipients": ["[email protected] , [email protected]"],
         "alert recipients": ["[email protected] , [email protected]"], 
         "overwrite with empty values": "1",
         "create products": "1", 
         "update products": "1"
       }
     }
   } 
 }