# Migración de Shopify a PrestaShop — Guía completa

> Presentación dfmigrateshopify importa una tienda Shopify completa en PrestaShop 8 o 9: productos con variantes e imágenes, clientes con direcciones, pedidos históricos, colecciones convertidas en categorías, redirecciones 301 y reseñas…

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

## Presentación

dfmigrateshopify importa una tienda Shopify completa en PrestaShop 8 o 9: productos con variantes e imágenes, clientes con direcciones, pedidos históricos, colecciones convertidas en categorías, redirecciones 301 y reseñas de clientes. El módulo es de **solo lectura en el lado de Shopify**: cero escrituras, cero modificaciones en la tienda de origen.

## Instalación

1. Back office de PrestaShop → **Módulos → Gestor de módulos → Subir un módulo**.
2. Selecciona el archivo `dfmigrateshopify.zip` e instala.
3. Aparece una nueva pantalla en **Parámetros avanzados → Migración Shopify**.

La instalación crea 4 tablas con prefijo `dfmigshop_`: mapping (correspondencias Shopify ↔ PrestaShop), log, redirect y job.

## Crear el token de Shopify

En el admin de tu tienda Shopify de origen:

1. **Settings → Apps and sales channels → Develop apps → Create an app**.
2. Pestaña **Configuration → Admin API integration → Configure**.
3. Marca los scopes: `read_products`, `read_inventory`, `read_product_listings`, `read_customers`, `read_orders`, `read_content`.
4. Instala la app en la tienda y copia el **Admin API access token** (empieza por `shpat_`).

Shopify muestra el token una sola vez. Guárdalo en un lugar seguro.

## Conexión

En la pestaña **Conexión** del módulo: introduce el dominio (`mi-tienda.myshopify.com`, sin https://), el token y la versión de API (por defecto `2024-10`). Haz clic en **Probar la conexión**: el nombre de la tienda debe aparecer en verde.

## Configuración

- **Tamaño de lote** — número de elementos procesados por llamada AJAX (por defecto 50, máx. 250). Redúcelo si tu alojamiento es lento.
- **Descargar las imágenes** — desactívalo para una migración de prueba rápida sin imágenes.
- **Borradores** — importar o ignorar los productos Shopify en estado draft.
- **Categoría padre por defecto** — las colecciones Shopify se crearán bajo esta categoría.
- **Transportista y módulo de pago** — asignados a los pedidos importados.
- **Mapeo de estados** — asocia cada estado Shopify (pending, paid, fulfilled, delivered, cancelled, refunded) a un estado de pedido PrestaShop.

## Lanzar la migración

En la pestaña **Migración**, respeta el orden:

1. **Contar** — verifica la conexión y muestra los volúmenes.
2. **Colecciones custom** y luego **Colecciones smart** — crea las categorías.
3. **Productos + variantes + imágenes** — el paso más largo. Las variantes Shopify se convierten en combinaciones de atributos; cada variante recibe su imagen; las marcas se crean desde el campo vendor.
4. **Clientes** — deduplicación automática por correo electrónico. Se asigna una contraseña aleatoria: invita a tus clientes a usar «Olvidé mi contraseña».
5. **Pedidos** — solo después de productos y clientes. Referencia con formato `SH-{número}`.
6. **Redirecciones 301** — recupera los URL Redirects de Shopify. Las redirecciones de productos/colecciones ya se crearon automáticamente en los pasos anteriores.

Cada paso puede relanzarse sin riesgo: la tabla de correspondencia evita los duplicados. En caso de interrupción, simplemente vuelve a hacer clic en el botón y la migración se reanuda donde se detuvo.

## Importar las reseñas

Shopify no tiene API nativa para las reseñas. Exporta a CSV desde tu aplicación (Judge.me, Loox, Yotpo, Product Reviews app…) e importa el archivo en la pestaña **Reseñas**. El módulo detecta automáticamente tu backend: `dfreviews` (prioritario) o `productcomments`.

Columnas esperadas (insensibles a mayúsculas, separador `,` o `;`): `product_handle` o `shopify_product_id` o `sku`, `email`, `reviewer_name`, `rating`, `title`, `body`, `created_at`, `verified`.

## Redirecciones 301

Cada petición del front es interceptada por el hook `actionDispatcherBefore`: si la URL solicitada corresponde a una fuente registrada (ej. `/products/mi-producto`), el visitante es redirigido en 301 hacia la URL PrestaShop equivalente. No requiere configuración Apache ni Nginx. La pestaña **Redirecciones 301** permite exportar la lista completa en CSV.

## Correspondencias y relanzamiento

La pestaña **Correspondencias** muestra el número de elementos importados por tipo de recurso. El botón **Vaciar** elimina las correspondencias de un tipo: los elementos permanecen en PrestaShop, pero una nueva migración los reimportará como nuevos (posibles duplicados — usar con conocimiento de causa).

## Solución de problemas

- **Errores 429 o 503** — el módulo gestiona automáticamente el rate limit de Shopify (reintento respetando el header Retry-After). No requiere acción.
- **Migración lenta** — reduce el tamaño de lote, o desactiva la descarga de imágenes para una primera pasada de prueba.
- **Errores en el registro** — la pestaña **Registros** muestra cada error con el recurso y el identificador Shopify afectados. Corrige la causa y relanza el paso: solo se reprocesarán los elementos con error.
- **Precios de pedidos históricos** — los pedidos se importan como archivo contable; los totales Shopify se conservan tal cual, sin recálculo de impuestos PrestaShop.

## Desinstalación

La desinstalación elimina las 4 tablas del módulo y los hooks. Los productos, clientes, pedidos y categorías importados permanecen. Las redirecciones 301 dejan de funcionar (las sirve el módulo).
