Módulo Integraciones

Conecte su tienda Shopify
a GSE-Web

Su catálogo y su stock disponible van a la tienda. Los pedidos pagados llegan a GSE-Web como albaranes de salida confirmados, con stock reservado.

Inicio / Documentación / Conector Shopify

En resumen

El conector Shopify une una tienda Shopify a un almacén de GSE-Web. GSE-Web publica el stock en una ubicación de la tienda, la tienda envía sus pedidos. Lo configura un administrador de la organización, en el menú ADMIN › «Integraciones».

  • Lo que va a la tienda: las fichas de los productos simples, de los kits y de los productos con variantes (nombre, referencia, precio, código de barras), si lo solicita, y el stock disponible del almacén publicado, colocado en la ubicación de Shopify que usted elija.
  • Lo que llega a GSE-Web: cada pedido pagado (o con los estados de pago que usted elija) se convierte en un albarán de salida confirmado, con stock reservado; el comprador pasa a ser un cliente «Particular». Si lo solicita, la descripción y las fotos de los productos vinculados también se recuperan de la tienda.
  • Cuándo: el stock se envía a la tienda unos segundos después de cada cambio en GSE-Web, y un pedido llega al instante por webhook. Cada 5 minutos se ejecuta una pasada completa que recupera lo que hubiera faltado.
  • Lo que nunca se hace: no se elimina nada en la tienda, GSE-Web nunca escribe las líneas de un pedido y nunca emite reembolsos. Solo cumple o cancela el pedido, si lo solicita.
  • Desconexión: pausa, desconexión o cierre del módulo en cualquier momento, sin perder nada; al reanudar, se recuperan los pedidos realizados entretanto.
Antes de empezar

Requisitos

Compruebe estos puntos antes de abrir la pantalla del conector: la prueba de conexión los verifica y dice con claridad lo que no encaja.

✓

El dominio myshopify.com de la tienda

El conector se conecta al dominio de administración de la tienda, con la forma mi-tienda.myshopify.com, nunca a su dirección pública.

✓

Una app en el Dev Dashboard

Creada en la organización propietaria de la tienda, con estos permisos: read_products, write_products, read_inventory, write_inventory, read_locations, read_orders, write_orders, write_merchant_managed_fulfillment_orders, read_publications, write_publications. Publique una versión, instale la app en la tienda y anote el ID de cliente y el secreto. Una tienda que aún tiene una app personalizada heredada usa su token de administrador (shpat_…) y su secreto de API.

✓

Los datos de cliente protegidos declarados

El nombre, el e-mail y la dirección de los compradores son «datos de cliente protegidos» de Shopify: declare su uso en el Dev Dashboard. Sin ello, los pedidos llegan sin comprador y se convierten en puntos pendientes.

✓

Los módulos habilitados para su organización

«Integraciones» y luego «Shopify». Su apertura se solicita a KLS-Concept. Sin «Integraciones», la entrada del menú no aparece; sin «Shopify», su tarjeta indica «No disponible para su organización».

✓

Una cuenta ADMIN con autenticación en dos pasos

La introducción de las credenciales de la tienda se rechaza mientras la autenticación en dos pasos no esté activada en su cuenta, en «Mi información».

✓

Un almacén real

Su stock disponible se publica en la tienda y los pedidos se convierten allí en albaranes de salida. Un almacén de ejercicio se rechaza.

✓

La misma moneda y el mismo régimen de precios

La moneda de la tienda debe ser la de su organización, y «Precios publicados» (sin impuestos o con impuestos incluidos) debe coincidir con el ajuste «Incluir impuestos en los precios» de la tienda (Configuración › Impuestos y aranceles).

Configuración paso a paso

Seis pasos, en el orden de la pantalla.

1

Abrir la pantalla del conector

Menú ADMIN › «Integraciones». La tarjeta Shopify está en la categoría «Comercio electrónico». Haga clic en «Configurar» (el botón pasa a «Gestionar» una vez guardada la tienda).

2

Tarjeta «Tienda»

Elija el «Tipo de app»: «App del Dev Dashboard (ID de cliente y secreto)», o «App personalizada heredada (token de administrador y secreto de API)». Rellene el «Dominio de la tienda» (…myshopify.com), luego el «ID de cliente de la app» y el «Secreto de la app» (o el «Token de acceso de administrador» y el secreto), y elija el «Almacén publicado». La tarjeta recuerda los permisos que hay que marcar en la app.

Las credenciales son de solo escritura: una vez guardadas, no vuelven a mostrarse. La pantalla muestra solo algunos caracteres para reconocerlas. Para conservarlas, deje los campos vacíos; para sustituirlas, introduzca el secreto Y el ID de cliente (o el token). Con una app del Dev Dashboard, GSE-Web obtiene por sí mismo el token de acceso, válido 24 horas, y lo renueva.

3

Tarjeta «Ajustes»

Cada ajuste tiene un valor por defecto:

  • «Precios publicados»: «Sin impuestos» por defecto, o «Impuestos incluidos».
  • «Crear y actualizar las fichas de producto en la tienda»: desmarcado por defecto. Desmarcado, GSE-Web no crea ninguna ficha: solo vincula los productos ya presentes en la tienda con la misma referencia (SKU), sin distinguir mayúsculas y minúsculas.
  • «Publicar el stock disponible»: marcado por defecto. Desmarcado, una ficha creada por GSE-Web no tiene su stock gestionado por Shopify.
  • «Recibir los pedidos»: marcado por defecto.
  • «Informar a la tienda de las entregas y cancelaciones»: marcado por defecto. Albarán entregado: pedido cumplido en la tienda, con transportista y n.º de seguimiento — Shopify avisa al cliente con su e-mail de envío. Albarán cancelado en GSE-Web: pedido cancelado en la tienda, sin reembolso.
  • «Estados de pago importados»: «Pagado» por defecto. Puede añadir «Pago pendiente», «Pago autorizado» y «Pagado parcialmente» (pago contra reembolso, transferencia).
  • «Antigüedad máxima de un pedido recuperado (días)»: 30 por defecto, de 1 a 90. Sin el permiso read_all_orders, Shopify solo devuelve los pedidos de los últimos 60 días: la recuperación no va más atrás.
  • «Recuperar la descripción y las fotos de la tienda»: desmarcado por defecto. La tienda sigue mandando sobre la descripción y las fotos, que GSE-Web nunca le envía; marcado, se copian en la ficha del producto vinculado. Una descripción vacía en la tienda nunca borra la de GSE-Web, y una foto añadida en GSE-Web nunca se elimina.
4

Guardar

Haga clic en «Guardar». «Probar la conexión» y «Activar» actúan sobre la configuración guardada: mientras un cambio no esté guardado, la pantalla lo recuerda y esos dos botones esperan.

5

Probar la conexión y elegir la ubicación

«Probar la conexión» consulta la tienda y comprueba que las credenciales son de ese dominio, que la app tiene todos sus permisos y que la moneda y el régimen de precios coinciden. También carga la lista de ubicaciones activas de la tienda: elija la «Ubicación de la tienda» que recibe el stock y luego «Guardar». Incluso si la prueba falla, muestra los permisos que faltan y las ubicaciones, para que pueda corregirlo.

6

Activar

«Activar» repite la prueba (en ese momento se exige una ubicación) y luego crea cuatro suscripciones de webhook en la tienda: pedido creado, modificado, cancelado y eliminado. El estado pasa a «Activa — stock enviado en cuanto cambia, sincronización completa cada 5 minutos» («Activa — sincronización cada 5 minutos» si el stock no se publica). Los pedidos recibidos antes de la activación no se importan.

Qué se sincroniza, y quién manda

Cada campo tiene un único dueño. En un pedido de la tienda, GSE-Web solo escribe su cumplimiento o su cancelación, nunca sus líneas.

📦 Manda GSE-Web

  • ✓Nombre del producto
  • ✓Referencia (SKU en la tienda)
  • ✓Precio de venta, sin impuestos o con impuestos según el ajuste
  • ✓Código de barras
  • ✓Publicado o borrador
  • ✓Stock, en la ubicación elegida

🛒 Manda la tienda

  • ✓Descripción (recuperada en GSE-Web como opción)
  • ✓Fotos (recuperadas en GSE-Web como opción)
  • ✓Colecciones y etiquetas
  • ✓Impuestos
  • ✓Pedidos
  • ✓Reembolsos

Las reglas

  • Productos simples, kits y productos con variantes. Un producto simple se publica como un producto de Shopify con una sola variante. Un kit también, con como stock el número de kits que se pueden montar con los componentes del almacén publicado. Un producto con variantes se publica como un producto con opciones (tres ejes como máximo, límite de Shopify), sin precio ni stock propios; cada una de sus variantes es una variante de Shopify, con su referencia, su precio y su stock.
  • Un producto retirado de la venta en GSE-Web pasa a borrador en la tienda; nunca se elimina allí. Como Shopify no tiene estado por variante, una variante retirada de la venta se pone a stock 0. Los productos creados por GSE-Web se publican en la tienda online; una ficha existente nunca se vuelve a publicar, para respetar su decisión si la retira de un canal.
  • Una ficha modificada en la tienda en un campo sobre el que manda GSE-Web se reescribe en el siguiente cambio del producto en GSE-Web. El seguimiento del stock de una variante existente, en cambio, nunca se modifica.
  • Stock publicado = stock disponible del almacén publicado (físico menos reservado), redondeado a la unidad inferior, nunca negativo, colocado en la ubicación elegida — las demás ubicaciones de la tienda no se tocan. Se envía a la tienda unos segundos después de cada cambio: entrada, salida, transferencia, inventario, reserva puesta o liberada en un albarán. La pasada completa también lo vuelve a leer cada 5 minutos.
  • Un pedido = un albarán de salida confirmado del almacén publicado, con «Reservar los productos para este albarán.» marcado: se reserva toda la cantidad pedida, incluso por encima del stock (lo que falta se lee «Pendiente de recepción» en el albarán), y el stock publicado en la tienda baja al instante. Se copia la dirección de entrega. Nunca un albarán parcial: si una línea da problemas (producto desconocido, variante desconocida, kit no publicable, comprador ilegible, otra moneda), no se crea ningún albarán y un punto pendiente lo explica.
  • Nunca se importan: los pedidos de prueba y aquellos cuyo estado de pago es desconocido. Un pedido ya cumplido en Shopify cuando llega — venta en caja (Shopify POS), envío hecho desde la administración de Shopify — no genera albarán: haría salir la mercancía una segunda vez. Un punto pendiente le pide que registre su salida de stock en GSE-Web.
  • Un comprador = un cliente «Particular», encontrado por su e-mail de un pedido a otro (código que empieza por WEB-). Un tercero ya presente en GSE-Web no se asocia: se crea un cliente «Particular».
  • Pedido cancelado en la tienda (cancelado, eliminado, reembolsado o con el pago anulado): el albarán se cancela y se liberan sus reservas, salvo que alguien ya lo esté tramitando. En ese caso, un punto pendiente deja la decisión al equipo. Un pedido que Shopify ya no devuelve (más de 60 días sin read_all_orders) nunca se toma por un pedido eliminado.
  • Pedido modificado en la tienda tras la importación: el cambio no se traslada al albarán; un punto pendiente le invita a revisarlo.
  • Un pedido de un kit se convierte en un albarán de salida de sus componentes (cantidad × número de kits); la nota del albarán cita el kit. Un pedido de una variante da un albarán de la variante, como para cualquier producto.
  • Comunicación de entregas y cancelaciones (ajuste marcado por defecto): un albarán entregado o cerrado cumple su pedido en la tienda; si salió en un envío, se transmiten el transportista y el n.º de seguimiento, y Shopify avisa al cliente con su e-mail de envío. Un albarán cancelado en GSE-Web cancela su pedido en la tienda y vuelve a poner el stock a la venta, sin reembolso ni e-mail al cliente: el reembolso se hace en Shopify. Un pedido que la tienda ya ha cumplido no se deshace, y un cumplimiento que se ha quedado parcial en Shopify no se da por hecho: un punto pendiente lo señala. Entregado parcialmente o en preparación: nada mientras el albarán no esté completo.
  • Recuperación de la descripción y las fotos (ajuste desmarcado por defecto): en cada pasada, para cada producto vinculado, la descripción de la tienda se copia como texto plano en la ficha; las fotos se añaden en el orden de la tienda, siendo la primera la principal, y se retiran cuando desaparecen de la tienda. Como máximo 20 fotos por producto. No se recuperan: las colecciones, las etiquetas, los impuestos, la descripción y las fotos propias de cada variante, ni los nombres, precios y códigos de barras modificados en la tienda.

En el día a día

La pantalla del conector se lee de arriba abajo: el estado, la tienda, los ajustes, los botones, y después los puntos pendientes y el registro.

La tarjeta «Estado»

Indica en qué punto está la conexión, el nombre y la moneda de la tienda, la fecha de la última sincronización, el último error y el número de puntos pendientes. En la tarjeta de la página «Integraciones», el estado cabe en una etiqueta.

  • Por activar «Configurada, aún no activada».
  • Conectado «Activa — stock enviado en cuanto cambia, sincronización completa cada 5 minutos». Si el stock no se publica: «Activa — sincronización cada 5 minutos».
  • En pausa «En pausa — no se envía ni se importa nada».
  • Detenido — revisar «Detenida por el servidor — revise las credenciales y pruebe».

«Sincronizar ahora»

El stock se envía automáticamente a la tienda, unos segundos después de cada cambio, y los pedidos llegan en cuanto se realizan: la pantalla lo recuerda bajo el botón. Este botón solo sirve para lanzar de inmediato la sincronización completa (fichas de producto, pedidos que faltan, entregas), que si no se hace cada 5 minutos. El mensaje indica si la pasada ha terminado, si ha detectado puntos pendientes o por qué no se ha lanzado.

La tarjeta «Qué pasa entre GSE-Web y la tienda»

Bajo los ajustes, una tarjeta indica, para cada intercambio, en qué sentido va: de GSE-Web a la tienda (fichas, stock, variantes, entregas y cancelaciones), de la tienda a GSE-Web (pedidos, cancelaciones, descripción y fotos) y lo que nunca pasa (líneas de un pedido, reembolsos, colecciones, etiquetas e impuestos, nombres, precios y códigos de barras modificados en la tienda). Una línea ligada a un ajuste desmarcado se marca «Desactivado».

El «Registro»

Cada pasada figura con su tipo y su resultado. Tipos: «Fichas de producto», «Stock», «Stock en directo» (envío en cuanto cambia un stock, registrado solo si ha cambiado una cantidad), «Recuperación desde la tienda», «Recuperación de pedidos», «Retorno de los albaranes», «Pedido recibido», «Control de webhooks», «Prueba de conexión». Resultados: «Correcto», «Parcial», «Fallido», «En curso», «Interrumpido». Un clic en una pasada abre su detalle, elemento por elemento: producto creado o actualizado, stock publicado, pedido importado, cumplido o cancelado, foto recuperada, webhook recreado… (200 elementos como máximo por pasada). Las pasadas que no han cambiado nada pueden ocultarse.

Los «Puntos pendientes»

Una línea que no pasa nunca bloquea la sincronización: se convierte en un punto pendiente y el resto continúa. Los puntos de fichas y de stock desaparecen solos cuando se corrige su causa. Los puntos de pedidos tienen dos botones.

  • «Reintentar» vuelve a leer el pedido en la tienda y reintenta la importación, sea cual sea su antigüedad. No se ofrece para los puntos de comunicación a la tienda (cumplimiento, cancelación en la tienda): la pasada siguiente los reintenta sola.
  • «Ignorar» archiva el punto: un punto ignorado no vuelve a la lista. «Ignorar todo», en la cabecera de la lista, archiva de una vez todos los puntos abiertos, incluidos los que no se muestran, tras una confirmación.

Fichas de producto

Producto …: tipo de producto no admitido por la tienda

Causa
Este producto es de un tipo que el conector no publica. Se publican los productos simples, los kits y los productos con variantes.
Qué hacer
Nada que hacer en GSE-Web. Gestione este producto directamente en la tienda.

Producto …: sin precio de venta — no publicado

Causa
El producto no tiene precio de venta en GSE-Web.
Qué hacer
Introduzca su precio de venta. El punto desaparece en la pasada siguiente.

Producto …: falta el tipo de IVA, precio con impuestos incalculable

Causa
Los precios se publican con impuestos incluidos y el producto no tiene tipo de IVA.
Qué hacer
Introduzca el tipo de IVA del producto.

Producto …: la referencia ya la usa otro producto en la tienda

Causa
La variante de la tienda que lleva esta referencia ya está vinculada a otro producto de GSE-Web, pertenece a un producto con varias variantes cuando el de GSE-Web es simple (o al revés), o la tienda lleva la misma referencia en varias variantes. Una referencia que contiene una coma tampoco puede buscarse en la tienda.
Qué hacer
Asegúrese de que una referencia designe un solo producto, en ambos lados.

Producto … rechazado por la tienda (…)

Causa
Shopify ha rechazado la ficha; se muestra su código de rechazo.
Qué hacer
Revise el producto en la tienda a partir de ese código.

Producto …: creado en la tienda pero no publicado en la tienda online (…)

Causa
La ficha existe en Shopify, pero no se pudo publicar en el canal «Tienda online»: ningún cliente puede comprarla.
Qué hacer
Publique el producto en la tienda online en Shopify y luego «Ignorar». Compruebe también los permisos de publicación de la app (read_publications, write_publications). Este punto no desaparece solo: GSE-Web nunca vuelve a publicar una ficha existente.

Producto … eliminado en la tienda: recréelo o desvincúlelo

Causa
El producto vinculado ya no existe en la tienda.
Qué hacer
Vuelva a crearlo en la tienda con la misma referencia. Si ya no debe figurar en ella, escríbanos.

Producto …: tipo cambiado en GSE-Web, la antigua ficha de Shopify ya no está vinculada

Causa
El producto ha pasado de simple a «con variantes» (o al revés): la ficha de Shopify del tipo anterior ya no le corresponde. El vínculo se ha retirado; la nueva ficha sigue el tipo actual.
Qué hacer
Elimine o archive la antigua ficha en Shopify y luego «Ignorar».

Kit …: composición no publicable (motivo)

Causa
El kit no tiene ningún componente, uno de ellos está archivado o inactivo, o la cantidad de un componente está registrada en otra unidad que su unidad base. El kit no se pone a la venta.
Qué hacer
Corrija la composición del kit. El punto desaparece en la pasada siguiente.

Producto con variantes …: ninguna variante activa — no publicado

Causa
Un producto con variantes se vende a través de sus variantes: sin variante activa, no se pone a la venta.
Qué hacer
Cree una variante o reactive una. El punto desaparece en la pasada siguiente.

Variante …: no publicada (motivo)

Causa
La variante no puede publicarse: su producto padre no se encuentra, está archivado o aún no está publicado en la tienda, o sus ejes y valores no son válidos (Shopify acepta tres ejes como máximo). El motivo se indica entre paréntesis.
Qué hacer
Corrija la causa indicada, en el producto padre o en la variante. El punto desaparece en la pasada siguiente.

Producto …: foto no recuperada de la tienda (motivo)

Causa
No se pudo copiar una foto de la tienda en la ficha. Motivos posibles: imagen no encontrada, formato no admitido (se aceptan JPEG, PNG, WebP y GIF), más de 5 MB o ilegible, tienda inaccesible (nuevo intento en la pasada siguiente), dirección de imagen no segura (se exige HTTPS público), más de 20 fotos (las siguientes no se recuperan).
Qué hacer
Compruebe la foto en los medios del producto en la tienda. El punto desaparece cuando todo está importado; el resto del producto se recupera igualmente.

Stock

Stock fraccionario redondeado a la unidad inferior en la tienda

Causa
El stock disponible tiene decimales; la tienda solo vende unidades enteras.
Qué hacer
Solo informativo: la tienda muestra la unidad inferior.

Stock del producto … rechazado por la tienda (…)

Causa
Shopify ha rechazado la cantidad; se muestra su código de rechazo.
Qué hacer
Revise la ficha del producto en la tienda a partir de ese código.

Ubicación de stock no disponible (motivo): el stock no se publica

Causa
No se puede enviar el stock: no se eligió ninguna ubicación, o la tienda rechaza la elegida (eliminada, desactivada, permiso ausente). GSE-Web nunca recurre a otra ubicación.
Qué hacer
Elija una ubicación activa en la configuración (ponga la conexión en pausa para cambiarla), «Guardar», «Probar la conexión» y luego «Reanudar».

Pedidos

Pedido …: producto desconocido (SKU …) — ningún albarán creado

Causa
Una línea del pedido lleva una referencia que no existe en GSE-Web.
Qué hacer
Cree el producto con la misma referencia y luego «Reintentar».

Pedido …: variante no importable (SKU …, motivo) — ningún albarán creado

Causa
Una línea designa una variante que GSE-Web no conoce, o la referencia del propio producto con variantes, sin su variante.
Qué hacer
Variante desconocida: cree la variante en GSE-Web con la misma referencia que la variante de Shopify y luego «Reintentar». Referencia del producto padre pedida sin variante: tramite el pedido a mano.

Pedido …: sin e-mail del comprador

Causa
Sin e-mail, el comprador no puede encontrarse ni crearse como cliente.
Qué hacer
Añada el e-mail del cliente al pedido en la tienda y luego «Reintentar». Si ya figura, compruebe el acceso de la app a los datos de cliente protegidos.

Pedido …: comprador ilegible (datos de cliente protegidos no declarados)

Causa
Shopify no comunica a la app ni el nombre, ni el e-mail, ni la dirección del comprador mientras no haya declarado el uso de datos de cliente protegidos.
Qué hacer
En el Dev Dashboard, declare el acceso a datos de cliente protegidos (nombre, e-mail, dirección), publique una versión de la app y luego «Reintentar».

Pedido …: el cliente está archivado en GSE-Web

Causa
El cliente que corresponde a este comprador ha sido archivado.
Qué hacer
No se crea ningún albarán. Tramite este pedido a mano.

Pedido …: moneda … distinta de …

Causa
El pedido está en una moneda distinta de la de su organización.
Qué hacer
Tramite este pedido a mano.

Pedido …: demasiado antiguo para importarse automáticamente (más de … días)

Causa
En la recuperación, el pedido supera la «Antigüedad máxima de un pedido recuperado».
Qué hacer
«Reintentar» lo importa de todos modos.

Pedido …: ya enviado desde Shopify, ningún albarán creado

Causa
El pedido ya estaba cumplido (total o parcialmente) en Shopify cuando llegó: venta en caja (Shopify POS) o envío hecho desde la administración de Shopify. Un albarán lo haría salir una segunda vez; por eso su salida de stock no se registra en GSE-Web.
Qué hacer
Registre la salida de stock correspondiente en GSE-Web (si no, GSE-Web volverá a publicar su antiguo disponible en la tienda) y luego «Ignorar».

Pedido … cancelado en la tienda, pero el albarán ya está en curso: lo decide el equipo

Causa
El albarán ya está en preparación: GSE-Web no lo cancela por su cuenta.
Qué hacer
Decídalo con el equipo. Si el albarán debe cancelarse, libérelo y luego «Reintentar».

Pedido … modificado en la tienda tras la importación: revise el albarán

Causa
El pedido ha cambiado en la tienda después de crearse el albarán; el cambio no se traslada.
Qué hacer
Compare el pedido y el albarán, y corrija el albarán si es necesario.

Pedido …: importación imposible (…)

Causa
La importación ha fallado; el motivo figura entre paréntesis.
Qué hacer
Corrija la causa indicada y luego «Reintentar».

Pedido …: kit … no publicable (motivo) — ningún albarán creado

Causa
El pedido contiene un kit cuya composición no es válida: ningún componente, un componente archivado o inactivo, o una unidad distinta de la unidad base. No se crea ningún albarán.
Qué hacer
Corrija la composición del kit y luego «Reintentar».

Pedido …: la tienda rechaza la operación (…)

Causa
Shopify rechazó cumplir o cancelar el pedido, no lo encontró, o mantiene una parte en espera (orden de cumplimiento suspendida o programada); el mensaje lo precisa.
Qué hacer
Revise el pedido en la tienda y cúmplalo o cancélelo a mano si es necesario: la pasada siguiente vuelve a intentarlo sola mientras el albarán lo requiera.

Pedido …: albarán cancelado, pero el pedido ya está cerrado en la tienda — a resolver con el cliente

Causa
El albarán se canceló en GSE-Web, pero la tienda ya había cumplido o cerrado el pedido: GSE-Web no lo deshace.
Qué hacer
Resuelva la situación con el cliente (reembolso, devolución) directamente en la tienda.

Webhooks

Webhooks eliminados por la tienda: recreados, pedidos recuperados

Causa
Shopify elimina una suscripción de webhook tras varios fallos de entrega, o se ha eliminado una suscripción de la app en la tienda.
Qué hacer
Nada que hacer: el control de webhooks, cada 6 horas, los vuelve a crear y recupera los pedidos.

Pausa, reanudación y cambios

El conector se desactiva y se vuelve a activar en cualquier momento. Algunos cambios siguen una regla, que la pantalla recuerda y que el servidor hace cumplir.

«Pausar»

Ya no se envía ni se importa nada, y no se pierde nada. El stock mostrado en la tienda sigue siendo el del último envío.

«Reanudar»

Se vuelve a comprobar la tienda (credenciales, permisos, moneda, régimen de precios, ubicación) y luego empieza la recuperación: los pedidos realizados durante la pausa se importan si tienen menos de N días («Antigüedad máxima de un pedido recuperado», 30 por defecto) y si Shopify aún los devuelve. Los más antiguos pasan a ser puntos pendientes.

Cambiar de credenciales, de régimen de precios o de ubicación

Con una conexión activa, el dominio, las credenciales, «Precios publicados» y la ubicación están bloqueados. Siga este orden: «Pausar», modificar, «Guardar», «Probar la conexión», «Reanudar». Una nueva ubicación recibe todo el stock; la anterior no se pone a cero — hágalo en Shopify, ya que la tienda suma las ubicaciones.

Cambiar de tienda

Primero «Desconectar»: se retiran las suscripciones de webhook de la tienda anterior. Después, introduzca la nueva tienda; hay que volver a elegir la ubicación.

Volver a conectar la misma tienda

Los productos, los pedidos y los clientes ya vinculados se recuperan: no se crea un segundo albarán para un pedido ya importado, y todo el stock se vuelve a enviar.

Cambiar un ajuste de las fichas

Tras cambiar «Precios publicados» o «Crear y actualizar las fichas de producto en la tienda», la pasada siguiente vuelve a leer todo el catálogo. Un cambio de «Almacén publicado» vuelve a enviar todo el stock.

«Desconectar»

Se retiran las suscripciones de webhook de la tienda y se borran las credenciales. No se elimina nada en la tienda ni en GSE-Web: los albaranes y clientes ya importados se mantienen. Si la tienda no responde, la pantalla le pide que elimine usted mismo las suscripciones de la app desde Shopify.

Cierre del módulo

Si KLS-Concept cierra el módulo para su organización, todo se detiene sin eliminar nada. Al reabrirlo, la pasada siguiente recupera los pedidos y vuelve a publicar el stock.

Seguridad y datos

Lo que guarda el conector, y cómo.

Credenciales cifradas

El secreto de la app, el ID de cliente o el token de administrador se cifran en el servidor (AES-256-GCM). Nunca vuelven a mostrarse ni se escriben en los registros. El token de 24 horas de una app del Dev Dashboard nunca se guarda.

Autenticación en dos pasos

Es obligatoria para introducir o sustituir las credenciales de una tienda.

Solo el dominio de Shopify

El conector solo llama al dominio …myshopify.com introducido, en HTTPS; no se sigue ninguna redirección. Las fotos recuperadas solo se descargan desde una dirección HTTPS pública, sin transmitir nunca el token.

Webhooks firmados

Cada webhook recibido está firmado con el secreto de la app, y su firma se comprueba antes de cualquier tratamiento. Solo sirve de señal: el pedido se vuelve a leer en Shopify, y su contenido no se conserva.

Datos del comprador

Sus datos se copian en su ficha de cliente y la dirección de entrega en el albarán. El vínculo con la tienda solo guarda una huella de su e-mail.

Nada en la exportación

Las credenciales cifradas no figuran en la exportación de portabilidad de la organización.

Resolución de problemas

El mensaje que muestra la pantalla, su causa y lo que hay que hacer. El código entre corchetes ayuda al soporte a localizar el caso. La aplicación muestra estos mensajes en inglés (o en francés); la traducción de esta página ayuda a entenderlos y el código entre corchetes permite identificarlos.

Detenido — revisar

«Detenida por el servidor — revise las credenciales y pruebe»

Tras cinco rechazos de autenticación seguidos (app desinstalada, secreto regenerado, token revocado), el servidor detiene la conexión para no insistir. Revise la app en Shopify, introduzca nuevas credenciales si es necesario, «Guardar», «Probar la conexión» y luego «Activar».

Dominio de tienda no válido: se espera un dominio con la forma tienda.myshopify.com

Qué hacer
Introduzca el dominio de administración de la tienda (…myshopify.com), no su dirección pública. Se acepta la dirección de administración pegada desde el navegador.
[SHOPIFY_SHOP_DOMAIN_INVALID]

Shopify rechaza las credenciales: revise el ID de cliente y el secreto (o el token de administrador), que la app está instalada en la tienda y que pertenece a la misma organización del Dev Dashboard

Qué hacer
Revise el ID de cliente y el secreto en la configuración de la app (Dev Dashboard), que la app está realmente instalada en esta tienda, y que la app y la tienda están en la misma organización.
[SHOPIFY_SHOP_AUTH_FAILED]

Estas credenciales son de la tienda …, no de …

Qué hacer
Las credenciales pertenecen a otra tienda: corrija el dominio, o introduzca las credenciales de la app instalada en esta tienda.
[SHOPIFY_SHOP_DOMAIN_MISMATCH]

La app no tiene todos los permisos necesarios. Permisos que faltan: …

Qué hacer
En el Dev Dashboard, marque los permisos que faltan, publique una nueva versión y vuelva a instalar la app en la tienda; luego pruebe de nuevo. La pantalla muestra la lista de permisos que faltan.
[SHOPIFY_SHOP_SCOPES_MISSING]

La moneda de la tienda (…) es distinta de la de la organización (…)

Qué hacer
El conector solo une una tienda en la moneda de su organización.
[SHOPIFY_SHOP_CURRENCY_MISMATCH]

La tienda publica sus precios …, pero la conexión está ajustada a …

Qué hacer
En «Ajustes», elija para «Precios publicados» el régimen de la tienda («Incluir impuestos en los precios», en Configuración › Impuestos y aranceles). Ponga antes la conexión en pausa si está activa, guarde y pruebe.
[SHOPIFY_SHOP_PRICE_MODE_MISMATCH]

Elija la ubicación de Shopify que recibe el stock (pruebe la conexión para obtener la lista de ubicaciones)

Qué hacer
«Probar la conexión», elija la «Ubicación de la tienda», «Guardar» y luego «Activar».
[SHOPIFY_LOCATION_REQUIRED]

La ubicación elegida ya no existe o está desactivada en la tienda: pruebe la conexión y elija otra

Qué hacer
Ponga la conexión en pausa, «Probar la conexión» (la lista de ubicaciones se vuelve a cargar), elija una ubicación activa, «Guardar» y luego «Reanudar».
[SHOPIFY_LOCATION_NOT_FOUND]

La tienda está congelada, en pausa o bloqueada por Shopify: nada que corregir en GSE-Web, vuelva a intentarlo cuando esté abierta de nuevo

Qué hacer
Resuelva la situación de la tienda con Shopify (suscripción, pago); la sincronización se reanuda después sola.
[SHOPIFY_SHOP_UNAVAILABLE]

No se puede contactar con la tienda (…)

Qué hacer
Compruebe que la tienda responde y vuelva a intentarlo.
[SHOPIFY_SHOP_UNREACHABLE]

La tienda no ha respondido a tiempo

Qué hacer
Vuelva a intentarlo un poco más tarde.
[SHOPIFY_SHOP_TIMEOUT]

La tienda limita las llamadas: vuelva a intentarlo más tarde

Qué hacer
Espere: la pasada siguiente se reanuda sola.
[SHOPIFY_SHOP_RATE_LIMITED]

Respuesta ilegible de la tienda

Qué hacer
Vuelva a intentarlo; si el mensaje se repite, escríbanos con el código que figura más abajo.
[SHOPIFY_SHOP_RESPONSE_INVALID]

Ponga la conexión en pausa antes de cambiar de tienda, de credenciales o de ubicación de stock

Qué hacer
«Pausar», modificar, «Guardar», «Probar la conexión», «Reanudar».
[SHOPIFY_CONNECTION_ACTIVE_CHANGE_REFUSED]

Desconecte primero la tienda actual (sus suscripciones de webhook siguen activas) antes de introducir otra

Qué hacer
«Desconectar» y luego introduzca la nueva tienda.
[SHOPIFY_SHOP_CHANGE_REQUIRES_DISCONNECT]

El régimen de precios (sin/con impuestos) se cambia con la conexión en pausa

Qué hacer
Siga este orden: «Pausar», modifique «Precios publicados», guarde, pruebe y luego «Reanudar». El régimen se comprueba con la tienda en la prueba y al reanudar.
[SHOPIFY_PRICE_MODE_CHANGE_REQUIRES_PAUSE]

El secreto de la app y exactamente una credencial — el ID de cliente o el token de administrador — son obligatorios juntos

Qué hacer
Introduzca el secreto con el ID de cliente (o con el token de administrador), o deje todo vacío para conservar las credenciales guardadas.
[SHOPIFY_CREDENTIALS_REQUIRED]

Active la autenticación en dos pasos en su cuenta antes de introducir las credenciales de una tienda

Qué hacer
Actívela en «Mi información» (la pantalla propone «Abrir «Mi información»») y vuelva a guardar.
[SHOPIFY_CONNECTION_TWO_FACTOR_REQUIRED]

Un almacén de ejercicio no puede vincularse a una tienda en línea

Qué hacer
Elija un almacén real como «Almacén publicado».
[SHOPIFY_WAREHOUSE_EXERCISE_REFUSED]

Las credenciales guardadas ya no pueden leerse en este servidor: vuelva a introducirlas

Qué hacer
Vuelva a introducir el secreto y el ID de cliente (o el token), pruebe y luego active.
[INTEGRATIONS_CREDENTIALS_UNREADABLE]

Ya hay una sincronización en curso para esta conexión: vuelva a intentarlo en unos instantes

Qué hacer
Espere a que termine la pasada en curso.
[INTEGRATIONS_CONNECTION_BUSY]

Preguntas frecuentes

¿Se admiten los productos con variantes?

Sí. Un producto con variantes se publica como un producto con opciones, y cada una de sus variantes como una variante de Shopify, con su referencia, su precio y su stock. Shopify acepta tres ejes como máximo (talla, color, material…). Un pedido de una variante da un albarán de la variante.

¿Se pueden conectar varias tiendas o varias ubicaciones?

No. Una organización conecta una tienda, y un almacén de GSE-Web, el «Almacén publicado», alimenta una sola ubicación de la tienda. Las demás ubicaciones de Shopify no se tocan.

¿Se comunican las entregas a la tienda?

Sí, si «Informar a la tienda de las entregas y cancelaciones» está marcado, como ocurre por defecto. Un albarán entregado cumple su pedido en la tienda; si salió en un envío, se transmiten el transportista y el n.º de seguimiento, y Shopify envía al cliente su e-mail de envío. Un albarán cancelado en GSE-Web cancela su pedido en la tienda, sin reembolso. GSE-Web nunca escribe las líneas de un pedido.

¿Se intercambian las imágenes y la descripción de los productos?

Nunca salen de GSE-Web: las fotos y la descripción se gestionan en Shopify. En cambio, si marca «Recuperar la descripción y las fotos de la tienda», se copian en GSE-Web en los productos vinculados. Las fotos y la descripción propias de cada variante no se recuperan.

¿Se recuperan las colecciones, las etiquetas y los impuestos de la tienda?

No. Siguen gestionándose en Shopify y GSE-Web no los recupera.

¿Y las ventas en caja (Shopify POS)?

Un pedido ya cumplido en Shopify cuando llega, como una venta en caja, no se convierte en albarán: la mercancía ya ha salido. Un punto pendiente le pide que registre su salida de stock en GSE-Web; si no, GSE-Web volvería a publicar su antiguo disponible en la tienda.

¿Qué ocurre si pongo en pausa o si se cierra el módulo?

No se envía ni se importa nada, y no se elimina nada. El stock de la tienda sigue siendo el del último envío. Al reanudar, se recuperan los pedidos realizados entretanto si tienen menos de 30 días (ajustable de 1 a 90, y 60 días como máximo sin el permiso read_all_orders).

¿Cuánto tarda un pedido en aparecer en GSE-Web?

Al instante, por webhook. Si un webhook se pierde, la pasada siguiente, cada 5 minutos, recupera el pedido.

¿Puede la tienda vender un producto que ya no está en stock?

El riesgo se reduce a unos segundos, sin desaparecer. El stock se envía a la tienda unos segundos después de cada salida, entrada o reserva registrada en GSE-Web, y cada pedido de la tienda reserva al instante toda su cantidad. Una venta en la tienda en el momento exacto de una salida en el almacén sigue siendo posible: se convierte en un albarán cuyo faltante se lee «Pendiente de recepción».

¿Se reconoce a un comprador que ya figura entre mis terceros?

No. El conector crea un cliente «Particular» por comprador y lo encuentra por su e-mail en los pedidos siguientes, pero no lo asocia a un tercero ya registrado en GSE-Web.

¿Se importan los pedidos realizados antes de la activación?

No. Solo se importan los pedidos recibidos después de la activación.

¿Cómo obtengo el conector?

KLS-Concept abre los módulos «Integraciones» y «Shopify» organización por organización. Escríbanos desde la página de contacto.

Conectar su tienda Shopify

Solicite la apertura del conector para su organización, o envíenos sus preguntas sobre su caso.