DocumentacionCrear o actualizar contacto

Crear o actualizar contacto

PUT /contacts con externalId, locale, optIn y atributos.

Usa PUT /contacts para dar de alta o actualizar un contacto de forma idempotente. La clave es externalId: si ya existe en el tenant, se actualiza; si no, se crea.

Scope requerido: contacts:write.

Peticion

curl -X PUT "https://api.mailingcore.com/contacts" \
  -H "Authorization: Bearer mc_live_xxxx" \
  -H "X-Tenant-Id: clxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "externalId": "crm-user-48291",
    "locale": "es",
    "optIn": true,
    "consentVersion": "2026-01",
    "source": "signup-form",
    "projectId": "proyecto-norte",
    "attributes": {
      "sede": "Madrid"
    }
  }'

Campos del body

CampoObligatorioDescripcion
emailSiEmail del contacto
externalIdSiId estable en tu sistema
localeNoes, en, it, fr, ca, de
optInNotrue para suscripcion activa
consentVersionNoReferencia a la version del consentimiento
sourceNoOrigen del registro
projectIdNoSegmento o proyecto del tenant
attributesNoObjeto JSON; allowlist por defecto incluye sede

Errores habituales

CodigoCausa
403Falta scope contacts:write
400Email invalido o atributo fuera del allowlist
401API key invalida o tenant incorrecto

Ver Codigos de error para el formato JSON de respuesta.

Borrado GDPR

Para ejercer el derecho al olvido de un contacto concreto:

curl -X DELETE "https://api.mailingcore.com/contacts/crm-user-48291" \
  -H "Authorization: Bearer mc_live_xxxx" \
  -H "X-Tenant-Id: clxxxxxxxx"

Detalle del flujo de bajas en Bajas y GDPR.