Da un export disordinato a un file di importazione documentato
Dati sintetici per la dimostrazione. Lo schema di destinazione è solo un esempio; non è stata tentata alcuna importazione in un CRM reale.
Ogni record di origine ha una destinazione: il file di importazione di esempio o la coda di revisione. I record con ID in conflitto restano esclusi dal file di importazione finché una persona non risolve il conflitto.
Riconciliazione: 14 record di origine = 6 pronti per l’importazione + 8 da revisionare.
1. Lo schema di destinazione concordato per l’esempio
UTF-8, valori separati da virgole e fine riga LF. Tutti e cinque i valori sono di tipo testo; ID, nome ed email sono obbligatori. Gli zeri degli ID, i prefissi telefonici e i caratteri Unicode restano intatti. Le colonne del file di output seguono l’ordine indicato sotto.
| origine | destinazione |
|---|---|
| External ID | contact_id |
| Contact Name | full_name |
| Email Address | |
| Phone Number | phone |
| Company Name | company |
2. Record conformi allo schema di esempio
Vengono modificati solo gli spazi iniziali e finali e l’uso di maiuscole e minuscole nelle email. Non vengono aggiunti dati né verificate le caselle email.
| contact_id | full_name | phone | company | |
|---|---|---|---|---|
| 0001 | Alice Bianchi | alice.bianchi@example.test | +39 02 5550 0101 | Demo Italia |
| 0005 | 李 明 | li.ming@example.test | +86 10 5550 0105 | Unicode Demo |
| 0006 | Sara Example | sara@example.test | 0123456789 | <Demo & Sons> |
| 0008 | Élodie Dubois | elodie@example.test | 0033 1 5550 0108 | Démo SAS |
| 0009 | Sam Example | sam@example.test | ||
| 0010 | Amina Example | amina@example.test | 0001234500 | Demo Trading |
3. Coda di revisione: nessun record scartato senza traccia
La numerazione dei record parte da 1 ed esclude l’intestazione. Il CSV conserva anche i valori originali di ogni record da revisionare in formato JSON.
| source_record | reason_codes | related_source_records | contact_id | full_name | phone | company | |
|---|---|---|---|---|---|---|---|
| 2 | duplicate_conflict | 7 | 0002 | Zoë Müller | zoe.mueller@example.test | 0049 30 5550 0102 | Demo GmbH |
| 3 | missing_email | 0003 | Renée O’Connor | 00353 1 5550 0103 | Demo Ireland | ||
| 4 | invalid_email | 0004 | Diego García | diego@@example.test | +34 91 5550 0104 | Demo España | |
| 6 | duplicate_exact | 1 | 0001 | Alice Bianchi | alice.bianchi@example.test | +39 02 5550 0101 | Demo Italia |
| 7 | duplicate_conflict | 2 | 0002 | Zoë Müller | zoe.changed@example.test | 0049 30 5550 0102 | Demo GmbH |
| 8 | blank_row | ||||||
| 10 | missing_full_name | 0007 | no.name@example.test | Demo One | |||
| 11 | missing_contact_id | No ID Example | no.id@example.test | Demo One |
4. Regole esplicite per duplicati e accettazione
- ID testuale esattamente uguale e valori normalizzati identici: viene mantenuto il primo record idoneo; le copie successive vengono inviate in revisione.
- Stesso ID con almeno un valore in conflitto: tutte le versioni vengono inviate in revisione, compresa la prima.
- I record vuoti, quelli con valori obbligatori mancanti e quelli con indirizzi email dal formato non valido vengono inviati in revisione.
- L’accettazione richiede la conformità allo schema documentato e la riconciliazione di tutti i record. Non dimostra la compatibilità con un CRM reale.
CSV di importazione di esempioCSV dei record da revisionareAudit JSON per ogni record