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, con acciones de formulario o con --remote.
Sintaxis
$ vela enable whatsappEjecuta primero vela enable auth; igual que auth, necesita shadcn-svelte, porque las páginas se construyen con sus componentes. El comando necesita vela 0.15.13 o posterior. 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
/loginy/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
phoneyphoneVerifiedenusers. El número es único entre los usuarios que tienen uno. - Las cuentas nuevas llegan a
/welcomepara 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 set, que toma una clave por comando y pide su valor. Los códigos salen por el relay de VelaStack:
$ vela env set VELASTACK_API_KEY -t productionO 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 -t production
$ vela env set WHATSAPP_ACCESS_TOKEN -t production
$ vela env set WHATSAPP_TEMPLATE_NAME -t productionWHATSAPP_WABA_ID es opcional pero recomendable: sin él, el panel de PocketBase no puede confirmar que la plantilla esté aprobada.
El remitente sigue a las credenciales configuradas, así que WHATSAPP_MODE no hace falta: VELASTACK_API_KEY elige el relay y WHATSAPP_ACCESS_TOKEN la API de Cloud. Define WHATSAPP_MODE solo para cambiar eso: direct cuando un destino tiene ambas credenciales (si no, gana el relay), o dev para dejar los códigos en los logs de PocketBase, por ejemplo en las previsualizaciones. 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.