Requisitos e limitações de script
Para criar scripts, é necessário um plano Shopify Plus e o Script Editor. Também é preciso conhecer a linguagem de programação Ruby ou ter acesso a um desenvolvedor ou Parceiro da Shopify familiarizado com ela. Saiba mais sobre como contratar um Parceiro da Shopify.
Algumas limitações de script existem para melhorar a segurança e garantir que seja possível executar os scripts, independentemente de quantos clientes haja em sua loja em determinado momento. Lembre-se das restrições a seguir se você estiver desenvolvendo scripts para a sua loja da 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
- 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
Ao criar ou editar um script, você escolhe se ele será executado somente em sua loja virtual ou em sua loja virtual e nestes apps:
- Apps personalizados desenvolvidos com a API Storefront, o SDK Buy para JavaScript e 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 função de carrinho de compras integrada. Por isso, não é possível usar os scripts com os canais de venda Botão Comprar, Facebook ou Atacado.
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 frete e os scripts de pagamento 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, não podem acessar a forma de aplicação (carrinho ou item de linha específico). Assim, eles não têm acesso aos totais após o desconto e aos 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. A forma .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.
Expressões regulares
A correspondência de expressões regulares não é compatível. Se estiver criando um script de item de linha, você poderá usar um dos métodos a seguir como solução alternativa:
- método de divisão
- métodos start_with e end_with
- incluir 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 itens de linha no carrinho. Se esse for seu caso, será necessário editar o tema para mostrar esses descontos. Saiba mais sobre os tipos de modificações que é possível fazer 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 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.
Contudo, 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, você pode programar scripts para serem executados durante eventos usando o app Launchpad.
Limite de caracteres de script
Você pode criar scripts com até 24.576 caracteres.
Pedidos de assinatura
Se os scripts de frete e de item de linha habilitam um desconto para produtos de assinatura, ele é aplicado aos seguintes pagamentos:
- Apenas ao primeiro valor pago de um pagamento por entrega, sem ser aplicado a pedidos agendados
- o valor total do 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 veem 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 como nome, apenas aqueles com essas ilustrações próximas ao nome.