Requisitos e limitações dos Scripts da Shopify

Algumas limitações dos Scripts da Shopify existem para aprimorar a segurança e garantir que os scripts possam ser executados, independentemente de quantos clientes usem a loja simultaneamente. Lembre-se das seguintes restrições ao desenvolver scripts para a sua loja na Shopify.

Loja virtual e a Storefront API

Ao criar ou editar um script, você escolhe se ele será executado apenas na loja virtual ou na loja virtual e nos seguintes apps:

Para que os scripts funcionem, o site precisa ter a funcionalidade de carrinho de compras integrada. Portanto, não é possível usá-los com Botões de compra ou no canal de vendas Facebook and Instagram by Meta.

Scripts publicados

Apenas um script por tipo pode ser publicado de cada vez. Por exemplo, é possível publicar um script de itens de linha e um de taxas de frete, mas não dois scripts de itens de linha ao mesmo tempo.

Número máximo de Scripts da Shopify

É possível criar até 200 Scripts da Shopify.

Rascunhos de pedido

Scripts de itens de linha, de taxas de frete e de pagamentos não funcionam com rascunhos de pedido nem com o checkout de rascunhos de pedido.

Metacampos

Os Scripts da Shopify não conseguem acessar Metacampos.

Atributos de carrinho/checkout

Os Scripts da Shopify não acessam os atributos de carrinho do Shopify Liquid. É possível adicionar esses atributos às páginas do carrinho para coletar informações extras dos clientes, mas não é possível criar um script que os utilize.

Códigos de desconto

Os scripts podem acessar se um código de desconto foi aplicado, o valor e o tipo de desconto (como valor fixo, percentual ou de frete). No entanto, não podem acessar a forma como o código de desconto é aplicado (por exemplo, se é específico para o carrinho ou para o item de linha). Isso significa que os scripts não conseguem acessar totais pós-desconto nem descontos automáticos.

Scripts de item de linha e de frete que acessam descontos aplicados a um carrinho não são compatíveis com combinações de descontos. O método .discount_code retorna apenas um código de desconto. Não há compatibilidade com carrinhos que incluem vários códigos de desconto por meio de combinações de descontos.

Itens de linha

Os scripts não podem adicionar itens ao carrinho nem aumentar o preço de um item.

Taxas de frete

Os scripts não podem aumentar o preço de uma taxa de frete.

Várias moedas

Talvez os scripts não funcionem como esperado com o recurso de várias moedas. Para que eles funcionem em carrinhos ou checkouts que estejam em qualquer moeda diferente da principal da loja, é necessário migrar os scripts para o Shopify Functions.

Expressões regulares

A correspondência de expressões regulares não é aceita. Se você estiver criando um script de item de linha, talvez seja possível usar um dos seguintes métodos como alternativa:

  • Método split
  • Métodos start_with e end_with
  • Método include

Temas

Talvez seja necessário atualizar o tema Liquid para que ele seja compatível com os scripts e não confunda os clientes. Por exemplo, nem todos os temas exibem descontos de item de linha no carrinho. Nesse caso, é preciso editar o tema para exibir esses descontos no carrinho. Saiba mais sobre os tipos de modificações que podem ser feitas nos temas Liquid.

Recursos

A quantidade de CPU e memória disponível para um script é limitada. Os recursos reservados para um script dependem do tamanho do carrinho e da quantidade de cálculos exigidos pelo script. A Shopify monitora cuidadosamente esses limites de recursos para garantir que eles não impeçam o funcionamento pretendido do script.

Quando você testa um script, o console do Script Editor exibe a porcentagem de recursos alocados que o script está usando.

Entrada/saída

Com algumas exceções, os Scripts da Shopify não são compatíveis com entrada/saída. Isso significa que os scripts não podem executar solicitações da web ou chamadas de banco de dados, nem receber entradas de um usuário.

O método puts pode ser usado para exibir texto no console do app Script Editor.

Tempo e aleatoriedade

Os scripts não podem envolver cálculos aleatórios ou baseados em tempo. O objeto Time e o método rand não podem ser acessados pelos Scripts da Shopify.

Como os scripts são executados sempre que o total de um carrinho é recalculado, os scripts com base em tempo ou na geração de números aleatórios podem ter resultados imprevisíveis ou confusos se um cliente alterar o carrinho com frequência. No entanto, é possível agendar a execução de scripts durante eventos usando o app Launchpad.

Limite de caracteres do script

É possível criar scripts com no máximo 40.960 caracteres.

Pedidos de assinatura

Se os scripts de item de linha e de frete criarem um desconto para um produto de assinatura, esse desconto será aplicado aos seguintes pagamentos:

  • apenas o primeiro pagamento por entrega, sem se aplicar a pedidos agendados
  • o valor total de um pedido de assinatura pré-paga

Saiba mais sobre assinaturas e scripts.

Checkouts acelerados

Ao usar os Scripts da Shopify com checkouts acelerados, os descontos de frete são aplicados depois que o cliente seleciona uma forma de pagamento acelerada. Por isso, as alterações no preço do pedido não são refletidas no dispositivo nem no navegador do cliente. Os clientes conseguem ver o preço original no checkout acelerado, mas a cobrança será feita com o preço com desconto correto.

Shopify Point of Sale (POS)

Os Scripts da Shopify não funcionam com o Shopify Point of Sale (POS).

Renomeação de gateways de pagamento

Não é possível renomear gateways de pagamento com imagens ou logos exibidos como nome. Já os gateways de pagamento com imagens de logo ao lado do nome podem ser renomeados.

Frete dividido no checkout

Os scripts de frete são incompatíveis com o frete dividido no Shopify Checkout. Se você usar scripts de frete e ativar o frete dividido, as remessas separadas não serão exibidas para os clientes no checkout.