En este instructivo, se muestra cómo crear y editar datos de ubicación. La API de My Business Information te permite hacer lo siguiente:
- Crea una ubicación nueva.
- Borra una ubicación.
- Obtén una ubicación por nombre de recurso.
- Indicar todas las ubicaciones de una cuenta.
- Actualiza uno o más campos para una ubicación.
Las ubicaciones se pueden utilizar en Google Ads, pero se deben verificar para poder aparecer en la Búsqueda y en Maps. Los datos de ubicación se representan con la colección accounts.locations.
Antes de comenzar
Antes de utilizar la API de My Business Information, debes registrar tu aplicación y obtener las credenciales de OAuth 2.0. Si deseas obtener detalles sobre cómo comenzar a utilizar la API de My Business Information, consulta Configuración básica.
Crea una ubicación
Puedes usar la API de My Business Information para crear una ubicación nueva para una empresa con accounts.locations.create.
Para crear una ubicación, usa lo siguiente:
POST https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?requestId=requestId&validateOnly=True|False { "storeCode": "GOOG-SYD", "languageCode": "en-AU", "title": "Google Sydney", "phoneNumbers": { "primaryPhone": "02 9374 4000" } "storefrontAddress": { "addressLines": [ "Level 5", "48 Pirrama Road" ], "locality": "Pyrmont", "postalCode": "2009", "administrativeArea": "NSW", "regionCode": "AU" }, "websiteUri": "https://www.google.com.au/", "regularHours": { "periods": [ { "openDay": "MONDAY", "closeDay": "MONDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "TUESDAY", "closeDay": "TUESDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "WEDNESDAY", "closeDay": "WEDNESDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "THURSDAY", "closeDay": "THURSDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "FRIDAY", "closeDay": "FRIDAY", "openTime": "09:00", "closeTime": "17:00" } ] }, "categories": { "primaryCategory": { "name": "gcid:software_company" } } }
Cómo borrar una ubicación
Puedes usar la API de My Business Information para borrar una ubicación con locations.delete.
Para borrar una ubicación, usa lo siguiente:
DELETE https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
Cómo obtener una ubicación por nombre
Si tienes muchas empresas asociadas a tu cuenta, te recomendamos obtener una sola ubicación. Puedes filtrar por el nombre de la empresa para obtener una ubicación específica con locations.get.
Para obtener una ubicación por nombre, usa lo siguiente. Debes especificar una readMask para recuperar campos específicos. :
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
Mostrar la versión de Google Maps
Para mostrar la versión de Google Maps de una ubicación, agrega googleUpdated
a la URL de la solicitud, como en el siguiente ejemplo:
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}
Si no hay resultados, se muestra un código de estado HTTP 404 NOT FOUND
. Puedes obtener más información sobre cómo administrar las Actualizaciones de Google aquí.
Mostrar lista de ubicaciones
Cuando administras una o más ubicaciones, es posible que desees enumerar todas las ubicaciones asociadas con tu cuenta. Usa la API de accounts.locations.list para enumerar todas las ubicaciones asociadas con un usuario.
Para enumerar todas las ubicaciones que un usuario autenticado tiene o administra directamente, usa lo siguiente:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}
Usa un comodín '-'
para la cuenta en la URL de la solicitud a fin de incluir las fichas de propiedad indirectamente (propiedad o administrada a través de un grupo):
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
Cómo filtrar los resultados cuando enumeras ubicaciones
Puedes usar filtros para limitar los resultados que se muestran cuando llamas a accounts.locations.list. Para filtrar una solicitud, agrega una expresión de filtro a la URL base como se muestra en este ejemplo:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter={FIELD_NAME}=%22{YOUR_QUERY}%22
Sintaxis de consulta básica
Una restricción tiene la siguiente sintaxis: <field><operator><value>
, en la que el operador es EQUALS (=) o HAS (:). Los operadores EQUALS (=) y HAS (:) son equivalentes para todos los campos, excepto locationName
(consulta la tabla a continuación).
Las comillas se codifican como "%22" y los espacios como signos más (+).
A menos que se indique lo contrario, todas las comparaciones son comparaciones de tokens que no distinguen mayúsculas de minúsculas. Por ejemplo, "4 viajes" coincidiría con "4, Privet Drive".
Combina varios campos en una consulta de filtro
La API permite que el operador Y conecte todas las restricciones de campos. Sin embargo, cuando se trata de la palabra clave OR, todas las restricciones deben aplicarse al mismo campo. Por ejemplo, no se permite locationName=A
O labels=B
.
Ejemplo
En el siguiente ejemplo, se muestra una expresión de filtro que muestra todas las ubicaciones con el nombre "Pepé Le Pew". Muestra categorías para "french_restaurant" o "european_restaurant" y la etiqueta "recién abierto".
locationName=%22Pepé+Le+Pew%22+AND+ (categories=%22french_restaurant%22+OR+ categories=%22european_restaurant%22)+AND+ labels=%22newly+open%22
Buscar por distancia o por cuenta
En el siguiente ejemplo, se muestra cómo puedes buscar ubicaciones a una distancia determinada desde un punto geográfico:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}
Para filtrar las ubicaciones dentro de un radio de 1,600 kilómetros de Boulder, Colorado, EE.UU.:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(40.01, -105.27))<1000.0
Lista de todos los campos de filtro admitidos
La siguiente es una lista exhaustiva de todos los campos que se pueden usar para filtrar:
Campos | Descripción y ejemplo |
---|---|
Campos de coincidencia de strings | |
title |
El nombre real de la empresa
|
categories |
La combinación de la categoría principal y las categorías adicionales. Ten en cuenta que se debe omitir "gcid:". Si hay varias categorías, este filtro coincidirá si al menos una de ellas coincide con este patrón.
|
phone_numbers.primary_phone |
Corresponde al número de teléfono principal en formato E.164 (por ejemplo: "+441234567890").
|
storefront_address.region_code |
El código regional de CLDR del país o la región de la dirección
|
storefront_address.administrative_area |
La subdivisión administrativa más alta que se usa para las direcciones postales de un país o una región
|
storefront_address.locality |
La sección de ciudad/pueblo de la dirección
|
storefront_address.postal_code |
El código postal de la dirección
|
metadata.place_id |
Si esta ubicación se verificó y está conectada a Google Maps, o aparece en ella, este campo es igual al ID de lugar de la ubicación.
|
openInfo.status |
Indica si la ubicación está abierta en este momento (
|
labels |
Una colección de cadenas de formato libre que te permiten etiquetar tu empresa. A diferencia de todos los demás campos, este valor debe coincidir exactamente con una etiqueta completa que incluya las mayúsculas y minúsculas, y no solo un token. P.ej., si una etiqueta es “XX YY”, no coincidirá “XX” ni “xx yy”.
|
storeCode |
Es el identificador externo de esta ubicación, que debe ser único dentro de una cuenta determinada.
|
Funciones | |
distance |
Te permite filtrar según la distancia de la ubicación respecto de un punto geográfico.
|
Ordenar por campo de consulta
Puedes ordenar los resultados por nombre de la empresa o código de tienda, en orden ascendente o descendente. Si hay varios criterios de orden, estos se separan con comas en la string orderBy
, como en el siguiente ejemplo:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
Cómo aplicar un parche a una ubicación
Utiliza la API de My Business Information para actualizar uno o más campos para una ubicación con locations.patch.
Para cambiar uno o más campos de una ubicación, usa lo siguiente:
Agrega los campos y los valores actualizados con el campo de ubicación y usa una lista separada por comas de campos actualizados como el valor de fieldMask
.
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title { "title": "Google Shoes" }