Atención: se ha lanzado la versión 4.7 de la API. Consulta el registro de cambios. Las cadenas aún pueden hacer publicaciones relacionadas con el COVID‑19.

Gestionar ubicaciones a escala

A medida que tu organización crece, gestionar tus ubicaciones y los permisos puede convertirse en una tarea compleja. En esta guía se detallan las prácticas recomendadas para gestionar varias ubicaciones y se describen los siguientes tipos de cuenta:

Tipos de cuenta

Cada tipo de cuenta tiene una función en la gestión de las ubicaciones. Una cuenta personal puede gestionar una cuenta de organización y, a continuación, obtener permisos para los grupos de usuarios y de ubicaciones de esa organización. De este modo, la cuenta personal podrá gestionar las ubicaciones y las fichas a través de los grupos de ubicaciones asociados.

Cuenta personal

Cuando creas una cuenta de Google, puedes acceder automáticamente a una cuenta personal. Las cuentas personales pueden funcionar como propietarios y administradores de fichas.

Cuenta de organización

Una cuenta de organización es la cuenta de nivel superior que representa a tu agencia. Tus grupos de ubicaciones y de usuarios se guardan en esa cuenta, y todos los miembros de una organización pueden acceder a ellos. Las ubicaciones pueden formar parte de varias organizaciones.

Con la API, puedes usar el método accounts.admins.create para invitar a cuentas personales a gestionar o ser propietarias de la cuenta de organización.

Cuenta de grupo de ubicaciones

Un grupo de ubicaciones se utiliza para gestionar un grupo de ubicaciones concretas. Puedes utilizar un grupo de ubicaciones para hacer tareas en bloque en varias ubicaciones. Cuando añades cuentas personales y grupos de usuarios a un grupo de ubicaciones, estos heredan los permisos de ese grupo de ubicaciones.

También puedes crear grupos de ubicaciones para categorizar ubicaciones, como por cadena, región o categoría. Las ubicaciones pueden estar en varios grupos de ubicaciones a la vez.

Con la API, puedes usar el método accounts.create para crear grupos de ubicaciones y transferir ubicaciones a un grupo de ubicaciones. También puedes invitar a cuentas personales a gestionar grupos de ubicaciones con la API. Los grupos de usuarios se pueden añadir directamente a los grupos de ubicaciones desde la interfaz web.

Cuenta de grupo de usuarios

Para gestionar los permisos a escala, usa un grupo de usuarios. Puedes añadir cuentas personales a un grupo de usuarios. Después, puedes conceder acceso para gestionar el grupo de usuarios a varios grupos de ubicaciones de la organización. Ahora, todas las cuentas personales del grupo de usuarios pueden realizar acciones administrativas en las ubicaciones de los grupos de ubicaciones.

Por ejemplo, cuando un miembro nuevo se une a un equipo de Operaciones, puedes añadirlo directamente a un grupo de usuarios y estos tendrán acceso inmediatamente a todas las ubicaciones a las que sus compañeros tengan acceso. Se tarda más en conceder acceso a cada ubicación y es más difícil gestionar las cuentas de esa forma.

Con la API, puedes usar el método accounts.create para crear grupos de usuarios. También puedes utilizar la API para invitar a cuentas personales a gestionar a los administradores de las cuentas y las ubicaciones.

Usar la API para mostrar una lista con todas las cuentas

Para ver todas las cuentas a las que tienes acceso, y los tipos de cuentas asociados a ellas, ejecuta el método accounts.list con tus credenciales de OAuth. En la respuesta se incluye una lista de todas las cuentas, sus ID de cuenta, que se indican en el campo name (nombre), y los tipos de cuenta.

Solicitud

A continuación puedes ver un ejemplo de la solicitud accounts.list:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts
Authorization: Bearer <access_token>

Respuesta

A continuación puedes ver un ejemplo de la respuesta accounts.list:

{
    "accounts": [
        {
            "name": "accounts/{accountId}",
            "accountName": "John Doe",
            "type": "PERSONAL",
            "state": {
                "status": "UNVERIFIED"
            },
            "profilePhotoUrl": "//lh5.googleusercontent.com/REDACTED"
        },
        {
            "name": "accounts/{accountId}",
            "accountName": "John Doe’s Location Group",
            "type": "LOCATION_GROUP",
            "role": "OWNER",
            "state": {
                "status": "UNVERIFIED"
            },
            "accountNumber": "{accountNumber}",
            "permissionLevel": "OWNER_LEVEL"
        }
    ]
}

Todos los tipos de cuenta que se detallan en esta guía pueden incluirse en la respuesta a tu solicitud accounts.list. Revisa la lista de cuentas e identifica la que tiene acceso a las ubicaciones que quieres gestionar. A continuación, ejecuta accounts.locations.list con el campo name (nombre) de la cuenta específica para obtener una lista de las ubicaciones a las que puede acceder esa cuenta.

Por ejemplo, si quieres obtener todas las ubicaciones que pertenecen al grupo de ubicaciones de Juan Pérez, haz la siguiente solicitud:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations
Authorization: Bearer <access_token>

La respuesta devuelve una lista de ubicaciones a las que el usuario tiene acceso, de la siguiente manera:

{
    "locations": [
        {
            "name": "accounts/{accountId}/locations/{locationId}",
            "locationName": "Test Business",
            ...
        },
        {
            "name": "accounts/{accountId}/locations/{locationId}",
            "locationName": "2nd Test Business",
            ...
         }
     ]
}

Diagrama de gestión de ubicaciones

El siguiente diagrama muestra lo siguiente:

  • Las organizaciones pueden incluir varios grupos de usuarios.
  • Los grupos de usuarios pueden gestionar varios grupos de ubicaciones.
  • Los grupos de ubicaciones pueden incluir varias ubicaciones.
  • Las ubicaciones pueden abarcar varios grupos de ubicaciones de distintas organizaciones.
Jerarquía de gestión de ubicaciones
Figura 1. Jerarquía de gestión de ubicaciones