Các phương pháp hay nhất về CSS API

Tài liệu này mô tả một số phương pháp hay nhất khi sử dụng CSS API. Bạn không bắt buộc phải làm theo lời khuyên trên trang này để sử dụng API, nhưng lời khuyên này có thể giúp làm rõ một số mục đích sử dụng dự kiến.

Thiết lập môi trường

Để thiết lập môi trường phát triển, hãy làm theo các bước trong Tài liệu bắt đầu nhanh.

  • Tạo một tệp JSON chứa thông tin người dùng và quyền trên Google Cloud Console
  • Bật CSS API trong Google Cloud Console
  • Thêm người dùng đó vào Tài khoản CSS (Nhóm CSS hoặc Miền CSS) của bạn với quyền Quản trị
  • Xác minh rằng bạn đang sử dụng đúng phạm vi OAuth: https://www.googleapis.com/auth/content

Các thư viện ứng dụng hiện có trong kho lưu trữ tiêu chuẩn cho hầu hết các ngôn ngữ lập trình. Bạn có thể tìm thấy danh sách các thư viện này trên trang thư viện ứng dụng của chúng tôi.

Sử dụng mã nhận dạng chính xác

Sử dụng đúng mã nhận dạng với đúng điểm cuối API:

  • CSS API (css.googleapis.com): Sử dụng Mã nhận dạng miền CSS khi tương tác với các sản phẩm CSS (ví dụ: accounts/{cssDomainId}/cssProductInputs:insert).
  • Merchant API (merchantapi.googleapis.com): Sử dụng Merchant API cho các sản phẩm tiêu chuẩn của người bán.

Nếu bạn nhầm lẫn giữa hai loại này, hệ thống sẽ báo lỗi. Hãy tham khảo bài viết Tổng quan về CSS API để biết thêm thông tin chi tiết.

Các phương pháp hay để bắt đầu

Bạn nên kiểm thử bằng các phương thức sau:

ListChildAccounts

ListChildAccounts là một lệnh gọi chỉ đọc, liệt kê tất cả các miền CSS (nếu được gọi cho một nhóm CSS) hoặc người bán (nếu được gọi cho một miền CSS). Do đó, đây là một phương thức hay để kiểm tra xem mọi thứ đã được thiết lập đúng cách hay chưa.

Chèn/Liệt kê/Cập nhật/Xoá một sản phẩm

Sau khi bạn biết rằng API hoạt động, hãy thử thêm một sản phẩm. Hãy nhớ sử dụng raw_provided_id mà bạn nhớ được.

  • Chèn một sản phẩm thử nghiệm bằng cách sử dụng InsertCssProductInput. Chúng tôi có mã mẫu nếu bạn cần trợ giúp về những thuộc tính cần gửi.
  • Liệt kê tất cả sản phẩm bằng cách sử dụng ListCssProducts. Có một chút thời gian trễ xử lý trước khi một sản phẩm xuất hiện sau khi được chèn, vì vậy, nếu bạn không thấy sản phẩm đó, hãy thử lại sau vài giây.
  • Cập nhật một sản phẩm bằng cách sử dụng UpdateCssProductInput bằng cssproductinput.name. Bạn chỉ cần gửi những thuộc tính cần cập nhật. Tham khảo mã mẫu tại đây.
  • Xoá sản phẩm thử nghiệm bằng cách sử dụng DeleteCssProductInput. Bạn sẽ cần sử dụng raw_provided_id.

Sử dụng Async để cải thiện hiệu suất

CSS API được thiết kế cho các lệnh gọi song song. Bạn sẽ thấy hiệu suất của các thao tác đơn lẻ có thể chậm, nhưng sẽ nhanh hơn nhiều khi gọi cùng một thao tác nhiều lần song song. Cách tốt nhất để sử dụng tính năng này là dùng chức năng không đồng bộ của ngôn ngữ lập trình.

Ví dụ về một số ngôn ngữ lập trình:

Tìm và sử dụng chức năng Không đồng bộ của ngôn ngữ lập trình để chèn nhiều sản phẩm cùng một lúc. Bạn không cần lo lắng về việc làm quá tải hệ thống của chúng tôi – đây là mục đích của hạn mức.

Bạn có thể xem thêm thông tin chi tiết trên trang hiệu suất của chúng tôi.

Xác thực tải trọng

Để tránh các lỗi phổ biến, hãy xác minh rằng tải trọng JSON của bạn được định dạng đúng cách:

  • Tham khảo tài liệu chính thức: Luôn tham khảo tài liệu tham khảo CSS API mới nhất để biết định nghĩa trường, enum, kiểu dữ liệu và cấu trúc tải trọng.
  • Xem lại tải trọng mẫu: So sánh tải trọng của bạn với mã mẫu được cung cấp để xác định sự khác biệt.
  • Kiểu dữ liệu: Đảm bảo bạn đang sử dụng đúng kiểu dữ liệu (ví dụ: chuỗi, đối tượng, mảng) như được chỉ định trong tài liệu.
  • Kiểm thử tăng dần: Bắt đầu với tải trọng hợp lệ tối thiểu để xác nhận khả năng kết nối cơ bản và dần dần thêm nhiều thuộc tính hơn.

Cập nhật sản phẩm

Sau khi được tải lên, sản phẩm sẽ vẫn nằm trong hệ thống của chúng tôi cho đến khi được cập nhật, xoá hoặc hết hạn.

  • Bạn có thể cập nhật toàn bộ sản phẩm bằng cách gửi lại yêu cầu InsertCssProductInput, sử dụng cùng raw_provided_id mà bạn đã dùng ban đầu. Hiện tại, bạn sẽ cần gửi đầy đủ dữ liệu sản phẩm, ngay cả khi chỉ có một số thuộc tính (có thể chỉ là giá/tình trạng còn hàng) thay đổi.
  • Bạn có thể cập nhật các phần của một sản phẩm bằng phương thức PATCH UpdateCssProductInput, chỉ định tên sản phẩm và một nội dung JSON chứa dữ liệu mà bạn muốn cập nhật cho sản phẩm. Không giống như InsertCssProductInput, yêu cầu bạn cung cấp tất cả các trường có thể áp dụng, UpdateCssProductInput chỉ yêu cầu bạn chỉ định các trường mà bạn muốn thay đổi.
  • Bạn có thể xoá một sản phẩm bằng cách gọi DeleteCssProductInput với cùng một raw_provided_id.
  • Các sản phẩm sẽ tự động hết hạn sau khoảng một tháng kể từ lần cập nhật gần đây nhất.

Chế độ hoạt động liên tục

Chế độ hoạt động liên tục có thể có dạng như sau:

  • Sử dụng mã nhận dạng nội bộ của riêng bạn làm raw_provided_id.
  • Tải tất cả sản phẩm lên lại theo lịch trình thường xuyên, có thể là hằng tuần. Điều này sẽ đảm bảo rằng các sản phẩm đang hoạt động không hết hạn.
  • Cập nhật từng sản phẩm ngay khi bạn nhận được dữ liệu đã thay đổi từ người bán.
    • Nếu bạn không thể phản ứng với các thay đổi ngay lập tức, hãy thường xuyên tìm tất cả sản phẩm đã thay đổi (có thể là theo giờ) và chỉ tải những sản phẩm đó lên lại.
    • Đối với những sản phẩm không còn nữa, bạn có thể sử dụng lệnh gọi xoá hoặc đặt số lượng sản phẩm hiện có thành 0.
    • Đừng gửi cho chúng tôi những sản phẩm không thay đổi thường xuyên. Những lệnh gọi này sẽ được tính vào hạn mức API của bạn. Bạn chỉ cần làm mới mỗi tuần.

Lựa chọn ưu đãi trên tiêu đề

Ưu đãi trên tiêu đề không nhất thiết phải là ưu đãi hàng đầu hoặc ưu đãi rẻ nhất trên trang web của bạn, nhưng cần được hiển thị nổi bật. Bạn có thể sử dụng tính năng này trong trường hợp ưu đãi hàng đầu của bạn đang thay đổi nhanh chóng: Tại đây, bạn có thể chọn một ưu đãi khác ổn định hơn.

Thỉnh thoảng kiểm tra lại tài liệu này

Chúng tôi đã nhận được ý kiến phản hồi về cách cải thiện API này và đang nỗ lực để triển khai một số điểm cải tiến này. Chúng tôi sẽ cập nhật trang này khi có các tính năng mới giúp đơn giản hoá việc sử dụng CSS API.