สร้างและจัดการบัญชีย่อย

ใน 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,
        "testAccount": 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 ที่บัญชีหลักลงนามไว้

อัปเดตข้อมูลทางธุรกิจ

คุณสามารถใช้ Merchant Accounts API เพื่อแก้ไขข้อมูลทางธุรกิจ

  • หากต้องการดูข้อมูลทางธุรกิจ ให้โทรไปที่ accounts.getBusinessInfo
  • หากต้องการแก้ไขข้อมูลทางธุรกิจ ให้โทรไปที่ accounts.updateBusinessInfo