Conecta el dialogo 'Tu cuenta ARI' (antes solo ofrecia WhatsApp) al Store API real de Medusa. Flujo verificado en vivo con un cliente de prueba real antes de escribir el codigo: registro -> crear customer -> login -> /store/customers/me, todo confirmado funcionando. Detalle no documentado que se confirmo en vivo: el token que devuelve /auth/customer/emailpass/register sirve para crear el customer via POST /store/customers, pero no queda como sesion real -- hay que loguear de nuevo (/auth/customer/emailpass) para obtener el token de sesion. Mensajes de error tambien verificados: correo repetido -> 401 'Identity with email already exists'; credenciales invalidas -> 401 'Invalid email or password'. Mismo patron arquitectonico que el carrito real (ADR 0009): rutas puente /api/customer/* (MEDUSA_BACKEND_URL es DNS interno, no resuelve desde el navegador), store de Zustand con sesion persistida y resincronizada contra el servidor al rehidratar. WhatsApp se mantiene como opcion secundaria, ya no es la unica salida.
15 lines
511 B
TypeScript
15 lines
511 B
TypeScript
import { loginCustomer } from "@/lib/headless/providers/medusa-customer";
|
|
|
|
export async function POST(request: Request) {
|
|
const { email, password } = await request.json();
|
|
if (!email || !password) {
|
|
return Response.json({ error: "Correo y contraseña son obligatorios" }, { status: 400 });
|
|
}
|
|
try {
|
|
const customer = await loginCustomer(email, password);
|
|
return Response.json(customer);
|
|
} catch (error) {
|
|
return Response.json({ error: (error as Error).message }, { status: 400 });
|
|
}
|
|
}
|