Un grupo de ubicaciones de la empresa de Google es como una carpeta compartida de tus ubicaciones. Un grupo de ubicaciones de la empresa proporciona una forma segura de compartir la administración de tus ubicaciones con varios usuarios. Para obtener más información, consulta Acerca de los grupos de ubicaciones de la empresa.
Antes de subir tu inventario local, especifica el grupo de ubicaciones de la empresa del que será responsable tu cuenta de Merchant Center. Puedes obtener la lista de grupos de ubicaciones de la empresa aptos del Perfil de Negocio con la API de Merchant Center, pero para obtener acceso, primero debes vincular tu cuenta a un Perfil de Negocio.
Cómo solicitar acceso a un Perfil de Negocio
Para obtener acceso a un perfil de Negocio, usa el método gbpAccounts.LinkGbpAccount
:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts:linkGbpAccount
{
"gbpEmail": "admin@example.com",
}
Reemplaza lo siguiente:
ACCOUNT_ID
: El identificador único de tu cuenta de Merchant CenterGBP_EMAIL
: Es el correo electrónico del administrador del Perfil de Negocio.
Cuando se llama a este método, el servicio envía un correo electrónico al administrador especificado para que acepte o rechace la solicitud de acceso. Si el administrador no responde en un plazo de 7 días, la solicitud vencerá automáticamente.
Cómo mostrar una lista de los grupos de ubicaciones de la empresa disponibles
Una vez que el administrador apruebe la solicitud, puedes verificar los grupos de empresas disponibles con el método gbpAccounts.List
.
Esta es una solicitud de ejemplo y una respuesta correcta:
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
}
Puedes usar esta muestra de código para recuperar todos los grupos de empresas aptos:
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]
Especifica el grupo de ubicaciones de la empresa para la cuenta de Merchant Center
de grupos de ubicaciones de la empresa disponibles, puedes asociar el grupo de ubicaciones de la empresa con tu cuenta de Merchant Center. Por ejemplo, si deseas elegir el grupo de empresas con el ID de cuenta de GBP 12345
(que se muestra en el paso anterior), puedes usar 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 {}
}
}
Ten en cuenta que el campo provider
debe ser providers/GOOGLE_BUSINESS_PROFILE
. Debes configurar un campo LocalListingManagement
vacío en la solicitud.
Envía datos de productos y de inventario
Ahora que asociaste tu cuenta de Merchant Center con un grupo de ubicaciones de la empresa, puedes subir tus datos de productos y de inventario local. Para obtener más información, consulta