Un groupe d'établissements Google est semblable à un dossier partagé pour vos établissements. Un groupe d'établissements vous permet de partager en toute sécurité la gestion de vos établissements avec d'autres utilisateurs. Pour en savoir plus, consultez À propos des groupes d'établissements.
Avant d'importer votre inventaire en magasin, spécifiez le groupe d'établissements que votre compte Merchant Center gérera. Vous pouvez obtenir la liste des groupes d'établissements éligibles dans la fiche d'établissement à l'aide de l'API Merchant, mais pour y accéder, vous devez d'abord associer votre compte à une fiche d'établissement.
Demander l'accès à une fiche d'établissement
Pour accéder à une fiche d'établissement, utilisez la méthode gbpAccounts.LinkGbpAccount
:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts:linkGbpAccount
{
"gbpEmail": "admin@example.com",
}
Remplacez les éléments suivants :
ACCOUNT_ID
: identifiant unique de votre compte Merchant CenterGBP_EMAIL
: adresse e-mail de l'administrateur de la fiche d'établissement
Lorsque vous appelez cette méthode, le service envoie un e-mail à l'administrateur spécifié, lui demandant d'accepter ou de refuser la demande d'accès. Si l'administrateur ne répond pas dans les sept jours, la demande expire automatiquement.
Lister les groupes d'établissements disponibles
Une fois que l'administrateur a approuvé la demande, vous pouvez vérifier les groupes d'établissements disponibles à l'aide de la méthode gbpAccounts.List
.
Voici un exemple de requête et de réponse positive:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts
Response:
200 OK
{
"gbpAccounts": [
{
"name": "accounts/<var>ACCOUNT</var>/gbpAccounts/12345",
"gbpAccountId": 12345,
"type": USER,
"gbpAccountName": "admin@example.com",
"listingCount": 15
}, {
"name": "accounts/<var>ACCOUNT</var>/gbpAccounts/67890",
"gbpAccountId": 67890,
"type": BUSINESS_ACCOUNT,
"gbpAccountName": "Google My Business Account",
"listingCount": 23
}
],
"nextPageToken": 50
}
Vous pouvez utiliser cet exemple de code pour récupérer tous les groupes d'établissements éligibles:
package shopping.merchant.samples.accounts.v1;
// [START merchantapi_list_gbp_accounts]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AccountName;
import com.google.shopping.merchant.accounts.v1.GbpAccount;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient.ListGbpAccountsPagedResponse;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.ListGbpAccountsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to get the list of GBP accounts for a given Merchant Center account
*/
public class ListGbpAccountsSample {
public static void listGbpAccounts(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the retrieved credentials.
GbpAccountsServiceSettings gbpAccountsServiceSettings =
GbpAccountsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
String accountId = config.getAccountId().toString();
// Creates parent to identify the omnichannelSetting from which to list all Lfp Providers.
String parent = AccountName.newBuilder().setAccount(accountId).build().toString();
// Calls the API and catches and prints any network failures/errors.
try (GbpAccountsServiceClient gbpAccountsServiceClient =
GbpAccountsServiceClient.create(gbpAccountsServiceSettings)) {
ListGbpAccountsRequest request =
ListGbpAccountsRequest.newBuilder().setParent(parent).build();
System.out.println("Sending list GBP accounts request:");
ListGbpAccountsPagedResponse response = gbpAccountsServiceClient.listGbpAccounts(request);
int count = 0;
// Iterates over all the entries in the response.
for (GbpAccount gbpAccount : response.iterateAll()) {
System.out.println(gbpAccount);
count++;
}
System.out.println(String.format("The following count of elements were returned: %d", count));
} catch (Exception e) {
System.out.println("An error has occurred: ");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
listGbpAccounts(config);
}
}
// [END merchantapi_list_gbp_accounts]
Spécifier le groupe d'établissements pour le compte Merchant Center
liste des groupes d'établissements disponibles, vous pouvez associer le groupe d'établissements à votre compte Merchant Center. Par exemple, si vous souhaitez choisir le groupe d'établissements avec l'ID de compte GBP 12345
(rencontré à l'étape précédente), vous pouvez utiliser AccountServices.proposeAccountService
:
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/services:propose
{
provider: "providers/GOOGLE_BUSINESS_PROFILE",
account_service: {
external_account_id: "12345",
local_listing_management {}
}
}
Notez que le champ provider
doit être providers/GOOGLE_BUSINESS_PROFILE
. Vous devez définir un champ LocalListingManagement
vide dans la requête.
Envoyer des données produit et d'inventaire
Maintenant que vous avez associé votre compte Merchant Center à un groupe d'établissements, vous pouvez importer vos données produit et d'inventaire en magasin. Pour en savoir plus, consultez