Requisitos e limitações dos Scripts da Shopify
Os Scripts da Shopify têm algumas limitações para melhorar a segurança e garantir que seja possível executá-los, sem importar a quantidade de clientes que haja na loja em um determinado momento. Lembre-se das restrições a seguir se você estiver desenvolvendo scripts para a loja na Shopify.
Nesta página
- Loja virtual e a API Storefront
- Scripts publicados
- Número máximo de Scripts da Shopify
- Rascunhos de pedido
- Metacampos
- Atributos de 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 de script
- Pedidos de assinatura
- Checkouts acelerados
- Shopify PDV
- Renomear gateways de pagamento
Loja virtual e a API Storefront
Quando você criar ou editar um script, defina se ele será executado apenas na loja virtual ou na loja virtual e nestes apps:
- Apps personalizados desenvolvidos com a API Storefront, o SDK Buy para JavaScript ou os SDKs Buy para dispositivos móveis (Android e iOS)
- Apps personalizados que geram checkouts
- Construtores 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 integrado, portanto não é possível usar scripts com Botões Comprar ou com o canal de vendas Facebook and Instagram by Meta.
Scripts publicados
Somente um script por tipo de script pode ser publicado por vez. Por exemplo, você pode publicar um script de item de linha e um script de taxas de frete, mas não pode publicar dois scripts de itens de linha ao mesmo tempo.
Número máximo de Scripts da Shopify
Você pode criar até 200 Scripts da Shopify.
Rascunhos de pedido
Os scripts de itens de linha, os scripts de taxas de frete e os scripts de pagamentos não funcionam com rascunhos de pedido nem no checkout de rascunhos de pedido.
Metacampos
Os Scripts da Shopify não podem acessar os metacampos.
Atributos de carrinho/checkout
Os Scripts da Shopify não podem acessar os atributos de carrinho do Shopify Liquid. Esses atributos podem ser adicionados às páginas de carrinho para coletar informações extras de seus clientes, mas não é possível criar um script que os use.
Códigos de desconto
Os scripts podem acessar se um código de desconto é aplicado, bem como o valor e o tipo (valor fixo, percentual ou frete) do desconto. No entanto, os scripts não podem acessar como o código de desconto é aplicado, por exemplo, se é específico do carrinho ou do item de linha. Isso significa que os scripts não podem acessar totais pós-desconto ou descontos automáticos.
Os scripts de item de linha e frete que acessam descontos aplicados a um carrinho não são compatíveis com combinações de desconto. O método .discount_code
só pode retornar um único código de desconto. Portanto, carrinhos que incluem vários códigos de desconto em combinações não são aceitos.
Itens de linha
Os scripts não podem adicionar produtos ao carrinho ou aumentar o preço de um item.
Taxas de frete
Os Scripts não podem aumentar o preço da taxa de frete.
várias moedas
Seus scripts podem não funcionar como o esperado com várias moedas. Para garantir que eles funcionem em carrinhos ou checkout em outra moeda que não seja a principal da loja, migre os scripts para o Shopify Functions.
Expressões regulares
A correspondência de expressões regulares não é compatível. Se você estiver criando um script de item de linha, use um dos métodos abaixo como solução alternativa:
-
split
método -
start_with
eend_with
como métodos -
include
método
Temas
Pode ser necessário atualizar o tema Liquid para que seus scripts sejam compatíveis e evitar confundir os clientes. Por exemplo, nem todos os temas mostram descontos de item de linha no carrinho. Se esse for seu caso, será necessário editar o tema para exibir esses descontos. Saiba mais sobre os tipos de modificações possíveis nos temas Liquid.
Recursos
A quantidade disponível de memória e CPU 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 adequado do script.
Quando você testa um script, o console do Script Editor imprime o percentual de recursos alocados que o script está usando.
Entrada/saída
Com raras exceções, os Scripts da Shopify não executam entradas/saídas. Isso significa que os scripts não podem executar solicitações da web ou chamadas de banco de dados nem obter dados de usuários.
O método puts
pode ser usado para imprimir texto no console no app Script Editor.
Tempo e aleatoriedade
Os scripts não podem envolver cálculos aleatórios ou baseados em tempo. Os Scripts da Shopify não podem acessar o objeto Time
nem o método rand
.
Como os scripts são executados sempre que o total de um carrinho é recalculado, aqueles com base no tempo ou na geração de números aleatórios podem ter resultados imprevisíveis ou confusos se o cliente alterar o carrinho com frequência. Contudo, é possível usar o app Launchpad para programar a execução dos scripts durante eventos.
Limite de caracteres de script
É possível criar scripts de até 40.960 caracteres, no máximo.
Pedidos de assinatura
Se os scripts de frete e de item de linha criam um desconto para produtos de assinatura, ele é aplicado a estes pagamentos:
- Apenas ao primeiro valor pago de um pagamento por entrega, sem ser aplicado a pedidos agendados
- Ao valor total de um pedido de assinatura pré-paga
Saiba mais sobre assinaturas e scripts.
Checkouts acelerados
Quando você usa os Scripts da Shopify com checkouts acelerados, os descontos de frete são aplicados após o cliente selecionar uma forma acelerada de pagamento. Por isso, as alterações no preço do pedido não se refletem no dispositivo ou navegador do cliente. Os clientes podem ver o preço original no checkout acelerado, mas a cobrança é feita usando o preço correto com desconto.
Shopify PDV
Os Scripts da Shopify não funcionam com o Shopify PDV.
Renomear gateways de pagamento
Não é possível renomear gateways de pagamento que tenham imagens ou logos mostrados como nome, apenas aqueles com esses elementos ao lado do nome.