Unterkonten erstellen und verwalten

In der Merchant API können erweiterte Konten eine Unterkontobeziehung zu einem anderen Konto haben. Unterkonten sind hilfreich für Unternehmen, die mehrere Verkäufer und große Domains verwalten, z. B. Einzelhändler, die in mehreren Ländern tätig sind. Welche Arten von Unternehmen für ein erweitertes Konto infrage kommen, erfahren Sie unter Unternehmen, die Zugriff auf die erweiterten Kontoeinstellungen haben.

Mit der Merchant Accounts API können Sie neue Unterkonten in Ihrem erweiterten Konto erstellen. Sie benötigen ein erweitertes Konto, um diesen Anruf zu starten. Sie können die Merchant API nicht verwenden, um vorhandene eigenständige Händlerkonten in Ihr Konto zu verschieben.

Wenn Sie Ihr Merchant Center-Konto in ein erweitertes Konto umwandeln möchten, müssen Sie Kontoadministrator sein. Außerdem dürfen in Ihrem Konto keine ausstehenden Probleme vorliegen. Informationen dazu, wie Sie ein erweitertes Konto erhalten, finden Sie unter Einrichtung eines erweiterten Kontos beantragen.

Drittanbieter können mit der Merchant Accounts API eine Benutzeroberfläche entwickeln, mit der Händler ihre Kontodetails erstellen und verwalten können.

Unterkonto erstellen

Wenn Sie ein neues Unterkonto in Ihrem erweiterten Konto erstellen möchten, rufen Sie accounts.createAndConfigure auf:

  1. Geben Sie die Details des Unterkontos im Feld account ein.
  2. Geben Sie alle neuen autorisierten Nutzer im Feld users an. Der Nutzerzugriff wird ebenfalls vom übergeordneten Konto übernommen.
  3. Geben Sie im Feld service die Option accountAggregation an.

    Im folgenden Beispiel wird ein Unterkonto unter dem Konto account/123 erstellt, das ein Aggregator für das Unterkonto ist:

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

Das folgende Beispiel zeigt, wie Sie mit dem Paket CreateAndConfigureAccountRequest ein neues Unterkonto erstellen.

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

Unterkonten abrufen

Verwenden Sie die Methode accounts.listSubaccounts, um alle Unterkonten für ein bestimmtes Mehrfachkundenkonto aufzulisten.

Hier ein Beispiel für eine Anfrage:

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

Hier ist eine Beispielantwort für einen erfolgreichen Aufruf:

{
  "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"
    }
  ]
}

Unterkonto löschen

Wenn Sie ein untergeordnetes Konto löschen möchten, verwenden Sie die Methode accounts.delete. Für die Ausführung dieser Methode ist Administratorzugriff erforderlich.

Hier ein Beispiel für eine Anfrage:

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

Wenn der Vorgang erfolgreich abgeschlossen wurde, ist der Antworttext ein leeres JSON-Objekt.

Nutzungsbedingungen akzeptieren

Unterkonten übernehmen die Merchant Center-Nutzungsbedingungen, die für das übergeordnete Konto unterzeichnet wurden.

Informationen zum Unternehmen aktualisieren

Mit der Merchant Accounts API können Sie Ihre Unternehmensinformationen bearbeiten.