Nell'API Merchant, gli account avanzati possono avere una relazione di subaccount con un altro account. I subaccount sono utili per le attività che gestiscono più venditori e domini su larga scala, ad esempio i rivenditori che operano in più paesi. Per i tipi di attività idonee per un account avanzato, consulta Aziende che possono accedere alle impostazioni dell'account avanzato.
Puoi utilizzare l'API Merchant Accounts per creare nuovi subaccount nel tuo account avanzato. Per effettuare questa chiamata, devi avere un account avanzato esistente. Non puoi utilizzare l'API Merchant per spostare gli account commerciante autonomi esistenti nel tuo account.
Per convertire il tuo account Merchant Center in un account avanzato, devi essere un amministratore dell'account. Inoltre, devi assicurarti che il tuo account non presenti problemi in sospeso. Per informazioni su come ottenere un account avanzato, consulta Richiedere la configurazione di un account avanzato.
I fornitori di terze parti possono utilizzare l'API Merchant Accounts per sviluppare un'interfaccia che consenta ai commercianti di creare e gestire i dettagli dei loro account.
Creare un subaccount
Per creare un nuovo subaccount nel tuo account avanzato, chiama
accounts.createAndConfigure
:
- Fornisci i dettagli del subaccount nel campo
account
. - Specifica i nuovi utenti autorizzati nel campo
users
. Anche l'accesso utente viene ereditato dall'account principale. Specifica
accountAggregation
nel camposervice
.Di seguito è riportato un esempio di creazione di un subaccount nell'account
account/123
, che è un aggregatore per il subaccount: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" } ] }
Il seguente esempio mostra come utilizzare il pacchetto CreateAndConfigureAccountRequest
per creare un nuovo subaccount.
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);
}
}
Recuperare i subaccount
Per elencare tutti i subaccount di un determinato account multi-cliente, utilizza il metodo
accounts.listSubaccounts
.
Ecco una richiesta di esempio:
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}:listSubaccounts
Ecco un esempio di risposta di una chiamata andata a buon fine:
{
"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"
}
]
}
Eliminare un subaccount
Per eliminare un subaccount, utilizza il metodo accounts.delete
. L'esecuzione di questo metodo richiede l'accesso amministrativo.
Ecco una richiesta di esempio:
DELETE https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}
In caso di esito positivo, il corpo della risposta è un oggetto JSON vuoto.
Accetta i Termini di servizio
I subaccount ereditano i Termini di servizio (TdS) di Merchant Center sottoscritti dall'account principale.
Aggiornare le informazioni sull'attività
Puoi utilizzare l'API Merchant Accounts per modificare le informazioni sulla tua attività.
- Per visualizzare le informazioni sulla tua attività, chiama
accounts.getBusinessInfo
. - Per modificare le informazioni sulla tua attività, chiama
accounts.updateBusinessInfo
.