WhatsApp

Depende de: auth

Permite que los usuarios se registren e inicien sesión con un código de un solo uso enviado por WhatsApp, junto al correo electrónico. vela enable whatsapp añade la opción “Continuar con WhatsApp” a las páginas de login y registro que creó vela enable auth.

Sintaxis

$ vela enable whatsapp

Ejecuta primero vela enable auth. El inicio de sesión con WhatsApp viene de un plugin de pocketbase-server 0.40.5-beta.5 y posteriores; con un PocketBase anterior el comando se detiene e indica qué actualizar.

Qué añade

  • Una opción Continuar con WhatsApp en /login y /signup. El usuario introduce su número, recibe un código por WhatsApp y lo escribe en /whatsapp/[token].
  • src/lib/server/whatsapp.ts, las llamadas al plugin de PocketBase.
  • Los campos phone y phoneVerified en users. El número es único entre los usuarios que tienen uno.
  • Las cuentas nuevas llegan a /welcome para elegir un nombre, ya que solo tienen un número.

El correo electrónico pasa a ser opcional

Un registro con WhatsApp no tiene correo electrónico, así que enable whatsapp hace opcional email en users. Las páginas que generan auth, teams y payments ya admiten usuarios sin él:

  • Los ajustes les ocultan las secciones de correo, verificación y contraseña.
  • La navegación y las listas de miembros de equipo muestran el nombre y, si no hay, el número de teléfono.
  • La facturación crea su cliente de Stripe a partir del nombre y el número de teléfono.

Las invitaciones a equipos siguen yendo a una dirección de correo, así que un usuario sin correo no ve invitaciones pendientes. Todavía no hay una página para añadir un correo a una cuenta creada con un número de teléfono.

Desarrollo local

Hasta que configures un remitente, los códigos no se envían: aparecen en los logs de PocketBase de vela dev. Regístrate con cualquier número en formato internacional, como +16165550123, y copia el código de ahí.

Enviar códigos en producción

Un destino de despliegue sin remitente oculta la opción de WhatsApp. Configura uno con vela env. Los códigos salen por el relay de VelaStack:

$ vela env set VELASTACK_API_KEY=...

O directamente por la API de WhatsApp Cloud, con una plantilla de mensaje aprobada en tu cuenta de Meta Business:

$ vela env set WHATSAPP_PHONE_NUMBER_ID=... WHATSAPP_ACCESS_TOKEN=... WHATSAPP_TEMPLATE_NAME=...

El remitente sigue a las credenciales configuradas. El inicio de sesión con WhatsApp se activa con una migración que escribe enable whatsapp, así que llega a cada despliegue con el resto de tus migraciones.

Páginas personalizadas

enable whatsapp reescribe las páginas de login y registro, y solo lo hace mientras sigan siendo las páginas que escribió enable auth. Si cambiaste un formulario, su página, código de servidor y esquema se dejan como están y se marcan como fallidos; el otro formulario se actualiza igualmente. Añade WhatsApp a tu versión a mano, usando las páginas con WhatsApp como referencia.

Desactívalo con vela disable whatsapp.