Identificar usuarios
Asocia ideas, votos y comentarios con los usuarios de tu producto — y habilita la votación, que requiere identificación.
Identificar
Llamar a PH('identify', user) asocia todas las interacciones del widget (votos, ideas, comentarios) con un usuario concreto, y habilita la actividad personalizada del badge de notificaciones.
// Call after your user session is available
PH('identify', {
id: currentUser.id, // your internal user ID
email: currentUser.email, // optional — omit to avoid storing PII
name: currentUser.name, // optional — shown on ideas and comments
});El objeto de usuario acepta los siguientes campos:
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string | id o email | Tu ID de usuario interno. Se usa para deduplicar usuarios y votos entre sesiones. |
email | string | id o email | Dirección de email del usuario. Omítela en configuraciones orientadas a la privacidad — el widget funciona sin ella. |
name | string | No | Nombre visible en ideas y votos. |
ssoToken | string | No | JWT firmado en tu servidor con el secreto de tu organización. Si está presente, la identidad verificada del token tiene prioridad sobre los campos planos. Ver la guía de SSO. |
Sin un ssoToken, los campos id/email se aceptan tal cual: la petición está protegida por la lista de orígenes permitidos del widget, pero la identidad no está firmada. Para una identidad verificable criptográficamente, usa SSO.
// Verified identity: include a server-signed SSO token
PH('identify', {
id: currentUser.id,
email: currentUser.email,
name: currentUser.name,
ssoToken: '<jwt-from-your-server>', // see the SSO guide
});Modo privacidad: puedes pasar solo id — no se almacena ningún email. Los autores aparecerán como usuario anónimo en tu panel, pero sus votos se siguen deduplicando por ese ID; tú mantienes el mapeo usuario→ID en tu lado. Útil cuando tu política de retención de datos prohíbe enviar PII a herramientas de terceros.
Reglas de votación
La votación está ligada a la identidad del usuario. Las reglas son:
| Regla | Comportamiento |
|---|---|
| Identificación obligatoria | Solo los usuarios identificados (con id o email, o con un ssoToken válido) pueden votar. Un visitante anónimo que intente votar recibe un error de identificación requerida. |
| Un voto por idea | Cada usuario puede votar una idea una sola vez. La deduplicación usa el id externo si existe, y si no, el email. |
| El voto es un toggle | Si el usuario vuelve a pulsar el botón de voto en una idea que ya votó, el voto se retira. |
| Estado desde el servidor | El widget muestra el estado «ya votado» calculado en el servidor, por lo que es consistente entre dispositivos y sesiones del mismo usuario. |
Versiones anteriores del widget permitían votos anónimos e ilimitados. Si tu integración dependía de ese comportamiento, añade una llamada a PH('identify') tras el login de tu app — es el único cambio necesario.
Callback opcional
Pasa una función como tercer argumento — se llamará cuando el widget haya cargado y la identidad se haya aplicado.
PH('identify', {
id: currentUser.id,
email: currentUser.email, // optional
name: currentUser.name, // optional
}, function() {
console.log('User identified — widget is ready');
});Desidentificar
Llama a PH('unidentify') cuando el usuario cierre sesión. El widget volverá al modo anónimo (navegación sin voto).
// Call when your user logs out
PH('unidentify');Relacionado
SSO — identidad verificada con JWT · Patrones de identify en React, Next.js y Vue