Merchant API के टेस्ट अकाउंट की सुविधा, इंटिग्रेशन को लाइव एनवायरमेंट में डिप्लॉय करने से पहले, उन्हें अच्छी तरह से टेस्ट करने के लिए एक सुरक्षित और अलग जगह उपलब्ध कराती है. सैंडबॉक्स किए गए टेस्ट खातों का इस्तेमाल करके, एपीआई कॉल के साथ एक्सपेरिमेंट किया जा सकता है. साथ ही, कोड की पुष्टि की जा सकती है. इसके अलावा, डेवलपमेंट साइकल की शुरुआत में ही संभावित समस्याओं का पता लगाया जा सकता है. इससे प्रोडक्शन डेटा पर कोई असर नहीं पड़ता, रीयल-टाइम ऑपरेशनों में कोई रुकावट नहीं आती, और अनजाने में Merchant Center की नीतियों का उल्लंघन नहीं होता.
ज़रूरी शर्तें
टेस्ट खाते बनाने और उनका इस्तेमाल करने से पहले, पक्का करें कि आपने ये ज़रूरी शर्तें पूरी की हों:
- Merchant Center खाता: आपके पास Merchant Center खाता होना चाहिए.
- Merchant API का ऐक्सेस: आपके पास Merchant API का रजिस्टर किया गया खाता होना चाहिए.
टेस्ट खातों के फ़ायदे
टेस्ट खातों का इस्तेमाल करने के कई अहम फ़ायदे हैं:
- आसान सेटअप: टेस्ट खाते को सेटअप करना आसान है. इससे आपको सुविधाओं और इंटिग्रेशन की टेस्टिंग तुरंत शुरू करने में मदद मिलती है.
- डेटा की सुरक्षा और अखंडता: प्रॉडक्शन डेटा सुरक्षित रहता है. साथ ही, प्रॉडक्शन खातों में नीति के उल्लंघनों का जोखिम खत्म हो जाता है.
- टेस्टिंग की सुविधा: टेस्टिंग के लिए, आपको पैरलल प्रोडक्शन खाता बनाए रखने की ज़रूरत नहीं होती. इसलिए, अलग-अलग तरह के कई तरह के उदाहरणों और मुश्किल मामलों को टेस्ट किया जा सकता है.
- ऑफ़र की तुरंत पुष्टि करना: टेस्ट खातों के लिए, होम पेज पर दावा करने और पुष्टि करने की प्रोसेस से अपने-आप छूट पाने की सुविधा का फ़ायदा लें. इससे आपको ऑफ़र तुरंत टेस्ट करने में मदद मिलेगी. टेस्ट खातों के लिए, ऑफ़र डिफ़ॉल्ट रूप से स्वीकार किए जाते हैं.
- असल जैसा सिम्युलेशन: यह एनवायरमेंट, प्रोडक्शन एनवायरमेंट की तरह काम करता है. इसमें प्रॉडक्ट अपलोड करने और इन्वेंट्री मैनेज करने जैसी अहम सुविधाएं मिलती हैं. इससे यह पक्का किया जा सकता है कि टेस्ट के नतीजे भरोसेमंद हों.
- एपीआई को आसानी से माइग्रेट करना: टेस्ट खातों की मदद से, Content API से Merchant 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 Center का आपका आईडी.ACCESS_TOKEN: एपीआई कॉल करने के लिए अनुमति देने वाला टोकनTEST_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"
}'
सीमाएं
टेस्ट खातों को फ़ंक्शन की पुष्टि करने के लिए डिज़ाइन किया गया है. इन खातों पर कुछ पाबंदियां लागू होती हैं:
- टेस्ट खातों की संख्या: हर Google खाते के लिए, ज़्यादा से ज़्यादा पांच टेस्ट खाते बनाए जा सकते हैं. टेस्ट खातों को, Google खाते के हिसाब से Merchant Center खातों की डिफ़ॉल्ट सीमा में गिना जाता है.
- Merchant API के कोटा के साथ इंटिग्रेशन: एपीआई कोटा के हिसाब से, Merchant API, टेस्ट खातों को प्रोडक्शन खातों के तौर पर मानता है. टेस्ट खातों पर भी प्रोडक्शन खातों की तरह ही कोटा लागू होते हैं. टेस्ट खातों के लिए कोटा नहीं बढ़ाया जा सकता.
- ऐडवांस खाते: ऐडवांस टेस्ट खाते नहीं बनाए जा सकते. साथ ही, किसी ऐडवांस खाते को टेस्ट खाते में नहीं बदला जा सकता.
- सार्वजनिक तौर पर उपलब्ध नहीं कराया जाएगा: टेस्ट खाते में सबमिट किया गया डेटा, Google के किसी भी प्लैटफ़ॉर्म पर कभी भी पब्लिश नहीं किया जाएगा. जैसे, Search या Shopping ads.
- पाबंदी वाले एंडपॉइंट: कुछ सुविधाओं का इस्तेमाल करते समय, टेस्ट खातों का इस्तेमाल नहीं किया जा सकता. जैसे:
- लिंक करने से जुड़ी पाबंदियां: टेस्ट खातों को अन्य Google Ads या Google Business Profile खातों से लिंक नहीं किया जा सकता.
- जांच के लिए बनाए गए खातों के लिए रजिस्ट्रेशन नहीं किया जा सकता: जांच के लिए बनाए गए खातों के लिए रजिस्ट्रेशन नहीं किया जा सकता.
सबसे सही तरीके
हमारा सुझाव है कि टेस्ट खातों का इस्तेमाल करते समय, कुछ सबसे सही तरीके अपनाएं:
- सैंडबॉक्स-फ़र्स्ट डेवलपमेंट: नई इंटिग्रेशन सुविधाओं को हमेशा टेस्ट खाते में मान्य करें. इसके बाद ही, उन्हें अपने प्रोडक्शन एनवायरमेंट में लागू करें.
- ऑटोमेटेड इंटिग्रेशन टेस्टिंग: टेस्ट खातों का इस्तेमाल, स्टेबल एनवायरमेंट के तौर पर करें. इससे ऑटोमेटेड रिग्रेशन टेस्ट चलाए जा सकते हैं.
- टेस्ट खाते का नाम:
account_nameका इस्तेमाल करके, हर टेस्ट खाते के मकसद के बारे में बताएं. जैसे, "माइग्रेशन टेस्टिंग" या "इंटिग्रेशन टेस्ट खाता".