יצירה וניהול של חשבונות משנה

ב-Merchant API, לחשבונות מתקדמים יכולה להיות מערכת יחסים של חשבון משנה לחשבון אחר. חשבונות משנה עוזרים לעסקים שמנהלים כמה אתרי מכירה ודומיינים בקנה מידה גדול, כמו קמעונאים שפועלים בכמה מדינות. בקישור הבא מפורטים סוגי העסקים שעומדים בדרישות לחשבון מתקדם: חברות שעומדות בדרישות לגישה להגדרות של חשבון מתקדם.

אפשר להשתמש ב-Merchant Accounts API כדי ליצור חשבונות משנה חדשים בחשבון המתקדם. כדי לבצע את הקריאה הזו, צריך להיות לכם חשבון מתקדם קיים. אי אפשר להשתמש ב-Merchant API כדי להעביר חשבונות עצמאיים קיימים של מוכרים לחשבון שלכם.

כדי להמיר את חשבון Merchant Center לחשבון מתקדם, צריכה להיות לכם הרשאת אדמין בחשבון. בנוסף, עליכם לוודא שאין בחשבון בעיות בהמתנה. במאמר איך לבקש הגדרה של חשבון מתקדם מוסבר איך מקבלים חשבון מתקדם.

ספקי צד שלישי יכולים להשתמש ב-Merchant Accounts API כדי לפתח ממשק שמאפשר למוכרים ליצור ולנהל את פרטי החשבון שלהם.

יצירת חשבון משנה

כדי ליצור חשבון משני חדש בחשבון המתקדם, צריך להפעיל את הפונקציה accounts.createAndConfigure:

  1. מזינים את הפרטים של חשבון המשנה בשדה account.
  2. מציינים את המשתמשים המורשים החדשים בשדה users. גם הרשאות הגישה של המשתמשים עוברות בירושה מחשבון ההורה.
  3. מציינים accountAggregation בשדה service.

    דוגמה ליצירת חשבון משנה בחשבון account/123, שהוא שירות צבירה לחשבון המשנה:

    POST https://merchantapi.googleapis.com/accounts/v1beta/accounts:createAndConfigure
    
    {
      "account": {
        "accountName": "merchantStore",
        "adultContent": false,
        "timeZone": {
          "id": "America/New_York",
        }
        "languageCode": "en-US",
      },
      "service": [
        {
          "accountAggregation": {},
          "provider": "providers/123"
        }
      ]
    }
    

הדוגמה הבאה ממחישה איך אפשר להשתמש בחבילה CreateAndConfigureAccountRequest כדי ליצור חשבון משנה חדש.

Java

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

/** This class demonstrates how to create a sub-account under an MCA account. */
public class CreateSubAccountSample {

  private static String getParent(String accountId) {
    return String.format("accounts/%s", accountId);
  }

  public static void createSubAccount(Config config) 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();

    // Creates parent/provider to identify the MCA account into which to insert the subaccount.
    String parent = getParent(config.getAccountId().toString());

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

      CreateAndConfigureAccountRequest request =
          CreateAndConfigureAccountRequest.newBuilder()
              .setAccount(
                  Account.newBuilder()
                      .setAccountName("Demo Business")
                      .setAdultContent(false)
                      .setTimeZone(TimeZone.newBuilder().setId("America/New_York").build())
                      .setLanguageCode("en-US")
                      .build())
              .addService(
                  AddAccountService.newBuilder()
                      .setProvider(parent)
                      .setAccountAggregation(AccountAggregation.getDefaultInstance())
                      .build())
              .build();

      System.out.println("Sending Create SubAccount request");
      Account response = accountsServiceClient.createAndConfigureAccount(request);
      System.out.println("Inserted Account Name below");
      // Format: `accounts/{account}
      System.out.println(response.getName());
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    createSubAccount(config);
  }
}

אחזור של חשבונות משנה

כדי לקבל רשימה של כל חשבונות המשנה של חשבון מרובה לקוחות נתון, משתמשים ב-method‏ accounts.listSubaccounts.

הנה דוגמה לבקשה:

GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}:listSubaccounts

זוהי דוגמה לתגובה מקריאה מוצלחת:

{
  "accounts": [
    {
      "name": "accounts/{ACCOUNT_ID}",
      "accountId": "{ACCOUNT_ID}",
      "accountName": "{ACCOUNT_NAME}",
      "timeZone": {
        "id": "America/Los_Angeles"
      },
      "languageCode": "en-US"
    },
    {
      "name": "accounts/{ACCOUNT_ID}",
      "accountId": "{ACCOUNT_ID}",
      "accountName": "{ACCOUNT_NAME}",
      "timeZone": {
        "id": "America/Los_Angeles"
      },
      "languageCode": "en-US"
    }
  ]
}

התשובה כוללת את הערכים הבאים:

  • {ACCOUNT_ID}: המזהה הייחודי של חשבון Merchant Center.

  • {ACCOUNT_NAME}: שם החשבון הוא השם הגלוי של החשבון ב-Merchant Center או השם הגלוי של חשבון המשנה.

מחיקה של חשבון משנה

כדי למחוק חשבון משני, משתמשים בשיטה accounts.delete. כדי להריץ את השיטה הזו נדרשת הרשאת אדמין.

הנה דוגמה לבקשה:

DELETE https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}

אם הפעולה בוצעה ללא שגיאות, גוף התגובה הוא אובייקט JSON ריק.

מאשרים את התנאים וההגבלות

חשבונות משנה יורשים את התנאים וההגבלות (TOS) של Merchant Center שנחתמו בחשבון ההורה.

עדכון פרטי העסק

אפשר להשתמש ב-Merchant Accounts API כדי לערוך את פרטי העסק.