إنشاء الحسابات الفرعية وإدارتها

في 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);
  }
}

استرداد الحسابات الفرعية

لعرض كل الحسابات الفرعية لحساب متعدّد العملاء معيّن، استخدِم الإجراء 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) التي وقّع عليها الحساب الرئيسي.

تعديل معلومات نشاطك التجاري

يمكنك استخدام Merchant Accounts API لتعديل معلومات نشاطك التجاري.

  • للاطّلاع على معلومات نشاطك التجاري، يُرجى الاتصال على الرقم accounts.getBusinessInfo.
  • لتعديل معلومات نشاطك التجاري، يُرجى الاتصال بالرقم accounts.updateBusinessInfo.