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"
}'

सीमाएं

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

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

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

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

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