Merchant API में टेस्ट खाते

Merchant API के टेस्ट खातों की सुविधा, इंटिग्रेशन को लाइव एनवायरमेंट में डिप्लॉय करने से पहले, उनकी अच्छी तरह से जांच करने के लिए एक सुरक्षित और अलग स्पेस उपलब्ध कराती है. सैंडबॉक्स किए गए टेस्ट खातों का इस्तेमाल करके, एपीआई कॉल के साथ एक्सपेरिमेंट किया जा सकता है. साथ ही, कोड की पुष्टि की जा सकती है और डेवलपमेंट साइकल की शुरुआत में ही संभावित समस्याओं की पहचान की जा सकती है. ऐसा करने से, प्रोडक्शन डेटा पर कोई असर नहीं पड़ता, रीयल-टाइम ऑपरेशन में कोई रुकावट नहीं आती, और Merchant Center की नीतियों का अनजाने में उल्लंघन नहीं होता.

ज़रूरी शर्तें

टेस्ट खाते बनाने और इस्तेमाल करने से पहले, पक्का करें कि आपने ये ज़रूरी शर्तें पूरी की हों:

टेस्ट खातों के फ़ायदे

टेस्ट खातों का इस्तेमाल करने के कई अहम फ़ायदे हैं:

  • सेटअप करना आसान है: टेस्ट खाते को सेटअप करना बहुत आसान है. इससे आपको अपनी सुविधाओं और इंटिग्रेशन की जांच तुरंत शुरू करने में मदद मिलती है.
  • डेटा का रखरखाव और सुरक्षा: प्रोडक्शन डेटा सुरक्षित रहता है. साथ ही, प्रोडक्शन खातों में नीति के उल्लंघन का जोखिम खत्म हो जाता है.
  • टेस्टिंग की क्षमता: टेस्टिंग के लिए, अलग से प्रोडक्शन खाता मैनेज करने की ज़रूरत नहीं पड़ती. इससे, कई तरह की स्थितियों और मुश्किल मामलों को टेस्ट किया जा सकता है.
  • ऑफ़र की तुरंत पुष्टि: टेस्ट खातों के लिए, होम पेज पर दावा करने और उसकी पुष्टि करने की प्रोसेस से अपने-आप मिलने वाली छूट का फ़ायदा लें. इससे ऑफ़र को शामिल करने की प्रोसेस की तुरंत जांच की जा सकती है. टेस्ट खातों के लिए, ऑफ़र डिफ़ॉल्ट रूप से स्वीकार किए जाते हैं.
  • असल जैसा सिम्युलेशन: यह एनवायरमेंट, प्रॉडक्ट अपलोड करने और इन्वेंट्री मैनेजमेंट जैसी ज़रूरी सुविधाओं के लिए, प्रोडक्शन के व्यवहार को दिखाता है. इससे यह पक्का होता है कि टेस्ट के नतीजे भरोसेमंद हों.
  • एपीआई को आसानी से माइग्रेट करना: टेस्ट खातों की मदद से, 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"
}'

ऐडवांस टेस्ट खाते और उप-खाते

accounts.createTestAccount तरीका हमेशा एक अलग टेस्ट खाता बनाता है. जांच के लिए, ऐडवांस खाते की हैरारकी सेट अप करने के लिए:

  1. accounts.createTestAccount का इस्तेमाल करके, अलग से एक टेस्ट खाता बनाएं.
  2. Merchant Center में जाकर, उस स्टैंडअलोन टेस्ट खाते को ऐडवांस खाते में बदलें. इसके लिए, सहायता केंद्र में मौजूद लेख अपने खाते को ऐडवांस खाते के सेटअप में बदलना में दिए गए निर्देशों का पालन करें.
  3. accounts.createAndConfigure को कॉल करके और ऐडवांस टेस्ट खाते को accountAggregation प्रोवाइडर के तौर पर तय करके, ऐडवांस टेस्ट खाते में अतिरिक्त टेस्ट उप-खाते बनाएं. टेस्ट प्रोवाइडर खाते के तहत बनाया गया कोई भी उप-खाता, अपने-आप टेस्ट खाते (testAccount: true) के तौर पर बन जाता है.

सीमाएं

टेस्ट खातों को फ़ंक्शन की पुष्टि करने के लिए डिज़ाइन किया गया है. इन पर कुछ खास पाबंदियां लागू होती हैं:

  • टेस्ट खातों की संख्या: हर Google खाते के लिए, ज़्यादा से ज़्यादा पांच टेस्ट खाते बनाए जा सकते हैं. टेस्ट खातों को हर Google खाते के लिए, Merchant Center खातों की डिफ़ॉल्ट सीमा में गिना जाता है.
  • Merchant API के कोटा के साथ इंटिग्रेशन: एपीआई कोटा के हिसाब से, Merchant API टेस्ट खातों को प्रोडक्शन खातों के तौर पर मानता है. टेस्ट खातों के लिए भी वही कोटा लागू होता है जो प्रोडक्शन खातों के लिए होता है. टेस्ट खातों के लिए कोटा नहीं बढ़ाया जा सकता.
  • खाते को बदलना और ऐडवांस खाते: किसी सामान्य (लाइव) खाते को टेस्ट खाते में नहीं बदला जा सकता. भले ही, वह खाता स्टैंडअलोन हो या ऐडवांस खाता. इसी तरह, किसी टेस्ट खाते को लाइव खाते में नहीं बदला जा सकता. इसके अलावा, accounts.createTestAccount का इस्तेमाल करके, सीधे तौर पर ऐडवांस टेस्ट खाता नहीं बनाया जा सकता. सबसे पहले, एक अलग टेस्ट खाता बनाएं. इसके बाद, उसे ऐडवांस खाते में बदलें.
  • सार्वजनिक तौर पर नहीं दिखाया जाता: टेस्ट खाते में सबमिट किया गया डेटा, Google के किसी भी प्लैटफ़ॉर्म पर कभी पब्लिश नहीं किया जाएगा. जैसे, Search या शॉपिंग विज्ञापन.
  • प्रतिबंधित एंडपॉइंट: कुछ सुविधाओं का इस्तेमाल करते समय, टेस्ट खातों का इस्तेमाल नहीं किया जा सकता. जैसे:
  • लिंक करने से जुड़ी पाबंदियां: टेस्ट खातों को अन्य Google Ads या Google Business Profile खातों से लिंक नहीं किया जा सकता.
  • टेस्ट खातों के लिए रजिस्ट्रेशन नहीं किया जा सकता: टेस्ट खातों के लिए रजिस्ट्रेशन नहीं किया जा सकता.

सबसे सही तरीके

हमारा सुझाव है कि टेस्ट खातों का इस्तेमाल करते समय, ये सबसे सही तरीके अपनाएं:

  • सैंडबॉक्स-फ़र्स्ट डेवलपमेंट: इंटिग्रेशन की नई सुविधाओं को अपने प्रोडक्शन एनवायरमेंट में लागू करने से पहले, हमेशा टेस्ट खाते में उनकी पुष्टि करें.
  • ऑटोमेटेड इंटिग्रेशन टेस्टिंग: ऑटोमेटेड रिग्रेशन टेस्ट चलाने के लिए, टेस्ट खातों का इस्तेमाल स्टेबल एनवायरमेंट के तौर पर करें.
  • टेस्ट खाते का नाम रखना: हर टेस्ट खाते के मकसद के बारे में बताने के लिए, account_name का इस्तेमाल करें. जैसे, "माइग्रेशन टेस्टिंग" या "इंटिग्रेशन टेस्ट खाता".