2012-06-13 26 views
18

Tôi đã cố gắng để có được metafields cho hơn 100 sản phẩm và điều đó có nghĩa là tôi phải thực hiện 100 cuộc gọi api riêng biệt cho mỗi sản phẩm. Nếu có một cách để lấy tất cả các metafield cho tất cả các sản phẩm chỉ trong một tệp xml giống như các biến thể được gắn với các sản phẩm. Vì vậy, với một cuộc gọi api, tôi lấy tất cả 100 sản phẩm thay vì thực hiện 100 cuộc gọi api riêng biệt cho từng sản phẩm. Bất kỳ trợ giúp được đánh giá cao.Mua shopify Metafields cho các sản phẩm trong một cuộc gọi

Trả lời

1

Chúng tôi đã có rất nhiều yêu cầu nhận metafield cho nhiều tài nguyên trong cùng một yêu cầu. Tuy nhiên, rất nhiều trong số chúng có thể được xử lý bằng cách giữ thông tin ở phía ứng dụng (ví dụ: trong cơ sở dữ liệu), cùng với id của tài nguyên. Bằng cách này, dữ liệu gần với nơi nó đang được sử dụng.

Có hai lý do rất tốt cho việc sử dụng metafields

  • Lưu trữ siêu dữ liệu để sử dụng từ các mẫu chất lỏng
  • Shared lưu trữ giữa các ứng dụng

Metafields cho các mẫu chất lỏng là rất tốt vì các dữ liệu gần đến nơi nó sẽ được sử dụng để hiển thị trang. Điều này giúp hiển thị nhanh và có thể tùy chỉnh hơn, bởi vì các trường tùy chỉnh có thể được cung cấp bởi các ứng dụng và được hiển thị trong mặt tiền cửa hàng.

Lưu trữ được chia sẻ giữa các ứng dụng là một lý do tốt để sử dụng metafields, nhưng nó không phải là một lý do phổ biến metafields được sử dụng. Trong trường hợp này, API metafields hiện đang thiếu một cách để truy cập vào metafields trên nhiều tài nguyên cùng một lúc. Tuy nhiên,

Siêu dữ liệu trở về cùng với các sản phẩm không phải là một lựa chọn tốt. Điều này là do các ứng dụng khác có thể lưu trữ dữ liệu trong các metafield mà ứng dụng của bạn có thể không quan tâm, vì vậy một ứng dụng có thể sẽ làm chậm rất nhiều ứng dụng khác thậm chí không sử dụng metafields. Đây là lý do tại sao API metafields có các tham số truy vấn để hạn chế những gì metafield được lấy ra, vì vậy metafields cho các ứng dụng khác không được trả về một cách không cần thiết.

+0

Trường hợp của tôi hoàn toàn khác, tôi không có quyền ghi vào metafields. Tôi chỉ đọc những metafield như UPC, MPN, vv mà tôi cần bên cạnh sản phẩm. Vì vậy, tôi phải lặp qua khoảng 100 sản phẩm để có được những metafield, đó cũng là làm chậm hệ thống của tôi. Ngoài ra metafields được thêm vào trong shopify storefront như product_type. Vì vậy, suy nghĩ của tôi là nếu có cách để lấy metafields liên quan đến từng sản phẩm trong một cuộc gọi api. Tôi không quan tâm ứng dụng tạo ra nó, tôi chỉ muốn đọc tất cả metafields cho tất cả các phím tắt và sắp xếp để chọn những người tôi muốn. Hy vọng có thể có một cách tốt hơn –

+0

Có vẻ như bạn có một trường hợp sử dụng hợp lệ, vì đây là các giá trị metafield được chia sẻ. Tôi xin lỗi, nhưng dường như không có cách nào tốt để làm những gì bạn đang tìm kiếm vào lúc này. –

+1

Tại sao thực tế là thu hút hơn 100 sản phẩm (1 cuộc gọi API) và sau đó tất cả các metafield của họ (hơn 100 cuộc gọi API) mất thời gian quan trọng đối với bạn? Bạn đang điền vào một số lưới với dữ liệu đó để hiển thị? Tôi có cửa hàng với hàng ngàn sản phẩm và mỗi sản phẩm đều có metafields. Tôi sử dụng một công việc nền để thu thập tất cả các thông tin đó với nhau và sau đó nó gửi nó trong một CSV. Hoạt động hoàn hảo. –

2

Thật tuyệt nếu nó được đề cập trong tài liệu API. Gì về

Nhận một danh sách tất cả Metafields GET /admin/metafields.json?since_id=721389482

cho thấy nó sẽ chỉ trả lại metafields cửa hàng.

Các vấn đề liên quan