Tài khoản thử nghiệm trong Merchant API

Tính năng Tài khoản thử nghiệm Merchant API cung cấp một không gian an toàn và riêng biệt để bạn kiểm thử kỹ lưỡng các hoạt động tích hợp trước khi triển khai các hoạt động đó trong môi trường thực. Bằng cách sử dụng tài khoản thử nghiệm trong môi trường hộp cát, bạn có thể thử nghiệm các lệnh gọi API, xác thực mã và xác định các vấn đề tiềm ẩn ở giai đoạn đầu của chu trình phát triển mà không ảnh hưởng đến dữ liệu thực, làm gián đoạn các hoạt động theo thời gian thực hoặc vô tình vi phạm chính sách của Merchant Center.

Điều kiện tiên quyết

Trước khi có thể tạo và sử dụng tài khoản thử nghiệm, hãy đảm bảo bạn đáp ứng các yêu cầu sau:

Lợi ích của tài khoản thử nghiệm

Việc sử dụng tài khoản thử nghiệm mang lại một số lợi ích chính như sau:

  • Thiết lập đơn giản: Quá trình thiết lập tài khoản thử nghiệm không phức tạp, cho phép bạn nhanh chóng bắt đầu kiểm thử các tính năng và hoạt động tích hợp.
  • Tính toàn vẹn và độ an toàn của dữ liệu: Dữ liệu thực vẫn được bảo vệ và bạn sẽ không còn nguy cơ vi phạm chính sách trong tài khoản thực.
  • Hiệu quả kiểm thử: Bạn có thể kiểm thử nhiều tình huống đa dạng và trường hợp đặc biệt mà không cần phải duy trì một tài khoản thực song song cho mục đích kiểm thử.
  • Xác thực ưu đãi ngay lập tức: Tận dụng lợi thế của việc được tự động miễn trừ quy trình xác nhận quyền sở hữu và xác minh trang chủ đối với tài khoản thử nghiệm để nhanh chóng kiểm thử việc chèn ưu đãi. Theo mặc định, các ưu đãi sẽ được phê duyệt cho tài khoản thử nghiệm.
  • Mô phỏng thực tế: Môi trường này phản ánh hành vi sản xuất đối với các chức năng quan trọng như tải sản phẩm lên và quản lý khoảng không quảng cáo, đảm bảo kết quả kiểm thử đáng tin cậy.
  • Di chuyển API mượt mà hơn: Tài khoản thử nghiệm giúp quá trình chuyển đổi từ Content API sang Merchant API hoặc từ phiên bản API này sang phiên bản API khác diễn ra suôn sẻ và tự tin hơn bằng cách cho phép xác thực song song.

Cách tạo tài khoản thử nghiệm

Bạn có thể tạo tài khoản thử nghiệm bằng một phương thức tuỳ chỉnh cụ thể trong Merchant API.

Sử dụng phương thức accounts.createTestAccount:

  POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}:createTestAccount
  Content-Type: application/json
  Authorization: Bearer {ACCESS_TOKEN}"

  {
    "account_name": "{TEST_ACCOUNT_NAME}",
    "time_zone": {
      "id": "America/Los_Angeles"
    },
    "language_code": "en-US"
  }

Thay thế nội dung sau:

  • ACCOUNT_ID: Mã truy cập Merchant Center của bạn.
  • ACCESS_TOKEN: mã thông báo uỷ quyền để tạo lệnh gọi API
  • TEST_ACCOUNT_NAME: tên của tài khoản thử nghiệm. Bạn nên sử dụng những tên có ý nghĩa cho biết rằng tài khoản đó được dùng để kiểm thử. Ví dụ: tên tài khoản thử nghiệm có chứa từ test.

Bạn phải cung cấp các trường sau đây khi tạo tài khoản thử nghiệm:

  • time_zone: Múi giờ báo cáo và hiển thị cho tài khoản.
  • language_code: Mã ngôn ngữ BCP-47 cho tài khoản, chẳng hạn như en-US.

Lệnh gọi thành công sẽ trả về một tài nguyên Tài khoản bao gồm accountId duy nhất và tên tài nguyên của tài khoản thử nghiệm mới:

  {
    "name": "accounts/{TEST_ACCOUNT_ID}",
    "accountId": "{TEST_ACCOUNT_ID}",
    "accountName": "{TEST_ACCOUNT_NAME}",
    "adultContent": false,
    "testAccount": true,
    "timeZone": {
      "id": "America/Los_Angeles"
    },
    "languageCode": "en-US"
  }

Các mã mẫu sau đây cho biết cách tạo tài khoản thử nghiệm:

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.Account;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.AccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.CreateTestAccountRequest;
import com.google.type.TimeZone;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/**
 * This class demonstrates how to create a new Merchant Center test account.
 *
 * <p>For more information refer to:
 * https://developers.google.com/merchant/api/guides/accounts/test-accounts
 */
public class CreateTestAccountSample {

  // Method to create a test account.
  public static void createTestAccount(Config config, String newAccountName) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    AccountsServiceSettings accountsServiceSettings =
        AccountsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Calls the API and catches and prints any network failures/errors.
    try (AccountsServiceClient accountsServiceClient =
        AccountsServiceClient.create(accountsServiceSettings)) {

      // The test account to be created.
      Account account =
          Account.newBuilder()
              .setAccountName(newAccountName)
              .setTimeZone(TimeZone.newBuilder().setId("Europe/Zurich"))
              .setLanguageCode("en-US")
              .build();

      // Creates parent to identify where to insert the account.
      String parent = String.format("accounts/%s", config.getAccountId());

      // Create the request message.
      CreateTestAccountRequest request =
          CreateTestAccountRequest.newBuilder().setParent(parent).setAccount(account).build();

      System.out.println("Sending Create Test Account request:");
      Account response = accountsServiceClient.createTestAccount(request);

      System.out.println("Created Test Account below:");
      System.out.println(response);
    } catch (Exception e) {
      System.err.println("Error during test account creation:");
      e.printStackTrace();
    }
  }

  // Main method to run the sample.
  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    // This is the name of the new test account to be created.
    String newAccountName = "MyNewTestShop";

    createTestAccount(config, newAccountName);
  }
}

cURL

curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/:createTestAccount" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
 "account_name": "{TEST_ACCOUNT_NAME}",
 "time_zone": {
   "id": "America/Los_Angeles"
   },
 "language_code": "en-US"
}'

Các điểm hạn chế

Tài khoản thử nghiệm được thiết kế để xác thực chức năng và có các hạn chế cụ thể:

  • Số lượng tài khoản thử nghiệm: Bạn có thể tạo tối đa 5 tài khoản thử nghiệm cho mỗi Tài khoản Google. Tài khoản thử nghiệm được tính vào hạn mức mặc định của bạn về số lượng tài khoản Merchant Center cho mỗi Tài khoản Google.
  • Tích hợp với hạn mức Merchant API: Về hạn mức API, Merchant API coi tài khoản thử nghiệm là tài khoản thực. Tài khoản thử nghiệm phải tuân theo các hạn mức giống như tài khoản thực. Bạn không thể tăng hạn mức cho tài khoản thử nghiệm.
  • Tài khoản nâng cao: Bạn không thể tạo tài khoản thử nghiệm nâng cao hoặc chuyển đổi tài khoản nâng cao thành tài khoản thử nghiệm.
  • Không phân phát công khai: Dữ liệu được gửi đến tài khoản thử nghiệm sẽ không bao giờ được xuất bản trên bất kỳ nền tảng nào của Google, chẳng hạn như Tìm kiếm hoặc quảng cáo Mua sắm.
  • Điểm cuối bị hạn chế: Bạn không thể sử dụng tài khoản thử nghiệm khi sử dụng một số tính năng như:
  • Hạn chế về việc liên kết: Bạn không thể liên kết tài khoản thử nghiệm với các tài khoản Google Ads hoặc Trang doanh nghiệp trên Google khác.
  • Không đăng ký tài khoản thử nghiệm: Bạn không thể thực hiện đăng ký cho tài khoản thử nghiệm.

Các phương pháp hay nhất

Bạn nên làm theo một số phương pháp hay nhất khi sử dụng tài khoản thử nghiệm:

  • Phát triển theo phương thức ưu tiên hộp cát: Luôn xác thực các tính năng tích hợp mới trong tài khoản thử nghiệm trước khi áp dụng các tính năng đó vào môi trường thực.
  • Kiểm thử tích hợp tự động: Sử dụng tài khoản thử nghiệm làm môi trường ổn định để chạy các bài kiểm thử hồi quy tự động.
  • Đặt tên tài khoản thử nghiệm: Sử dụng account_name để gợi ý mục đích của từng tài khoản thử nghiệm, chẳng hạn như "Kiểm thử quá trình di chuyển" hoặc "Tài khoản thử nghiệm hoạt động tích hợp".