Requisitos y limitaciones de Shopify Scripts

Algunas limitaciones de Shopify Scripts existen para mejorar la seguridad y garantizar que los scripts se ejecuten sin importar cuántas personas usen la tienda en un momento dado. Ten en cuenta las siguientes restricciones si desarrollas scripts para la tienda Shopify.

Tienda online y Storefront API

Cuando creas o editas un script, eliges si se ejecutará solo en la tienda online o tanto en la tienda online como en las siguientes apps:

Para que los scripts funcionen, el sitio web debe tener la funcionalidad de carrito integrada, por lo que no se pueden usar scripts con Buy Buttons ni con el canal de ventas Facebook and Instagram by Meta.

Scripts publicados

Solo se puede publicar un script por tipo de script a la vez. Por ejemplo, se puede publicar un script de línea de artículo y un script de tarifas de envío, pero no se pueden publicar dos scripts de línea de artículo al mismo tiempo.

Cantidad máxima de Shopify Scripts

Puedes crear hasta 200 Shopify Scripts.

Pedidos preliminares

Los scripts de línea de artículo, de tarifas de envío y de pagos no funcionan con los pedidos preliminares ni con el pago de pedidos preliminares.

Metacampos

Shopify Scripts no pueden acceder a Metafields.

Atributos del carrito y del pago

Shopify Scripts no pueden acceder a Shopify Liquid cart attributes. Puedes agregar estos atributos en la página del carrito para recopilar información adicional de los clientes, pero no puedes crear un script que los use.

Códigos de descuento

Los scripts pueden acceder a si hay un código de descuento aplicado, al monto del descuento y al tipo de descuento (por ejemplo, monto fijo, porcentaje o envío). Los scripts no pueden acceder a cómo se aplica el código de descuento, por ejemplo, si se aplica al carrito o a una línea de artículo. Esto significa que los scripts no pueden acceder a los totales después del descuento ni a los descuentos automáticos.

Los scripts de línea de artículo y de envío que acceden a los descuentos aplicados al carrito no son compatibles con las combinaciones de descuentos. El método .discount_code solo puede devolver un único código de descuento. No se admiten los carritos que incluyan varios códigos de descuento mediante combinaciones de descuentos.

Líneas de artículo

Los scripts no pueden agregar artículos al carrito ni aumentar el precio de un artículo.

Tarifas de envío

Los scripts no pueden aumentar el precio de una tarifa de envío.

Múltiples monedas

Es posible que los scripts no funcionen con multi-currency como esperas. Para garantizar que los scripts funcionen en carritos o en el pago en cualquier moneda distinta de la moneda principal de la tienda, debes migrarlos a Shopify Functions.

Expresiones regulares

No se admite la coincidencia con expresiones regulares. Si estás creando un script de línea de artículo, quizá puedas usar uno de los siguientes métodos como alternativa:

  • split method
  • Métodos start_with y end_with
  • Método include

Temas

Es posible que debas actualizar el tema de Liquid para que sea compatible con los scripts y evitar confundir a los clientes. Por ejemplo, no todos los temas muestran los descuentos por línea de artículo en el carrito. Si ese es el caso, debes editar el tema para mostrar los descuentos por línea de artículo en el carrito. Más información sobre los types of modifications que puedes hacer en los temas de Liquid.

Recursos

La cantidad de CPU y memoria disponible para un script es limitada. Los recursos reservados para un script dependen del tamaño del carrito y de la cantidad de cálculos que requiere. Shopify controla con cuidado estos límites de recursos para asegurarse de que no impidan que el script funcione como se espera.

Cuando haces test de un script, la consola de Script Editor muestra el porcentaje de recursos asignados que usa el script.

Entrada/salida

Con pocas excepciones, Shopify Scripts no admiten entrada/salida. Esto significa que los scripts no pueden ejecutar solicitudes web ni llamadas a bases de datos, y no pueden recibir datos de una persona usuaria.

El método puts se puede usar para imprimir texto en la consola de la app Script Editor.

Tiempo y aleatoriedad

Los scripts no pueden incluir cálculos aleatorios ni basados en el tiempo. Shopify Scripts no pueden acceder al objeto Time ni al método rand.

Como los scripts se ejecutan cada vez que se recalcula el total del carrito, los basados en el tiempo o en la generación de números aleatorios pueden arrojar resultados impredecibles o confusos si un cliente cambia el carrito con frecuencia. Sin embargo, puedes programar scripts para que se ejecuten durante eventos con la app Launchpad.

Límite de caracteres del script

Puedes crear scripts de hasta 40.960 caracteres.

Pedidos de suscripción

Si los scripts de línea de artículo y de envío crean un descuento para un producto de suscripción, el descuento se aplica a los siguientes pagos:

  • al primer pago de un pedido de pago por entrega únicamente, sin aplicarse a los pedidos programados
  • al monto total de un pedido de suscripción prepago

Más información sobre subscriptions and scripts.

Procesos de pago acelerados

Cuando usas Shopify Scripts con accelerated checkouts, los descuentos de envío se aplican después de que el cliente selecciona una forma de pago acelerada. Por eso, los cambios en el precio del pedido no se reflejan en el dispositivo o navegador del cliente. El cliente puede ver el precio original en el proceso de pago acelerado, pero se le cobrará el precio correcto con descuento.

Shopify Point of Sale (POS)

Shopify Scripts no funcionan con Shopify Point of Sale (POS).

Cambiar el nombre de las pasarelas de pago

No puedes cambiar el nombre de las pasarelas de pago que usan imágenes o logos como nombre de la pasarela. Se puede cambiar el nombre de las pasarelas de pago que tienen un logo junto a su nombre.

Envío dividido en el pago

Los scripts de envío no son compatibles con split shipping in Shopify Checkout. Si usas scripts de envío y activas el envío dividido, los envíos divididos no se muestran a los clientes en el pago.