ฟีเจอร์บัญชีทดสอบ Merchant API มีพื้นที่ที่ปลอดภัยและแยกต่างหากเพื่อทดสอบการผสานรวมอย่างละเอียดก่อนนำไปใช้ในสภาพแวดล้อมที่ใช้งานจริง การใช้บัญชีทดสอบที่ทำแซนด์บ็อกซ์จะช่วยให้คุณทดสอบการเรียก API, ตรวจสอบโค้ด และระบุปัญหาที่อาจเกิดขึ้นตั้งแต่เนิ่นๆ ในวงจรการพัฒนาได้โดยไม่ส่งผลกระทบต่อข้อมูลเวอร์ชันที่ใช้งานจริง ไม่รบกวนการดำเนินการแบบเรียลไทม์ หรือละเมิดนโยบาย Merchant Center โดยไม่ตั้งใจ
ข้อกำหนดเบื้องต้น
ก่อนที่จะสร้างและใช้บัญชีทดสอบได้ โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- บัญชี Merchant Center: คุณต้องมีบัญชี Merchant Center
- สิทธิ์เข้าถึง Merchant API: คุณต้องเป็นผู้ใช้ที่ลงทะเบียนของ Merchant API
ประโยชน์ของบัญชีทดสอบ
การใช้บัญชีทดสอบมีข้อดีหลักๆ หลายประการดังนี้
- การตั้งค่าที่ง่าย: การตั้งค่าบัญชีทดสอบเป็นกระบวนการที่ไม่ซับซ้อนซึ่งช่วยให้คุณเริ่มทดสอบฟีเจอร์และการผสานรวมได้อย่างรวดเร็ว
- ความสมบูรณ์ของข้อมูลและความปลอดภัย: ข้อมูลเวอร์ชันที่ใช้งานจริงจะยังคงได้รับการปกป้อง และความเสี่ยงของการละเมิดนโยบายในบัญชีเวอร์ชันที่ใช้งานจริงจะหมดไป
- ประสิทธิภาพการทดสอบ: คุณสามารถทดสอบสถานการณ์ที่หลากหลายและกรณีที่เกิดขึ้นไม่บ่อยนักได้โดยไม่ต้องรับภาระในการดูแลรักษาบัญชีเวอร์ชันที่ใช้งานจริงคู่ขนานเพื่อวัตถุประสงค์ในการทดสอบ
- การตรวจสอบข้อเสนอทันที: ใช้ประโยชน์จากการยกเว้นอัตโนมัติจากการอ้างสิทธิ์และการยืนยันหน้าแรกสำหรับบัญชีทดสอบเพื่อทดสอบการแทรกข้อเสนออย่างรวดเร็ว ข้อเสนอจะได้รับอนุมัติโดยค่าเริ่มต้นสำหรับบัญชีทดสอบ
- การจำลองที่สมจริง: สภาพแวดล้อมจะจำลองลักษณะการทำงานจริงสำหรับฟังก์ชันที่สำคัญ เช่น การอัปโหลดผลิตภัณฑ์และการจัดการพื้นที่โฆษณา เพื่อให้มั่นใจว่าผลการทดสอบเชื่อถือได้
- การย้ายข้อมูล API ที่ราบรื่นยิ่งขึ้น: บัญชีทดสอบช่วยให้ผู้ที่ย้ายจาก Content API ไปยัง Merchant API หรือจาก API เวอร์ชันหนึ่งไปยังอีกเวอร์ชันหนึ่งเปลี่ยนผ่านได้อย่างมั่นใจและราบรื่นด้วยการตรวจสอบควบคู่กันไป
วิธีสร้างบัญชีทดสอบ
ระบบจะสร้างบัญชีทดสอบโดยใช้เมธอดที่กำหนดเองที่เฉพาะเจาะจงใน Merchant API
ใช้เมธอด 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"
}
แทนที่ค่าต่อไปนี้
ACCOUNT_ID: รหัส Merchant CenterACCESS_TOKEN: โทเค็นการให้สิทธิ์เพื่อทำการเรียก APITEST_ACCOUNT_NAME: ชื่อบัญชีทดสอบ เราขอแนะนำให้ใช้ชื่อที่มีความหมายซึ่งบ่งบอกว่าใช้สำหรับการทดสอบ เช่น มีคำว่าtestอยู่ในชื่อบัญชีทดสอบ
ต้องระบุข้อมูลในช่องต่อไปนี้เมื่อสร้างบัญชีทดสอบ
time_zone: เขตเวลาสำหรับการรายงานและการแสดงผลของบัญชีlanguage_code: รหัสภาษา BCP-47 สำหรับบัญชี เช่นen-US
การเรียกที่สำเร็จจะแสดงผลทรัพยากร Account ซึ่งรวมถึง accountId และชื่อทรัพยากรที่ไม่ซ้ำกันของบัญชีทดสอบใหม่ ดังนี้
{
"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"
}
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างบัญชีทดสอบ
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"
}'
บัญชีทดสอบขั้นสูงและบัญชีย่อย
เมธอด accounts.createTestAccount จะสร้างบัญชีทดสอบแบบสแตนด์อโลนเสมอ วิธีตั้งค่าลำดับชั้นบัญชีขั้นสูงสำหรับการทดสอบ
- สร้างบัญชีทดสอบแบบสแตนด์อโลนโดยใช้
accounts.createTestAccount - แปลงบัญชีทดสอบแบบสแตนด์อโลนนั้นเป็นบัญชีขั้นสูงใน Merchant Center โดยทำตามคำแนะนำจากบทความในศูนย์ช่วยเหลือเรื่องเปลี่ยนไปใช้บัญชีขั้นสูง
- สร้างบัญชีย่อยทดสอบเพิ่มเติมภายใต้บัญชีทดสอบขั้นสูงโดยเรียกใช้
accounts.createAndConfigureและระบุบัญชีทดสอบขั้นสูงเป็นผู้ให้บริการaccountAggregationระบบจะสร้างบัญชีย่อยที่สร้างขึ้นภายใต้บัญชีผู้ให้บริการทดสอบเป็นบัญชีทดสอบ (testAccount: true) โดยอัตโนมัติ
ข้อจำกัด
บัญชีทดสอบออกแบบมาเพื่อการตรวจสอบฟังก์ชันการทำงานและมีข้อจำกัดเฉพาะดังนี้
- จำนวนบัญชีทดสอบ: คุณสร้างบัญชีทดสอบได้สูงสุด 5 บัญชีต่อบัญชี Google 1 บัญชี บัญชีทดสอบจะนับรวมในขีดจำกัดเริ่มต้นของบัญชี Merchant Center ต่อบัญชี Google
- การผสานรวมกับโควต้า Merchant API: จากมุมมองโควต้า API นั้น Merchant API จะถือว่าบัญชีทดสอบเป็นบัญชีเวอร์ชันที่ใช้งานจริง บัญชีทดสอบจะอยู่ภายใต้โควต้าเดียวกับบัญชีเวอร์ชันที่ใช้งานจริง ไม่สามารถเพิ่มโควต้าสำหรับบัญชีทดสอบได้
- การแปลงบัญชีและบัญชีขั้นสูง: คุณไม่สามารถแปลงบัญชีปกติ (ใช้งานจริง) ไม่ว่าจะเป็นบัญชีแบบสแตนด์อโลนหรือบัญชีขั้นสูง ให้เป็นบัญชีทดสอบ หรือแปลงบัญชีทดสอบเป็นบัญชีที่ใช้งานจริง นอกจากนี้ คุณยังไม่สามารถสร้างบัญชีทดสอบขั้นสูงด้วย
accounts.createTestAccountได้โดยตรง ก่อนอื่น ให้สร้างบัญชีทดสอบแบบสแตนด์อโลน แล้วเปลี่ยนเป็นบัญชีขั้นสูง - ไม่มีการแสดงต่อสาธารณะ: ระบบจะไม่เผยแพร่ข้อมูลที่ส่งไปยังบัญชีทดสอบบนแพลตฟอร์มใดๆ ของ Google เช่น Search หรือโฆษณา Shopping
- ปลายทางที่ถูกจำกัด: คุณไม่สามารถใช้บัญชีทดสอบเมื่อใช้ฟีเจอร์บางอย่าง เช่น
- ข้อจำกัดในการลิงก์: คุณลิงก์บัญชีทดสอบกับบัญชี Google Ads หรือ Google Business Profile อื่นๆ ไม่ได้
- ไม่มีการลงทะเบียนสำหรับบัญชีทดสอบ: คุณไม่สามารถลงทะเบียนสำหรับบัญชีทดสอบได้
แนวทางปฏิบัติแนะนำ
เราขอแนะนำให้ทำตามแนวทางปฏิบัติแนะนำต่อไปนี้เมื่อใช้บัญชีทดสอบ
- การพัฒนาในแซนด์บ็อกซ์ก่อน: ตรวจสอบฟีเจอร์การผสานรวมใหม่ในบัญชีทดสอบทุกครั้งก่อนนำไปใช้กับสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์
- การทดสอบการผสานรวมอัตโนมัติ: ใช้บัญชีทดสอบเป็นสภาพแวดล้อมที่เสถียรสำหรับการทดสอบการถดถอยอัตโนมัติ
- การตั้งชื่อบัญชีทดสอบ: ใช้
account_nameเพื่อบอกใบ้วัตถุประสงค์ของบัญชีทดสอบแต่ละบัญชี เช่น "การทดสอบการย้ายข้อมูล" หรือ "บัญชีทดสอบการผสานรวม"