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.
Nesta página
- Loja virtual e a Storefront API
- Scripts publicados
- Número máximo de Scripts da Shopify
- Pedidos provisórios
- Metacampos
- Atributos do carrinho/checkout
- Códigos de desconto
- Itens de linha
- Taxas de frete
- Várias moedas
- Expressões regulares
- Temas
- Recursos
- Entrada/saída
- Tempo e aleatoriedade
- Limite de caracteres do script
- Pedidos de assinatura
- Checkouts acelerados
- Shopify Point of Sale (POS)
- Renomear gateways de pagamento
- Dividir frete no checkout
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:
- Apps personalizados criados com a Storefront API, o JavaScript Buy SDK ou os Mobile Buy SDKs (Android e iOS)
- Apps personalizados que geram checkouts
- Criadores de apps para dispositivos móveis Tapcart e Plobal 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_witheend_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.