# dfgoogletryon — Módulo de probador virtual IA (Google Vertex AI)

> Presentación dfgoogletryon añade un widget de probador virtual a tus fichas de producto PrestaShop 8 y 9. El cliente sube una foto (o usa su cámara) y se ve con…

- Página: <https://www.datafirefly.com/es/documentation/dfgoogletryon/>
- Idioma: es
- Actualizado el: 2026-07-09
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfgoogletryon/index.md), [en](https://www.datafirefly.com/en/documentation/dfgoogletryon/index.md), [de](https://www.datafirefly.com/de/documentation/dfgoogletryon/index.md), [it](https://www.datafirefly.com/it/documentation/dfgoogletryon/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfgoogletryon/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfgoogletryon/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfgoogletryon/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

dfgoogletryon añade un widget de probador virtual a tus fichas de producto PrestaShop 8 y 9. El cliente sube una foto (o usa su cámara) y se ve con la prenda de la ficha puesta, gracias al modelo generativo **Google Vertex AI Virtual Try-On**. Todas las llamadas a Google se procesan del lado servidor: la clave de la cuenta de servicio nunca llega al navegador. El módulo incluye el consentimiento RGPD, el no almacenamiento de fotos, la marca de agua SynthID y límites de coste.

## ¿En qué se diferencia del try-on de Google Shopping?

Google ofrece dos cosas distintas que no deben confundirse:

- **El probador de ropa del Merchant Center** — una insignia que aparece solo en la búsqueda de Google y en Google Shopping. _No_ se puede integrar en tu tienda ni ofrece API para tu ficha de producto.
- **Vertex AI Virtual Try-On** — la API generativa que usa este módulo. Es la única pieza que permite un widget de probador directamente en tus fichas de producto.

dfgoogletryon se basa exclusivamente en Vertex AI. Es un servicio generativo **de pago por imagen**: cada prueba genera una o varias imágenes facturadas por Google.

## Requisitos

- PrestaShop 8.0 a 9.x
- PHP 8.1, 8.2, 8.3 o 8.4
- Extensiones PHP: `curl`, `openssl`, `gd`
- Un proyecto **Google Cloud** con facturación activada
- La **API Vertex AI** activada en ese proyecto
- Una **cuenta de servicio** con el rol _Usuario de Vertex AI_ y su clave JSON

## Paso 1 — Preparar Google Cloud

1. Abre [console.cloud.google.com](https://console.cloud.google.com) y crea (o selecciona) un proyecto. Anota su **ID de proyecto**.
2. Activa la **facturación** en el proyecto (menú Facturación).
3. Activa la **API Vertex AI**: busca "Vertex AI API" (`aiplatform.googleapis.com`) en la biblioteca de API y haz clic en Activar.

## Paso 2 — Crear la cuenta de servicio

1. Ve a **IAM y administración > Cuentas de servicio**.
2. Haz clic en **Crear cuenta de servicio** y dale un nombre (por ejemplo `tryon-prestashop`).
3. Asígnale el rol **Usuario de Vertex AI** (`roles/aiplatform.user`).
4. Una vez creada, ábrela y ve a **Claves > Agregar clave > Crear clave nueva > JSON**. El archivo JSON se descarga.

Esta clave JSON da acceso a Vertex AI en tu nombre. Nunca la publiques ni la subas a un repositorio público. El módulo la mantiene del lado servidor y nunca la expone al front-office.

## Paso 3 — Instalar el módulo

1. Descarga `dfgoogletryon.zip` desde tu cuenta de cliente.
2. En el back-office de PrestaShop: **Módulos > Administrador de módulos > Subir un módulo**.
3. Sube el ZIP y haz clic en **Instalar**.
4. Al instalar, el módulo guarda su configuración por defecto y un texto de consentimiento, luego se engancha a los hooks `displayProductAdditionalInfo` (botón en la ficha) y `actionFrontControllerSetMedia` (carga de recursos, solo en la página de producto).

## Paso 4 — Configurar el módulo

Abre la configuración del módulo. Rellena la sección **Google Cloud / Vertex AI**:

- **GCP Project ID** — el ID de proyecto anotado en el Paso 1.
- **Region** — la ubicación de Vertex AI, por ejemplo `us-central1`.
- **Model ID** — por defecto `virtual-try-on-preview-08-04` (también puedes usar `virtual-try-on-001`).
- **Service-account JSON key** — pega el contenido íntegro del archivo JSON descargado en el Paso 2.

Luego haz clic en **Save & test authentication**. El módulo firma un JWT, obtiene un token OAuth y confirma "Authentication OK" si todo es correcto.

El token OAuth se guarda en caché unos 55 minutos para no regenerarlo en cada prueba. Cualquier cambio en las credenciales borra automáticamente la caché.

## Ajustes de generación y seguridad

Sección **Generation & safety**:

- **Images per try-on** — de 1 a 4 imágenes generadas por prueba. Cada imagen es facturada por Google.
- **SynthID watermark** — añade una marca de agua IA invisible a las imágenes generadas (recomendado).
- **Safety setting** — nivel de filtrado (`block_low_and_above`, `block_medium_and_above`, `block_only_high`, `block_none`). `block_medium_and_above` por defecto.
- **Person generation** — `allow_adult` recomendado para una tienda de ropa.
- **Max generations per session** — límite anti-abuso por sesión de cliente.
- **Cooldown between generations (seconds)** — retraso mínimo entre dos pruebas de la misma sesión.

Sección **Display**:

- **Enable widget** — activa o desactiva el widget globalmente.
- **Restrict to category IDs** — IDs de categorías separados por comas. Deja vacío para mostrar en todos los productos, o indica tus categorías de ropa para mostrar el widget solo donde tiene sentido.
- **Consent text (GDPR)** — el texto mostrado junto a la casilla de consentimiento obligatoria.

## Funcionamiento para el cliente

1. En una ficha de producto elegible, aparece un botón **Try it on**.
2. El cliente abre la ventana, sube una foto (JPEG, PNG o WebP) o captura desde su webcam.
3. La foto se redimensiona en el navegador (máx. 1024 px, JPEG) antes del envío, para reducir latencia y coste.
4. El cliente marca la casilla de consentimiento y hace clic en **Generate try-on**.
5. El módulo envía la foto y la imagen de portada del producto a Vertex AI, luego muestra la o las imágenes generadas.

## Privacidad y RGPD

La foto del cliente se procesa en memoria y se envía a Google para la generación, pero **nunca** se guarda en el sistema de archivos ni en la base de datos de la tienda. La casilla de consentimiento, obligatoria y personalizable, aparece antes de cualquier envío. Adapta el texto de consentimiento a tu política de privacidad y menciona la transferencia a Google.

## Control de costes

Cada imagen generada es facturada por Google según la tarifa Vertex AI por imagen. Para mantener costes previsibles:

- Fija **Images per try-on** a 1 al principio.
- Establece un **Max generations per session** razonable (5 por defecto).
- Usa un **Cooldown** para evitar el spam de generación.
- Restringe la visualización a las categorías de ropa con **Restrict to category IDs**.

Un token por producto y la verificación same-origin desalientan el uso del proxy fuera de tus páginas. No es una autenticación fuerte, sino un límite de coste combinado con los topes anteriores.

## Buenas prácticas para la imagen de producto

El módulo envía la **imagen de portada** del producto como referencia de la prenda. La calidad del probador es mucho mejor con un packshot limpio de la prenda (fondo neutro, prenda bien visible) que con una foto lifestyle ya puesta sobre un modelo. Las prendas superiores, inferiores y de una pieza (vestidos) dan los mejores resultados.

## Resolución de problemas

- **"Authentication failed" en la prueba** — comprueba el ID de proyecto, la validez de la clave JSON, que la API Vertex AI esté activada y el rol Usuario de Vertex AI de la cuenta de servicio.
- **Ninguna imagen generada** — la solicitud pudo ser filtrada por los ajustes de seguridad. Prueba otra foto o suaviza **Safety setting**. Comprueba también el saldo de facturación de Google Cloud.
- **El botón no aparece** — comprueba que **Enable widget** esté activo y que el producto pertenezca a una categoría permitida (campo **Restrict to category IDs**).
- **Error de red / timeout** — asegúrate de que el servidor permita conexiones HTTPS salientes a `oauth2.googleapis.com` y `REGION-aiplatform.googleapis.com`.
- **"You have reached the maximum number of try-ons"** — se ha alcanzado el límite por sesión; es el comportamiento esperado. Ajusta **Max generations per session** si es necesario.

## Desinstalación

La desinstalación elimina la configuración del módulo, incluida la clave de la cuenta de servicio y el token en caché. El módulo no almacena ninguna foto de cliente, así que no hay nada más que limpiar.
