Variantes

Para enviar variantes a Shopify, hay varias reglas que deben tenerse en cuenta: 

 

REGLA 01. Si el producto no tiene variantes, toda la información obligatoria debe configurarse en la pestaña del  Producto dentro del conector.

REGLA 02. Si existen tanto productos como variantes y se detectan campos repetidos, prevalecerán los valores de las variantes.

REGLA 03. Cada producto o variante debe contar con un SKU único que lo identifique. El conector utiliza el SKU como referencia principal para localizar productos y variantes en Shopify.

Si el conector detecta más de un producto o variante con el mismo SKU, podrían producirse comportamientos inesperados, como la creación de duplicados o la sobrescritura de artículos incorrectos.

REGLA 04. Cada variante de un producto debe tener un valor asignado para todos los atributos de variante definidos. Si falta alguno, no se sincronizará (y si el atributo ya existe en Shopify, será eliminado).

Ejemplo

 

Ordenar las variantes desde el catálogo de Sales Layer y enviar este orden a Shopify

 

1- Agrega el campo a ordenar en la pestaña de Variantes

Variantes

2- Añade el campo sort_order en la pestaña Productos

Productos

3- Inserta una de las dos fórmulas detalladas a continuación:

Edición de fórmula

 

  • field: asc|desc: Por ejemplo:
PRINT("precio:asc"); PRINT("precio:desc")
  • field: custom|opción1|opción2: Por ejemplo:
PRINT("talla:custom|XS|S|M|L|XL")

En esta segunda opción, si no se introducen todas las opciones de la variante, el sistema seguirá el orden de las indicadas en este campo pero no las que no contengan ninguna.

 

Correlación de campos: 

Campo en el conectorObligatorio Descripción

title

Tipo: string

Nombre de la variante

sku

Sí (control interno del conector)

Tipo: string

Referencia del producto

  • En Shopify se puede encontrar en la ventana de inventario dentro de una variante

status

No
  • Antes de la versión 1.9.1, es importante recordar que Shopify no tiene estado para las variantes (esto significa que no se pueden tener variantes como “no disponible” o “borrador”, por ejemplo).
  • Entonces, cuando se excluyen de una sincronización de la manera descrita en “Parámetros”, las variantes serán eliminadas, y luego deberán ser recreadas (por ejemplo, cambiando nuevamente su estado a visible), por lo que el nuevo ID de Shopify no será el mismo que antes.
  • Esto puede ser importante si las variantes anteriores se han vendido y se extraen métricas relacionadas de Shopify.
  • Si necesitas hacer coincidir variantes antiguas y nuevas, el SKU te ayudará a hacerlo. El ID de Shopify también puede perderse cuando se cambia la configuración de atributos de un producto. Esta es otra razón para usar SKU para identificarlas en lugar del ID de Shopify.

No (debe mapearse si el filtro de visibilidad del conector = Todos los ítems)

Tipo: string|SalesLayer Status

  • This field should be mapped out if the connector’s visibility filter is “All items”.
  • The connector manages this field as follows:
    • V (Visible) → it creates or updates the variant
    • D (Draft) → it deletes the variant
    • I (Invisible) → it deletes the variant
  • Este campo debe mapearse si el filtro de visibilidad del conector es “Todos los ítems”.
  • El conector gestiona este campo de la siguiente manera:
    • V (Visible) → crea o actualiza la variante
    • D (Borrador) → elimina la variante
    • I (Invisible) → elimina la variante

options

Sí, al menos 1 opción

Tipo: All valid.

Para crear variantes en Shopify es obligatorio enviar al menos un campo configurable.

  • Si el atributo (opción) existe en Shopify, será eliminado.

Ejemplo de opciones: “color” o “talla”

price

No

Tipo: decimal

Precio

  • Shopify permite hasta dos decimales en el campo de precio. Recomendamos adoptar esta restricción en los campos mapeados. Si necesitas colocar más de dos decimales, puedes usar la fórmula CONVERT_NUM() para convertir el formato.

barcode

No

Tipo: string
Código de barras

taxable

No

Tipo: string|
boolean

true | yes | sí => Indica si se aplica IVA al producto
no => No indica

template_suffix

No

Tipo: string

Plantilla de tema

Mapear con uno de los valores existentes, los temas deben haber sido creados o comprados desde Online Store > Themes

inventory_policy 

No

Tipo: string

Continuar vendiendo cuando esté agotado

  • En Shopify, si no existen variantes, puede encontrarse en la ventana de Inventario dentro de un producto

Deny: No continúa la venta cuando está agotado.

images

No

Tipo: array (string)

Imagen de variante

Se envía un array que contiene el estado, ID interno y la URL de la imagen asociada con cada variante.

  • En Shopify, esta imagen se puede encontrar en la sección de Opciones de variante del editor del producto.
  • Importante: Cada variante en Shopify puede tener solo una imagen asociada. Si se proporcionan múltiples imágenes, solo se aplicará la primera.

variant_alt

No

Tipo: string

Texto alternativo de la imagen de variante

Este campo se puede configurar de dos maneras:

  • Usando un campo de texto con descripciones separadas por comas, en el mismo orden que las imágenes.
  • Usando un campo tipo tabla, donde cada fila corresponde a la imagen en la misma posición (es decir, la primera fila aplica a la primera imagen, la segunda a la segunda, etc.).

tracked

No

Tipo: boolean / string

Define si el inventario de un ítem debe ser rastreado o no. Este campo debe emparejarse con un campo de tipo texto con los valores:

  • ‘yes’: permite al conector establecer el valor de cantidad en stock
  • ‘no’ | vacío | null: no permite establecer valor de stock

requires_shipping

No

Tipo: boolean

True => Es un producto físico, requiere envío. En caso contrario, false.

En Shopify, si no existen variantes, puede encontrarse en la ventana de Envío dentro de una variante.

cost_per_item

No

Tipo: float

Costo por artículo, junto al campo Precio, indicando el coste de fabricación u otro similar

  • En Shopify, si no existen variantes, puede encontrarse en la ventana de Precios dentro de un producto

country_code_of_origin

No

Tipo: string

Atributo configurable, país o región de origen para control aduanero.

Lista de valores posibles: https://shopify.dev/api/storefront/reference/common-objects/countrycode

province_code_of_origin

No

Tipo: string

Código ISO 3166-2 alfa-2 de la provincia de origen del producto.

Link: ISO 3166-2 (Ejemplo: ES-V, FR-IDF, etc.)

harmonized_system_code

No

Tipo: string

Código del sistema armonizado del artículo
countryHarmonizedSystemCodes

No

Tipo: List

Mismo comportamiento que los campos: country_code_of_origin y harmonized_system_code

weight 

No

Tipo: decimal

Peso, aparece cuando está marcada la casilla de producto físico

En Shopify, si no existen variantes, puede encontrarse en la ventana de Envío dentro de un producto

*No funciona si el campo “grams” está activo

weight_unit

No

Tipo: string

Unidad de medida de peso

  • g => GRAMOS
  • kg => KILOGRAMOS
  • lb => LIBRAS
  • oz => ONZAS

En Shopify, si no existen variantes, puede encontrarse junto al campo de peso en la ventana de Envío dentro de un producto

*No funciona si el campo “grams” está activo

inventory_quantity

No

Tipo: number

Stock por variante, según ubicación

Implementado con InventorySetOnHandQuantitiesInput.setQuantities.quantity

presentment_prices

No

Tipo: table

  • Precios por divisa y mercado para el producto
  • Este campo puede definirse en la pestaña de Variantes

     

  • Columnas:
    • currency_code
    • amount 
      • opcional
      • Precio, obligatorio salvo que no se quiera modificar el precio
    • compare_at_price
      • opcional
      • Precio anterior, debe ser mayor que el actual
    • market 
      • opcional
      • Mercado previamente creado en Shopify. Si no se rellena, se aplica a todas las monedas de mercados sin moneda asignada
  • Luego, mapear el campo presentment_prices

grams *

No

Tipo: number

En la versión 1.9 se convierte automáticamente en los campos weight y weight_unit

Se recomienda usar weight_unit y establecer weight en su lugar

(No funciona si los campos weight y weight_unit están activos)

Peso (si la casilla de producto físico está marcada)

  • En Shopify puede encontrarse en la ventana de Envío de la variante

inventory management*

No

Tipo: string

En la versión 1.9, el campo inventory_managementse convierte automáticamente en el campo tracked, pero recomendamos usar tracked. Las próximas versiones no soportarán inventory_management .

Casilla "Track quantity", mapeada con el campo específico Inv Management

Atributo configurable:
En Shopify, si no existen variantes, puede encontrarse en la ventana de Inventario dentro de un producto

Valores:

  • ‘shopify’: Sincroniza valores del campo inventory_quantity mapeado desde Sales Layer a Shopify
  • empty|null: No sincroniza valores aunque inventory_quantity tenga un valor válido

fulfillment_service

No

Tipo: string

En la versión v1.8:

Información de localización, previamente definida en Shopify.

Define el servicio de fulfillment asociado al ítem. Debe mapearse con un campo tipo texto con los valores:

  • “manual”
  • “handle”

En la versión 1.9, el conector no implementa fullfilment_service.