Keperluan dan pengehadan Skrip Shopify

Beberapa pengehadan Skrip Shopify wujud untuk meningkatkan keselamatan dan bagi memastikan bahawa skrip boleh dijalankan tidak kira berapa ramai pelanggan menggunakan kedai anda pada sebarang masa tertentu. Ingat sekatan berikut jika anda sedang membangunkan skrip untuk kedai Shopify anda.

Kedai dalam talian dan Storefront API

Apabila anda mencipta atau mengedit skrip, anda memilih sama ada skrip itu akan dijalankan hanya di kedai dalam talian anda atau di kedai dalam talian anda berserta aplikasi berikut:

Untuk memastikan skrip berfungsi, laman web anda mesti mempunyai kefungsian troli beli-belah terbina dalam. Oleh itu, anda tidak boleh menggunakan skrip dengan Butang Beli atau saluran jualan Facebook dan Instagram by Meta.

Skrip yang diterbitkan

Hanya satu skrip untuk setiap jenis skrip boleh diterbitkan pada satu-satu masa. Contohnya, anda boleh menerbitkan skrip item baris dan skrip kadar pengiriman, tetapi anda tidak boleh menerbitkan dua skrip item baris pada masa yang sama.

Bilangan maksimum Skrip Shopify

Anda boleh mencipta hingga 200 Skrip Shopify.

Pesanan draf

Skrip item baris, skrip kadar pengiriman dan skrip pembayaran tidak berfungsi dengan pesanan draf atau pembayaran pesanan draf.

Medan meta

Skrip Shopify tidak boleh mengakses Medan meta.

Atribut troli/pembayaran

Skrip Shopify tidak boleh mengakses atribut troli Shopify Liquid. Anda boleh menambahkan atribut ini pada halaman troli anda untuk mengumpulkan maklumat tambahan daripada pelanggan anda, tetapi anda tidak boleh mencipta skrip yang menggunakan atribut tersebut.

Kod diskaun

Skrip boleh mengakses sama ada kod diskaun digunakan, amaun diskaun dan jenis diskaun, seperti amaun tetap, peratusan atau pengiriman. Skrip tidak boleh mengakses cara kod diskaun digunakan, contohnya jika ia khusus untuk troli atau khusus untuk item baris. Ini bermakna Skrip tidak boleh mengakses jumlah pascadiskaun atau diskaun automatik.

Skrip item baris dan pengiriman yang mengakses diskaun yang digunakan pada troli tidak serasi dengan gabungan diskaun. Kaedah .discount_code hanya boleh mengembalikan kod diskaun tunggal. Troli yang merangkumi berbilang kod diskaun menggunakan gabungan diskaun tidak disokong.

Item baris

Skrip tidak boleh menambahkan item ke dalam troli atau menaikkan harga item.

Kadar pengiriman

Skrip tidak boleh menaikkan harga kadar pengiriman.

Berbilang mata wang

Skrip anda mungkin tidak berfungsi dengan berbilang mata wang seperti yang dijangka. Untuk memastikan skrip anda berfungsi untuk troli atau pembayaran yang berada dalam sebarang mata wang selain mata wang utama kedai anda, anda perlu melakukan migrasi skrip anda ke Shopify Functions.

Ungkapan nalar

Padanan ungkapan nalar tidak disokong. Jika anda sedang mencipta skrip item baris, maka anda mungkin boleh menggunakan salah satu daripada kaedah berikut sebagai jalan penyelesaian:

  • Kaedah split
  • Kaedah start_with dan end_with
  • Kaedah include

Tema

Anda mungkin perlu mengemaskinikan tema Liquid anda untuk menyokong skrip anda dan mengelakkan pelanggan anda daripada terkeliru. Contohnya, bukan semua tema memaparkan diskaun item baris di dalam troli. Jika ini yang berlaku, maka anda perlu mengedit tema anda untuk memaparkan diskaun item baris di dalam troli. Ketahui lebih lanjut tentang jenis pengubahsuaian yang anda boleh lakukan pada tema Liquid anda.

Sumber

Jumlah CPU dan memori yang tersedia untuk sesuatu skrip adalah terhad. Sumber yang dikhaskan untuk skrip bergantung pada saiz troli dan jumlah pengiraan yang diperlukan oleh skrip tersebut. Shopify menjejak had sumber ini dengan teliti untuk memastikan had tersebut tidak menghalang skrip anda daripada berfungsi seperti yang diharapkan.

Apabila anda menguji sesuatu skrip, konsol Script Editor mencetak peratusan sumber yang diperuntukkan yang digunakan oleh skrip tersebut.

Input/output

Dengan beberapa pengecualian, Skrip Shopify tidak mempunyai keupayaan input/output. Ini bermakna skrip tidak boleh melaksanakan permintaan web atau panggilan pangkalan data dan skrip tidak boleh mendapatkan input daripada pengguna.

Kaedah puts boleh digunakan untuk mencetak teks pada konsol dalam aplikasi Script Editor.

Masa dan kerawakan

Skrip tidak boleh melibatkan pengiraan rawak atau berdasarkan masa. Objek Time dan kaedah rand tidak boleh diakses oleh Skrip Shopify.

Oleh sebab skrip berjalan setiap kali jumlah troli dikira semula, skrip berdasarkan masa atau penjanaan nombor rawak mungkin memberikan hasil yang tidak dijangka atau mengelirukan jika pelanggan kerap menukar troli mereka. Walau bagaimanapun, anda boleh menjadualkan skrip supaya dijalankan semasa acara menggunakan aplikasi Launchpad.

Had aksara skrip

Anda boleh mencipta skrip sehingga maksimum 40,960 aksara.

Pesanan langganan

Jika skrip item baris dan pengiriman anda mencipta diskaun untuk produk langganan, maka diskaun itu akan digunakan pada pembayaran yang berikut:

  • pembayaran pertama untuk bayar setiap penghantaran sahaja tanpa digunakan pada pesanan berjadual
  • keseluruhan amaun pesanan langganan prabayar

Ketahui lebih lanjut tentang langganan dan skrip.

Pembayaran dipercepat

Apabila anda menggunakan Shopify Scripts dengan pembayaran dipercepat, diskaun pengiriman digunakan selepas pelanggan anda memilih kaedah pembayaran dipercepat. Oleh sebab itu, perubahan kepada harga pesanan tidak dipaparkan pada peranti atau pelayar pelanggan. Pelanggan boleh melihat harga asal pada pembayaran dipercepat mereka, tetapi mereka akan dicaj dengan harga terdiskaun yang betul.

Shopify Point of Sale (POS)

Shopify Scripts tidak berfungsi dengan Shopify Point of Sale (POS).

Menamakan semula gerbang pembayaran

Anda tidak boleh menamakan semula gerbang pembayaran yang mempunyai imej atau logo dipaparkan sebagai nama gerbang tersebut. Gerbang pembayaran dengan imej logo bersebelahan dengan namanya boleh dinamakan semula.

Pengiriman berasingan semasa pembayaran

Skrip pengiriman tidak serasi dengan pengiriman berasingan di Pembayaran Shopify. Jika anda menggunakan skrip pengiriman dan mengaktifkan pengiriman berasingan, pengiriman berasingan tidak dipaparkan kepada pelanggan anda semasa pembayaran.