Introduzione

Nei Paesi con normative pubblicitarie sui servizi finanziari, Meta potrebbe richiedere agli inserzionisti di verificare la propria identità e la propria licenza finanziaria. Le autorità di controllo forniranno a Meta un dataset di licenze finanziarie, che Meta userà per convalidare le licenze inviate dagli inserzionisti. Questo documento descrive in che modo le autorità di controllo condividono in modo sicuro i dati delle licenze con Meta e le specifiche tecniche per l'integrazione.

Panoramica

L'integrazione funziona nel modo seguente:

  1. Meta fornisce le credenziali SFTP: Meta invia i dettagli di accesso all'indirizzo e-mail confermato dell'autorità di controllo.
  2. L'autorità di controllo carica due file: un file config.json (metadati) e un file CSV (dati della licenza) vengono caricati sul server SFTP sicuro di Meta. Istruzioni per caricare i file.
  3. Meta inserisce i dati: i file vengono elaborati periodicamente.
  4. L'autorità di controllo carica i file regolarmente: le autorità di controllo sono responsabili del caricamento settimanale dei file aggiornati.

Cos'è config.json?

Il file config.json è un manifesto che contiene i metadati necessari per l'elaborazione. Deve essere incluso in ogni caricamento.

Campi

CampoTipoObbligatorioDescrizioneValori consentiti

versione

stringa

Versione dello schema usata per il file CSV della licenza.

"v1"

load_type

stringa

Indica se si tratta di un dataset completo o di un aggiornamento incrementale (solo delta).

"completo", "incrementale"

mode

stringa

  • Convalida: il file CSV viene controllato per verificarne la correttezza e l'integrità, ma non viene inserito.
  • Inserimento: il file CSV viene convalidato (usando gli stessi controlli della modalità di convalida), quindi inserito nella pipeline

"convalida", "inserimento"

support_email_addresses

array di stringhe

Indirizzi e-mail monitorati che Meta può usare per contatti relativi all'inserimento dei dati.

Esempio

{
  "version": "v1",
  "load_type": "full",
  "mode": "ingestion",
  "support_email_addresses": [
    "support@domain.com",
    "support2@domain.com"
  ]
}

Dati della licenza (CSV)

I dati di licenza sono forniti come file CSV. Il file può avere qualsiasi nome. Esistono due tipi di caricamento:

  • Caricamento completo: contiene l'insieme completo di tutti i dati della licenza.
  • Caricamento incrementale: contiene solo le modifiche (delta) dall'ultimo caricamento.

Regole generali

  • Le intestazioni delle colonne devono essere nella prima riga.
  • Tutte le intestazioni delle colonne devono essere uniche.
  • Devono essere presenti tutte le colonne obbligatorie.
  • Ogni riga deve disporre di un Credential_Id unico.
  • Gli errori a livello di riga non bloccano l'intero file. Le righe valide vengono comunque inserite. Ad esempio, se 50 righe su 100 000 contengono errori, le restanti 99 950 righe vengono elaborate normalmente.

Schema di caricamento completo (V1)

ColonnaObbligatorioTipoDescrizioneFormato/Valori consentitiEsempio

Credential_Id

stringa

Identificatore univoco della licenza. Viene visualizzato sulle inserzioni per servizi finanziari pubblicate.

Massimo 200 caratteri

123456789

License_Status

stringa

Stato della licenza.

ATTIVO, INATTIVO, LEGALLY_EXEMPT

ATTIVO

Licensee_Name

stringa

Nome con cui è registrata la licenza.

Massimo 200 caratteri

Mario Rossi

Licensee_Type

stringa

Tipo di entità che detiene la licenza.

PERSONA SINGOLA, AZIENDA, SCONOSCIUTO*

PERSONA SINGOLA

License_Expiration_Date

No

numero

Data di scadenza della licenza.

Marca temporale Unix

946684800

Address_Line_1

No

stringa

Indirizzo principale.

Massimo 200 caratteri

123 Main St

Address_Line_2

No

stringa

Indirizzo secondario.

Massimo 200 caratteri

Suite 100

Città

No

stringa

Città, località, paese o comune.

Massimo 200 caratteri

San Francisco

Stato

No

stringa

Stato, provincia, prefettura, contea o regione.

Massimo 200 caratteri

CA

Country_Code

No

stringa

Paese del licenziatario.

ISO 3166-1 alpha-2 (massimo 2 caratteri)

US

Postal_Code

No

stringa

Codice di avviamento postale.

Massimo 12 caratteri

94016

Phone_Numbers

Devi fornire almeno uno tra Phone_Numbers, Email_Addresses o Website_URLs.

stringa

Numeri di telefono registrati sulla licenza.

Delimitati da punto e virgola; Formato E.164; max. 16 caratteri ciascuno (include il prefisso +)

+15551234567;+15559876543

Email_Addresses

Devi fornire almeno uno tra Phone_Numbers, Email_Addresses o Website_URLs.

stringa

Indirizzi e-mail registrati sulla licenza.

Delimitati da punto e virgola; max. 254 caratteri ciascuno

jane.doe@gmail.com;info@firm.com

Website_URLs

Devi fornire almeno uno tra Phone_Numbers, Email_Addresses o Website_URLs.

stringa

Siti web registrati sulla licenza. Devono essere preceduti da "http://" o "https://".

Delimitati da punto e virgola; max. 2000 caratteri ciascuno

https://www.esempio.com;https://www.esempio2.com

Per evitare il furto di identità, frodi e usi impropri sulle piattaforme pubblicitarie di Meta, è essenziale effettuare un controllo della connessione. I dati della licenza finanziaria caricati devono fornire almeno uno dei seguenti elementi per ogni licenza: numeri di telefono, indirizzi e-mail o URL del sito web per eseguire questo controllo. Questo garantisce che l'inserzionista che tenta di fare pubblicità stia usando una licenza collegata all'entità nella verifica.

Schema incrementale (V1)

Lo schema incrementale usa le stesse colonne dello schema di caricamento completo, più una colonna aggiuntiva obbligatoria:

ColonnaObbligatorioTipoDescrizioneValori consentiti

Operazione

stringa

L'operazione da eseguire su questa riga.

UPSERT, DELETE

Regole di funzionamento

  • UPSERT: aggiunge una nuova licenza o ne aggiorna una esistente. Segue le stesse regole dei campi obbligatori/facoltativi dello schema di caricamento completo.
  • DELETE: rimuove una licenza. Solo Credential_Id è obbligatorio, tutti gli altri campi sono facoltativi.

Esempio di scenario di caricamento incrementale

Un insieme di dati iniziale contiene tre licenze: A, B, C.

Dopo tale operazione, si verificano le modifiche seguenti:

  • La licenza B è aggiornata.
  • La licenza C è stata eliminata.
  • La licenza D viene aggiunta.

Il CSV incrementale conterrebbe:

Credential_IdOperazione...

B

UPSERT

(altri campi)

C

ELIMINA

D

UPSERT

(altri campi)

La licenza A non è inclusa perché non ha subito modifiche.

L'orario dell'ultimo dataset inserito è disponibile tramite la cartella ingestion_history/ su SFTP (vedi sotto).

Processo di caricamento e inserimento SFTP

Come effettuare il caricamento

  1. Accedi al server SFTP usando le credenziali fornite da Meta.
  2. Carica sia config.json che il tuo file dati CSV nella directory predefinita.
  3. Attendi l'elaborazione. I file possono essere convalidati più volte al giorno usando la modalità validation in config.json ma i dati possono essere inseriti solo una volta al giorno.

Cosa succede dopo il caricamento

  • Dopo l'elaborazione, entrambi i file vengono spostati automaticamente in una directory validation_history/ o ingestion_history/ a seconda della modalità impostata in config.json. Se il file CSV caricato contiene errori a livello di riga, come valori obbligatori mancanti o valori non validi, verrà generato un file CSV separato che descrive gli errori. Prima di eseguire un inserimento, usa la modalità validation per confermare che i file vengano elaborati correttamente.
  • Ogni esecuzione crea una cartella con un'indicazione temporale (ad esempio, 2026-03-11T12-23-56Z/) contenente i file esatti usati nella directory della cronologia.
  • Se i file si trovano ancora nella directory predefinita (non in ingestion_history/ o validation_history/), l'elaborazione non è ancora avvenuta.
  • Mantenimento: il server SFTP conserva i file solo per 30 giorni.

Esempio: prima e dopo l'inserimento

Di seguito è illustrata la struttura del file prima e dopo un nuovo inserimento dell'11/03/2026 che ha coinvolto data1.csv e config.json con la modalità ingestion.

Prima dell'inserimento

config.json
data1.csv
ingestion_history/
  └── 2026-03-06T04-20-17Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv
validation_history/
  └── 2026-03-11T05-18-14Z/
       ├── config.json
       ├── data1.csv
       ├── csv_errors.csv
  └── 2026-03-06T01-15-24Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv

Dopo l'inserimento

ingestion_history/
  └── 2026-03-11T12-23-56Z/
       ├── config.json
       ├── data1.csv
  └── 2026-03-06T04-20-17Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv
validation_history/
  └── 2026-03-11T05-18-14Z/
       ├── config.json
       ├── data1.csv
       ├── csv_errors.csv
  └── 2026-03-06T01-15-24Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv

Per attivare un altro inserimento, carica nuovamente i nuovi file nella directory predefinita.

Note importanti

  • Tempo di elaborazione: potrebbe essere necessario fino a 1 giorno affinché i dati siano visibili nel sistema di Meta dopo l'inserimento.