Pruebas de la API — all2cart

Página temporal en admin.all2cart.com para comprobar contra api.all2cart.com la sesión por cookie y los endpoints del catálogo, públicos y del panel.

Estado actual

Comprobando…

Recargar la página es la prueba de verdad de que la sesión se mantiene: recarga el navegador entero y, si sigues dentro, es porque la cookie ha viajado sola.

Entrar

Acceso del equipo (POST /api/v1/admin/login). Sólo acepta cuentas admin: un cliente recibe el mismo error que una contraseña incorrecta.

Ojo con el límite: el acceso del panel bloquea a los 3 intentos fallidos por email + IP durante un minuto. Es a propósito.

Catálogo público — GET /api/v1/products

Lo que ve la tienda. No necesita sesión, y sólo devuelve productos publicados: un borrador o un archivado no existe aquí.

Pedir una categoría padre trae también lo que cuelga de ella: con category=summer salen los productos de Summer Items y de Trending Items Summer. Una categoría que no existe devuelve lista vacía, no el catálogo entero.

Catálogo del panel — GET /api/v1/admin/products

Requiere sesión de administrador. A diferencia del público, aquí se ven los borradores y los archivados.

Ficha

GET /api/v1/products/{slug} para la pública y GET /api/v1/admin/products/{id} para la del panel. Se abren con los botones «ficha» de las listas de arriba, o escribiendo el slug a mano.

Subir una imagen — POST /api/v1/admin/images

Requiere sesión de administrador. Sube el fichero y devuelve la URL, que es lo que luego va en images[].url al guardar el producto.

Lo que se comprueba es el contenido del fichero, no su extensión: si renombras un .txt a .jpg tiene que responder 422. Merece la pena probarlo.

Qué hace cada paso

  1. GET /sanctum/csrf-cookie — deja las cookies XSRF-TOKEN y de sesión.
  2. POST /api/v1/admin/login — con la cabecera X-XSRF-TOKEN.
  3. GET /api/v1/user — sin nada más que la cookie: si responde, hay sesión.
  4. POST /api/v1/logout — y se vuelve a pedir /user para confirmar el 401.

Del catálogo, lo que conviene ver funcionando: que el listado público no saque borradores, que la ficha de uno no publicado sea un 404, que el panel sí los vea, y que el precio venga en price_cents — enteros, nunca euros.

Registro de peticiones