Вимоги та обмеження сценаріїв Shopify

Деякі обмеження сценаріїв Shopify існують для підвищення безпеки та забезпечення того, щоб сценарії могли виконуватися незалежно від того, скільки клієнтів використовують ваш магазин у будь-який момент часу. Пам’ятайте про наведені нижче обмеження, якщо ви розробляєте сценарії для свого магазину Shopify.

Інтернет-магазин і Storefront API

Створюючи або редагуючи сценарій, ви вибираєте, чи він запускатиметься лише у вашому інтернет-магазині, чи у вашому інтернет-магазині та в таких застосунках:

  • Кастомні застосунки, створені за допомогою Storefront API, JavaScript Buy SDK або Mobile Buy SDKs (Android та iOS)
  • Кастомні застосунки, які генерують оформлення замовлення
  • Конструктори мобільних застосунків Tapcart і Plobal Apps

Щоб сценарії працювали, на вашому вебсайті має бути вбудований функціонал кошика, тому ви не можете використовувати їх із кнопками «Купити» або каналом продажу Facebook and Instagram by Meta.

Опубліковані сценарії

Одночасно може бути опубліковано лише один сценарій певного типу. Наприклад, ви можете опублікувати сценарій для позицій і сценарій для тарифів на доставку, але ви не можете опублікувати два сценарії для позицій одночасно.

Максимальна кількість сценаріїв Shopify

Ви можете створити до 200 сценаріїв Shopify.

Чернетки замовлень

Сценарії для позицій, сценарії для тарифів на доставку та сценарії для платежів не працюють із чернетками замовлень або оформленням замовлення для чернеток.

Метаполя

Сценарії Shopify не мають доступу до метаполів.

Атрибути кошика / оформлення замовлення

Сценарії Shopify не мають доступу до атрибутів кошика Shopify Liquid. Ви можете додати ці атрибути на сторінки кошика, щоб збирати додаткову інформацію від клієнтів, але ви не можете створити сценарій, який їх використовує.

Коди знижок

Сценарії можуть перевіряти, чи застосовано код знижки, суму знижки та тип знижки, як-от фіксована сума, відсоток або доставка. Сценарії не мають доступу до інформації про те, як застосовується код знижки, наприклад, до всього кошика чи до окремої позиції. Це означає, що сценарії не мають доступу до підсумкових сум після застосування знижок або до автоматичних знижок.

Сценарії для позицій та доставки, які отримують доступ до знижок, застосованих до кошика, не сумісні з комбінаціями знижок. Метод .discount_code може повернути лише один код знижки. Кошики, що містять кілька кодів знижок із використанням комбінацій знижок, не підтримуються.

Позиції

Сценарії не можуть додавати товари до кошика або підвищувати їхню ціну.

Тарифи на доставку

Сценарії не можуть збільшувати вартість тарифу на доставку.

Мультивалютність

Ваші сценарії можуть працювати з мультивалютністю не так, як очікувалося. Щоб гарантувати роботу сценаріїв для кошиків або під час оформлення замовлення в будь-якій валюті, відмінній від основної валюти вашого магазину, вам потрібно мігрувати свої сценарії до Shopify Functions.

Регулярні вирази

Зіставлення з регулярними виразами не підтримується. Якщо ви створюєте сценарій для позиції, то як обхідне рішення можна скористатися одним із таких методів:

Теми

Вам може знадобитися оновити тему Liquid, щоб вона підтримувала ваші сценарії та не спантеличувала клієнтів. Наприклад, не всі теми відображають знижки на позиції в кошику. Якщо це ваш випадок, вам потрібно відредагувати тему, щоб ці знижки відображалися. Дізнайтеся більше про типи змін, які можна вносити до тем Liquid.

Ресурси

Обсяг ресурсів процесора та пам'яті, доступних для сценарію, обмежений. Зарезервовані для сценарію ресурси залежать від розміру кошика й кількості обчислень, яких потребує сценарій. Shopify ретельно відстежує ці обмеження ресурсів, щоб переконатися, що вони не перешкоджають належній роботі сценарію.

Коли ви тестуєте сценарій, консоль Script Editor виводить відсоток виділених ресурсів, які використовує цей сценарій.

Ввід/вивід

За кількома винятками, сценарії Shopify не підтримують ввід і вивід. Це означає, що сценарії не можуть виконувати вебзапити або звернення до баз даних, а також не можуть отримувати ввідні дані від користувача.

Метод puts можна використовувати для виведення тексту в консолі застосунку Script Editor.

Час і випадковість

Сценарії не можуть містити випадкових обчислень або обчислень, що ґрунтуються на часі. Сценарії Shopify не мають доступу до об'єкта Time та методу rand.

Оскільки сценарії запускаються щоразу, коли перераховується загальна сума кошика, сценарії на основі часу або генерації випадкових чисел можуть мати непередбачувані або заплутані результати, якщо клієнт часто вносить зміни до кошика. Проте ви можете запланувати запуск сценаріїв під час подій за допомогою застосунку Launchpad.

Обмеження кількості символів у сценарії

Ви можете створювати сценарії обсягом до 40 960 символів.

Замовлення за підпискою

Якщо ваші сценарії для позицій та доставки створюють знижку на товар за підпискою, ця знижка застосовується до таких платежів:

  • лише перший платіж за умови оплати за доставку, без застосування до запланованих замовлень;
  • уся сума попередньо оплаченого замовлення за підпискою.

Дізнайтеся більше про підписки та сценарії.

Прискорене оформлення замовлення

Коли ви використовуєте сценарії Shopify під час прискореного оформлення замовлення, знижки на доставку застосовуються після того, як клієнт вибере спосіб прискореної оплати. Через це зміни в ціні замовлення не відображаються на пристрої чи в браузері клієнта. Клієнти бачитимуть початкову ціну під час прискореного оформлення замовлення, але з них буде стягнуто правильну ціну зі знижкою.

Shopify Point of Sale (POS)

Сценарії Shopify не працюють із Shopify Point of Sale (POS).

Перейменування платіжних шлюзів

Ви не можете перейменовувати платіжні шлюзи, у яких замість назви відображаються зображення або логотипи. Платіжні шлюзи, що мають логотипи поруч із назвами, перейменовувати можна.

Доставка кількома відправленнями під час оформлення замовлення

Сценарії доставки несумісні з функцією доставки кількома відправленнями в Shopify Checkout. Якщо ви використовуєте сценарії доставки та активуєте доставку кількома відправленнями, розділені відправлення не відображатимуться клієнтам під час оформлення замовлення.