Introducción

En los países en los que existan reglamentos sobre publicidad de servicios financieros, es posible que Meta requiera que los anunciantes verifiquen su identidad y licencia financiera. Los organismos reguladores proporcionarán a Meta un conjunto de datos de licencias financieras, que Meta utilizará para validar las licencias presentadas por los anunciantes. Este documento describe cómo los organismos reguladores comparten de forma segura datos de licencias con Meta y detalla las especificaciones técnicas para la integración.

Información general

La integración funciona de la siguiente manera:

  1. Meta proporciona las credenciales del SFTP: Meta envía los datos de inicio de sesión a la dirección de correo electrónico confirmada del organismo regulador.
  2. El regulador sube dos archivos: un archivo config.json (metadatos) y un archivo CSV (datos de licencia) se suben al servidor SFTP seguro de Meta. Instrucciones para subir archivos.
  3. Meta ingiere los datos: los archivos se procesan de forma periódica.
  4. El regulador sube archivos de forma regular: los reguladores son responsables de subir archivos actualizados con frecuencia semanal.

¿Qué es el archivo “config.json”?

El archivo config.json es un manifiesto que contiene metadatos necesarios para su procesamiento. Se debe incluir en todas las subidas.

Campos

CampoTipoObligatorioDescripciónValores permitidos

version

string

Versión del esquema usado para el archivo CSV de licencia.

"v1"

load_type

string

Indica si se trata de un conjunto de datos full o una actualización incremental (solo deltas).

"full", "incremental"

modo

string

  • Validación: el archivo CSV se comprueba para garantizar su integridad y que sea correcto, pero no se ingiere.
  • Ingesta: el archivo CSV se valida (con las mismas comprobaciones que el modo de validación) y, luego, se introduce en el pipeline.

"validation", "ingestion"

support_email_addresses

matriz de cadena

Las direcciones de correo electrónico supervisadas que Meta puede usar para la comunicación relativa a la ingesta de datos.

Ejemplo

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

Datos de licencia (CSV)

Los datos de la licencia se proporcionan en un archivo CSV. El archivo puede tener cualquier nombre. Existen dos tipos de carga:

  • Carga completa: contiene el conjunto completo de todos los datos de licencia.
  • Carga incremental: contiene solo los cambios (deltas) desde la última subida.

Reglas generales

  • Los encabezados de las columnas deben encontrarse en la primera fila.
  • Todos los encabezados de las columnas deben ser únicos.
  • Todas las columnas obligatorias deben estar presentes.
  • Cada fila debe tener un valor de Credential_Id único.
  • Los errores en las filas no bloquean el archivo completo. Las filas válidas se siguen ingiriendo. Por ejemplo, si 50 de 100 000 filas contienen errores, las 99 950 filas restantes se procesarán con normalidad.

Esquema de carga completa (V1)

ColumnaObligatorioTipoDescripciónFormato/valores permitidosEjemplo

Credential_Id

string

Identificador único de la licencia. Se muestra en los anuncios sobre servicios financieros publicados.

Máximo 200 caracteres

123456789

License_Status

string

Estado de la licencia.

ACTIVE, INACTIVE, LEGALLY_EXEMPT

ACTIVE

Licensee_Name

string

Nombre con el que se registra la licencia.

Máximo 200 caracteres

Jane Doe

Licensee_Type

string

Tipo de entidad que posee la licencia.

INDIVIDUAL, FIRM, UNKNOWN*

INDIVIDUAL

License_Expiration_Date

No

número

Fecha de caducidad de la licencia.

Marca de tiempo Unix

946684800

Address_Line_1

No

string

Dirección postal principal.

Máximo 200 caracteres

123 Main St

Address_Line_2

No

string

Dirección postal secundaria.

Máximo 200 caracteres

Suite 100

Ciudad

No

string

Ciudad, localidad, pueblo o municipio.

Máximo 200 caracteres

San Francisco

Estado

No

string

Estado, provincia, prefectura, condado o región.

Máximo 200 caracteres

CA

Country_Code

No

string

País del licenciatario.

ISO 3166-1 alpha-2 (máx. 2 caracteres)

EE. UU.

Postal_Code

No

string

Código postal.

12 caracteres como máximo

94016

Phone_Numbers

Debe proporcionarse al menos uno: “Phone_Numbers”, “Email_Addresses” o “Website_URLs”.

string

Números de teléfono registrados en la licencia.

Delimitado con punto y coma; Formato E.164; 16 caracteres como máximo cada uno (incluye el prefijo +)

+15551234567;+15559876543

Email_Addresses

Debe proporcionarse al menos uno: Phone_Numbers, Email_Addresses o Website_URLs.

string

Las direcciones de correo electrónico registradas en la licencia.

Delimitado por punto y coma; 254 caracteres como máximo cada uno

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

Website_URLs

Debe proporcionarse al menos uno: Phone_Numbers, Email_Addresses o Website_URLs.

string

Los sitios web registrados en la licencia. Debe incluir “http://” o “https://” al principio.

Delimitado por punto y coma; 2000 caracteres como máximo cada uno

https://www.example.com;https://www.example2.com

Para evitar la suplantación, el fraude y los abusos en las plataformas publicitarias de Meta, es fundamental realizar una comprobación de conexión. Los datos de la licencia financiera subidos deben proporcionar al menos uno de los siguientes datos de cada licencia: números de teléfono, direcciones de correo electrónico o URL de sitios web para realizar esta comprobación. De esta forma, se garantiza que el anunciante que intenta publicar anuncios está usando una licencia conectada a la entidad en la verificación.

Esquema incremental (V1)

El esquema incremental utiliza las mismas columnas que el esquema de carga completa, además de una columna adicional obligatoria:

ColumnaObligatorioTipoDescripciónValores permitidos

Operación

string

La operación que se va a realizar en esta fila.

UPSERT, DELETE

Reglas de funcionamiento

  • UPSERT: añade una nueva licencia o actualiza una existente. Sigue las mismas reglas de campos obligatorios y opcionales que el esquema de carga completa.
  • DELETE: retira una licencia. Solo Credential_Id el obligatorio: todos los demás campos son opcionales.

Ejemplo de situación de carga incremental

Un conjunto de datos inicial contiene tres licencias: A, B y C.

Después se producirán los siguientes cambios:

  • Se actualiza la licencia B.
  • Se elimina la licencia C.
  • Se añade la licencia D.

El archivo CSV incremental incluiría lo siguiente:

Credential_IdOperación...

B

UPSERT

(otros campos)

C

DELETE

D

UPSERT

(otros campos)

La licencia A no se incluye porque no ha tenido ningún cambio.

La marca de tiempo de tu último conjunto de datos ingerido está disponible a través de la carpeta ingestion_history/ en SFTP (consulta a continuación).

Proceso de subida e ingesta de SFTP

Cómo realizar la subida

  1. Inicia sesión en el servidor SFTP con las credenciales que te ha proporcionado Meta.
  2. Sube tanto config.json como tu archivo de datos CSV a tu directorio predeterminado.
  3. Espera a que se procese. Los archivos se pueden validar varias veces al día usando el modo validation en config.json, pero los datos solo se pueden ingerir una vez al día.

Qué ocurre tras la subida

  • Tras el procesamiento, ambos archivos se mueven automáticamente a un directorio validation_history/ o ingestion_history/ en función del modo establecido en config.json. Si el archivo CSV subido contiene algún error en las filas, como valores obligatorios que no están presentes o valores que no son válidos, se generará un archivo CSV independiente que detalle esos errores. Antes de realizar una ingesta, usa el modo validation para confirmar que los archivos se procesarán correctamente.
  • Cada ejecución crea una carpeta con una marca de tiempo (p. ej., 2026-03-11T12-23-56Z/) que contiene los archivos usados exactamente en el directorio del historial.
  • Si tus archivos siguen en el directorio predeterminado (no en ingestion_history/ o validation_history/), aún no se han procesado.
  • Retención: el servidor SFTP solo retiene los archivos durante 30 días.

Ejemplo: antes y después de la ingesta

A continuación se muestra la estructura de archivos antes y después de una nueva ingesta el 11/03/26 que involucra data1.csv y config.json con el modo ingestion.

Antes de la ingesta

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

Después de la ingesta

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

Para activar otra ingesta, vuelve a subir nuevos archivos a tu directorio predeterminado.

Notas importantes

  • Tiempo de procesamiento: los datos pueden tardar hasta un día en aparecer en el sistema de Meta tras la ingesta.