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
Normaliza antes de enviar
Valida emails y
externalIdunicos en tu lado. Duplicados en el mismo lote pueden provocar rechazos parciales segun la implementacion del servidor.Registra consentimiento
Incluye
optInyconsentVersioncoherentes con tu politica de privacidad, sobre todo tras migraciones GDPR.Asigna locale
Define
localecuando vayas a enviar campanas multi-idioma; facilita la cobertura de variantes.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.