DocumentacionImportacion masiva

Importacion masiva

POST /contacts/bulk para sincronizar hasta 1000 contactos por peticion.

Cuando migras desde otro proveedor o sincronizas un CRM, usa POST /contacts/bulk para enviar lotes de contactos en una sola peticion.

Scope requerido: contacts:write.

Limite por peticion

El maximo de contactos por request lo define la variable de entorno CONTACTS_BULK_MAX en el servidor (valor por defecto 1000). Si superas el limite, la API responde con error de validacion.

Ejemplo

curl -X POST "https://api.mailingcore.com/contacts/bulk" \
  -H "Authorization: Bearer mc_live_xxxx" \
  -H "X-Tenant-Id: clxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "contacts": [
      {
        "email": "[email protected]",
        "externalId": "ext-001",
        "locale": "es",
        "optIn": true,
        "source": "csv-import"
      },
      {
        "email": "[email protected]",
        "externalId": "ext-002",
        "locale": "en",
        "optIn": true,
        "consentVersion": "2026-01",
        "attributes": { "sede": "Barcelona" }
      }
    ]
  }'

Cada elemento del array acepta los mismos campos que Crear o actualizar contacto: email, externalId, locale, optIn, consentVersion, source, projectId, attributes.

Buenas practicas

  1. Normaliza antes de enviar

    Valida emails y externalId unicos en tu lado. Duplicados en el mismo lote pueden provocar rechazos parciales segun la implementacion del servidor.

  2. Registra consentimiento

    Incluye optIn y consentVersion coherentes con tu politica de privacidad, sobre todo tras migraciones GDPR.

  3. Asigna locale

    Define locale cuando vayas a enviar campanas multi-idioma; facilita la cobertura de variantes.

  4. Monitoriza errores

    Guarda el resultado de cada lote y reintenta solo los registros fallidos.

Siguiente paso

Tras importar, crea una campana con filtros de audiencia en Crear y enviar campana.