Внимание! Вышла версия API 4.7. Подробная информация приведена в истории изменений. Публикации, связанные с COVID-19, по-прежнему временно разрешены для торговых сетей.

Управление большим количеством адресов

По мере роста вашей организации управление адресами и разрешениями может становиться все более трудоемким. В этом руководстве рассказывается, как эффективно управлять большим количеством адресов. Рассматриваются следующие типы аккаунтов:

Типы аккаунтов

Разные типы аккаунтов используются для разных задач по управлению адресами. Личный аккаунт может стать менеджером управляющего аккаунта, а затем получить разрешения на доступ к группам пользователей и группам адресов соответствующей организации. Тогда этот личный аккаунт сможет управлять адресами и данными о компаниях через связанные с ними группы адресов.

Личный аккаунт

Личный аккаунт автоматически становится вам доступен, когда вы создаете аккаунт Google. Личные аккаунты могут быть владельцами или менеджерами данных о компаниях.

Управляющий аккаунт

Управляющий аккаунт – это аккаунт на высшем уровне иерархии, представляющий ваше агентство. В нем сохраняются ваши группы адресов и группы пользователей, и к нему имеют доступ все члены вашей организации. Один адрес может относиться к нескольким организациям.

API позволяет приглашать личные аккаунты в качестве менеджеров или владельцев управляющего аккаунта (с помощью метода accounts.admins.create).

Аккаунт группы адресов

Группа адресов позволяет управлять сразу несколькими отдельными адресами с помощью массовых операций. При добавлении личных аккаунтов и групп пользователей в группу адресов они наследуют разрешения этой группы адресов.

С помощью групп адресов также можно разбивать адреса по категориям, регионам или принадлежности к торговым сетям. Один адрес может содержаться в нескольких группах адресов.

API позволяет создавать группы (с помощью метода accounts.create), переносить адреса в группы и приглашать личные аккаунты в качестве менеджеров групп адресов. Группы пользователей можно добавлять для групп адресов через веб-интерфейс.

Аккаунт группы пользователей

Чтобы массово управлять разрешениями, создайте группу пользователей. Можно добавить в нее личные аккаунты пользователей, а затем предоставить ей доступ с правами менеджера к нескольким группам адресов в организации. Тогда все личные аккаунты в группе пользователей смогут управлять адресами, входящими в эти группы адресов.

Например, если у вас появится новый сотрудник, вы сможете добавить его в группу пользователей, и он автоматически получит доступ ко всем адресам, с которыми уже работают его коллеги. Иначе вам придется предоставлять ему доступ к каждому отдельному адресу.

API позволяет создавать группы пользователей с помощью метода accounts.create, а также приглашать личные аккаунты для управления администраторами аккаунтов и адресов.

Вызов списка всех аккаунтов с помощью API

Чтобы получить список всех аккаунтов, к которым у вас есть доступ (с указанием их типов), вызовите метод accounts.list, используя свои учетные данные OAuth. Будет возвращен список всех аккаунтов, их идентификаторов (они содержатся в поле name) и типов.

Запрос

Пример запроса accounts.list:

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

Ответ

Пример ответа 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"
        }
    ]
}

В ответе на запрос accounts.list могут содержаться любые из типов аккаунтов, описанных в этом руководстве. Просмотрите список и найдите аккаунт, у которого есть доступ к нужным вам адресам. Затем вызовите метод accounts.locations.list, используя поле name этого аккаунта, чтобы получить список адресов, к которым у этого аккаунта есть доступ.

Например, чтобы получить список всех адресов из аккаунта John Doe's Location Group, отправьте следующий запрос:

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

В ответе на запрос будет содержаться список адресов, к которым этот пользователь имеет доступ. Список будет выглядеть следующим образом:

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

Схема управления адресами

На приведенной ниже схеме показаны следующие особенности иерархии:

  • Организация может содержать несколько групп пользователей.
  • Группа пользователей может управлять несколькими группами адресов.
  • Группа адресов может содержать несколько адресов.
  • Адрес может относиться к нескольким группам адресов, в том числе из разных организаций.
Иерархия управления адресами
Рис. 1. Иерархия управления адресами