HoraMatch Developers

Guía CRM

Captura un contacto sin duplicarlo.

El upsert normaliza el punto de contacto, resuelve la identidad canónica y conserva idempotencia ante reintentos.

Envía una identidad estable

Usa una clave idempotente derivada del envío original de tu formulario. Reutiliza la misma clave y el mismo cuerpo al reintentar.

const contact = await hm.crm.contacts.upsert({
  displayName: 'Ada Lovelace',
  source: 'lead-form',
  point: {
    type: 'email',
    value: 'ada@example.com',
    consentStatus: 'granted',
  },
}, { idempotencyKey: 'lead_form_01HORAMATCH' });

Trata los conflictos como datos

  • created indica si se creó una identidad nueva.
  • revision alimenta el siguiente cambio con CAS.
  • CRM_DUPLICATE_CONTACT nunca debe resolverse sobrescribiendo a ciegas.