Yêu cầu và giới hạn của Đoạn mã Shopify

Một số giới hạn của Đoạn mã Shopify tồn tại nhằm tăng cường tính bảo mật và đảm bảo đoạn mã có thể chạy bất kể số lượng khách hàng sử dụng cửa hàng tại một thời điểm nhất định. Hãy ghi nhớ các quy định hạn chế sau nếu bạn đang phát triển đoạn mã cho cửa hàng Shopify của mình.

Cửa hàng trực tuyến và Storefront API

Khi tạo hoặc chỉnh sửa đoạn mã, bạn sẽ chọn xem đoạn mã đó chỉ chạy trên cửa hàng trực tuyến hay trên cửa hàng trực tuyến và trong các ứng dụng sau:

Để đoạn mã hoạt động, trang web phải có sẵn chức năng giỏ hàng. Do đó, bạn không thể dùng đoạn mã với kênh bán hàng Nút Mua hoặc Facebook and Instagram by Meta.

Đoạn mã đã đăng

Tại một thời điểm, bạn chỉ có thể đăng một đoạn mã cho mỗi loại. Ví dụ: bạn có thể đăng đoạn mã mục hàng và đoạn mã phí vận chuyển, nhưng không thể đăng cùng lúc hai đoạn mã mục hàng.

Số lượng Đoạn mã Shopify tối đa

Bạn có thể tạo tối đa 200 Đoạn mã Shopify.

Đơn hàng nháp

Đoạn mã mục hàng, đoạn mã phí vận chuyển và đoạn mã thanh toán không hoạt động với đơn hàng nháp hoặc trang thanh toán đơn hàng nháp.

Trường siêu dữ liệu

Đoạn mã Shopify không thể truy cập trường siêu dữ liệu.

Thuộc tính giỏ hàng/thanh toán

Đoạn mã Shopify không thể truy cập thuộc tính giỏ hàng Shopify Liquid. Bạn có thể thêm các thuộc tính này vào trang giỏ hàng để thu thập thêm thông tin từ khách hàng nhưng không thể tạo đoạn mã sử dụng các thuộc tính đó.

Mã giảm giá

Đoạn mã có thể truy cập thông tin xem mã giảm giá có được áp dụng hay không, số tiền giảm giá và loại giảm giá (như số tiền cố định, phần trăm hoặc phí vận chuyển). Đoạn mã không thể truy cập cách mã giảm giá được áp dụng (ví dụ: áp dụng cho giỏ hàng hay cho mục hàng cụ thể). Do đó, Đoạn mã không thể truy cập tổng số tiền sau giảm giá hoặc các khoản giảm giá tự động.

Các đoạn mã mục hàng và đoạn mã vận chuyển truy cập khoản giảm giá áp dụng cho giỏ hàng sẽ không tương thích với các kết hợp ưu đãi giảm giá. Phương thức .discount_code chỉ có thể trả về một mã giảm giá. Không hỗ trợ giỏ hàng chứa nhiều mã giảm giá bằng tính năng kết hợp ưu đãi giảm giá.

Mục hàng

Đoạn mã không thể thêm mặt hàng vào giỏ hàng hoặc tăng giá của mặt hàng.

Phí vận chuyển

Đoạn mã không thể tăng giá của phí vận chuyển.

Đa tiền tệ

Đoạn mã của bạn có thể không hoạt động như mong đợi với tính năng đa tiền tệ. Để đảm bảo đoạn mã hoạt động cho giỏ hàng hoặc trang thanh toán sử dụng bất kỳ đơn vị tiền tệ nào khác ngoài đơn vị tiền tệ chính của cửa hàng, bạn cần di chuyển các đoạn mã sang Shopify Functions.

Biểu thức chính quy

Không hỗ trợ khớp biểu thức chính quy. Nếu bạn đang tạo đoạn mã mục hàng, bạn có thể sử dụng một trong các phương thức sau làm giải pháp thay thế:

Chủ đề

Bạn có thể cần cập nhật chủ đề Liquid để hỗ trợ các đoạn mã và tránh gây nhầm lẫn cho khách hàng. Ví dụ: không phải mọi chủ đề đều hiển thị khoản giảm giá của mục hàng trong giỏ hàng. Nếu gặp trường hợp này, bạn cần chỉnh sửa chủ đề để hiển thị các khoản giảm giá của mục hàng trong giỏ hàng. Tìm hiểu thêm về các loại thay đổi mà bạn có thể thực hiện đối với chủ đề Liquid.

Tài nguyên

Dung lượng CPU và bộ nhớ dành cho đoạn mã bị giới hạn. Tài nguyên dành riêng cho đoạn mã tùy thuộc vào kích thước giỏ hàng và lượng tính toán mà đoạn mã yêu cầu. Shopify theo dõi chặt chẽ những giới hạn tài nguyên này để đảm bảo chúng không cản trở đoạn mã hoạt động như mong đợi.

Khi bạn thử nghiệm đoạn mã, bảng điều khiển Script Editor sẽ in ra phần trăm tài nguyên được phân bổ mà đoạn mã đang sử dụng.

Đầu vào/đầu ra

Trừ một số ít ngoại lệ, Đoạn mã Shopify không có khả năng nhận đầu vào/xuất đầu ra. Điều này có nghĩa là các đoạn mã không thể thực thi yêu cầu web hoặc cuộc gọi cơ sở dữ liệu và không thể nhận đầu vào từ người dùng.

Có thể sử dụng phương thức puts để in văn bản ra bảng điều khiển trong ứng dụng Script Editor.

Thời gian và tính ngẫu nhiên

Các đoạn mã không thể chứa phép tính ngẫu nhiên hoặc dựa trên thời gian. Đoạn mã Shopify không thể truy cập đối tượng Time và phương thức rand.

Do các đoạn mã chạy mỗi khi tổng số tiền trong giỏ hàng được tính lại nên các đoạn mã dựa trên thời gian hoặc việc tạo số ngẫu nhiên có thể dẫn đến kết quả khó đoán hoặc khó hiểu nếu khách hàng thường xuyên thay đổi giỏ hàng. Tuy nhiên, bạn có thể lập lịch chạy đoạn mã trong các sự kiện bằng ứng dụng Launchpad.

Giới hạn ký tự đoạn mã

Bạn có thể tạo đoạn mã với tối đa 40.960 ký tự.

Đơn hàng đăng ký

Nếu đoạn mã mục hàng và vận chuyển tạo ra khoản giảm giá cho sản phẩm đăng ký thì khoản giảm giá đó sẽ được áp dụng cho các khoản thanh toán sau:

  • chỉ áp dụng cho khoản thanh toán đầu tiên của phương thức thanh toán mỗi lần giao hàng, không áp dụng cho đơn hàng được lên lịch
  • toàn bộ số tiền của đơn hàng đăng ký trả trước

Tìm hiểu thêm về đăng ký và đoạn mã.

Thanh toán tức thì

Khi bạn sử dụng Đoạn mã Shopify với thanh toán tức thì, giảm giá vận chuyển sẽ được áp dụng sau khi khách hàng chọn phương thức thanh toán tức thì. Do đó, thay đổi đối với giá của đơn hàng không hiển thị trên thiết bị hoặc trình duyệt của khách hàng. Khách hàng có thể xem giá gốc khi thanh toán tức thì nhưng sẽ bị tính phí theo đúng giá đã giảm.

Shopify Point of Sale (POS)

Đoạn mã Shopify không hoạt động với Shopify Point of Sale (POS).

Đổi tên cổng thanh toán

Bạn không thể đổi tên cổng thanh toán hiển thị hình ảnh hoặc logo ở vị trí tên cổng. Bạn có thể đổi tên cổng thanh toán có hình ảnh logo bên cạnh tên.

Giao hàng tách đơn khi thanh toán

Đoạn mã vận chuyển không tương thích với tính năng giao hàng tách đơn khi thanh toán trên Shopify. Nếu sử dụng đoạn mã vận chuyển và kích hoạt tính năng giao hàng tách đơn, khách hàng sẽ không thấy các lô hàng tách đơn khi thanh toán.