ایجاد و مدیریت حساب های فرعی

در Merchant API، حساب‌های پیشرفته می‌توانند یک رابطه حساب فرعی با حساب دیگری داشته باشند. حساب‌های فرعی به کسب‌وکارهایی که چندین فروشنده و دامنه‌های بزرگ را مدیریت می‌کنند، مانند خرده‌فروشانی که در چندین کشور فعالیت می‌کنند، کمک می‌کنند. برای انواع کسب‌وکارهایی که واجد شرایط حساب پیشرفته هستند، به شرکت‌هایی که واجد شرایط دسترسی به تنظیمات حساب پیشرفته هستند مراجعه کنید.

می‌توانید از API حساب‌های تجاری برای ایجاد حساب‌های فرعی جدید در حساب پیشرفته خود استفاده کنید. برای برقراری این تماس باید یک حساب پیشرفته موجود داشته باشید. نمی‌توانید از Merchant API برای انتقال حساب‌های تجاری مستقل موجود به زیر حساب خود استفاده کنید.

برای تبدیل حساب Merchant Center خود به حساب پیشرفته، باید مدیر حساب باشید. همچنین باید مطمئن شوید که حساب شما هیچ مشکل معلقی ندارد. برای اطلاعات در مورد نحوه دریافت یک حساب پیشرفته، به درخواست تنظیم حساب پیشرفته مراجعه کنید.

ارائه‌دهندگان شخص ثالث می‌توانند از API حساب‌های تجاری برای توسعه رابطی استفاده کنند که به بازرگانان اجازه می‌دهد جزئیات حساب خود را ایجاد و مدیریت کنند .

یک حساب فرعی ایجاد کنید

برای ایجاد یک حساب فرعی جدید در حساب پیشرفته خود، با accounts.createAndConfigure تماس بگیرید:

  1. جزئیات حساب فرعی را در قسمت account ارائه دهید.
  2. هر کاربر مجاز جدید را در قسمت users مشخص کنید. دسترسی کاربر نیز از حساب والد به ارث می رسد.
  3. در قسمت service ، accountAggregation مشخص کنید.

    در اینجا مثالی برای ایجاد یک حساب فرعی در 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 برای ایجاد یک حساب فرعی جدید استفاده کنید.

جاوا
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);
  }
}

بازیابی حساب های فرعی

برای فهرست کردن همه حساب‌های فرعی برای یک حساب چند مشتری معین، از روش 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"
    }
  ]
}

حذف یک حساب فرعی

برای حذف یک حساب فرعی، از روش accounts.delete استفاده کنید. اجرای این روش به دسترسی مدیر نیاز دارد.

در اینجا یک نمونه درخواست وجود دارد:

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

در صورت موفقیت آمیز بودن، بدنه پاسخ یک شی JSON خالی است.

شرایط خدمات را بپذیرید

حساب‌های فرعی شرایط خدمات Merchant Center (TOS) را که حساب اصلی امضا کرده است به ارث می‌برند.

اطلاعات کسب و کار خود را به روز کنید

می‌توانید از API حساب‌های تجاری برای ویرایش اطلاعات کسب‌وکارتان استفاده کنید.