En este instructivo, se muestra cómo crear y editar datos de ubicación. La API de Business Information de Mi Negocio te permite hacer lo siguiente:
- Crear una ubicación nueva.
- Borrar una ubicación.
- Obtener una ubicación por nombre de recurso.
- Mostrar todas las ubicaciones de una cuenta.
- Actualizar uno o más campos de una ubicación.
Las ubicaciones se pueden usar en Google Ads, pero deben verificarse para que puedan aparecer en la Búsqueda y Maps. Los datos de ubicación se representan mediante la accounts.locations.
Antes de comenzar
Antes de usar la API de Business Information de Mi Negocio, debes registrar tu aplicación y obtener credenciales de OAuth 2.0. Para obtener detalles sobre cómo comenzar a usar la API de Business Information de Mi Negocio, consulta Configuración básica.
Cómo crear una ubicación
Puedes usar la API de Business Information de Mi Negocio 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 Business Information de Mi Negocio 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 con tu cuenta, es posible que quieras 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 un readMask para recuperar campos específicos. :
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
Cómo 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. Para obtener más detalles sobre la administración de las actualizaciones de Google, consulta
Aceptar o rechazar actualizaciones.
Mostrar lista de ubicaciones
Cuando administras una o más ubicaciones, es posible que quieras mostrar todas las ubicaciones asociadas con tu cuenta. Usa la accounts.locations.list para mostrar todas las ubicaciones asociadas con un usuario.
Para mostrar todas las ubicaciones que pertenecen directamente a un usuario autenticado o que este administra, 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 para incluir las
fichas que pertenecen indirectamente (que pertenecen a un grupo o que se administran a través de él):
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
Cómo filtrar los resultados cuando muestras 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 básica de la consulta
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 drive" coincidiría con "4, Privet Drive".
Cómo combinar varios campos en una consulta de filtro
La API permite que AND 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 OR 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 una etiqueta de "newly open".
locationName=%22Pepé+Le+Pew%22+AND+ (categories=%22french_restaurant%22+OR+ categories=%22european_restaurant%22)+AND+ labels=%22newly+open%22
Cómo buscar por distancia o cuenta
En el siguiente ejemplo, se muestra cómo puedes buscar ubicaciones dentro de una distancia determinada de un punto geográfico:
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}
Para filtrar ubicaciones dentro de 1,609 km de Boulder, Colorado, EE.UU., haz lo siguiente:
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 compatibles
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 cadenas | |
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 coincide si al menos una categoría coincide con este patrón.
|
phone_numbers.primary_phone |
El número de teléfono principal en formato E.164 (por ejemplo, "+441234567890")
|
storefront_address.region_code |
El código de región 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 región
|
storefront_address.locality |
La parte de la dirección correspondiente a la ciudad o el pueblo
|
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 él, este campo es igual al ID de lugar de la ubicación
|
openInfo.status |
Indica si la ubicación está abierta actualmente para la empresa
(
|
labels |
Una colección de cadenas de formato libre que te permite etiquetar tu empresa A diferencia de todos los demás campos, este valor debe coincidir exactamente con una etiqueta completa, incluidas las mayúsculas y minúsculas, y no solo con un token. Por ejemplo, si una etiqueta es "XX YY", entonces no coincidirá con "XX" ni con "xx yy".
|
storeCode |
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 desde 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. Los criterios de ordenamiento múltiples se separan con comas en la cadena 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
Usa la API de Business Information de Mi Negocio para actualizar uno o más campos de 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"
}