Cómo verificar el estado de las ediciones de ubicaciones y atributos

Cuando actualizas la información de la empresa a través de la API de Business Information para Mi Negocio o la IU del Perfil de Negocio, las ediciones pasan por una canalización de moderación y verificación antes de aparecer publicadas en la Búsqueda de Google y Maps. Además, Google puede actualizar los detalles de la empresa según los informes de los usuarios o las fuentes de datos con licencia.

Los extremos de estado de edición de v1alpha te permiten recuperar una vista unificada de una ubicación o sus atributos en una sola solicitud:

  • Datos proporcionados por el comercio: Son los valores que envió el comercio por última vez.
  • Datos orientados al consumidor: Los valores se publican en la Búsqueda de Google y en Maps.
  • Metadatos de campo extendidos: Estado de edición por campo o por atributo, incluida la etapa del ciclo de vida de la última edición, la fuente de origen (API o UI), la marca de tiempo de la última edición y cualquier motivo de incumplimiento de política si se rechazó una edición.

Antes de comenzar

Antes de usar la API de My Business Business Information, registra tu aplicación y obtén las credenciales de OAuth 2.0. Para obtener detalles sobre cómo comenzar, consulta Configuración básica.

Recupera datos de ubicación extendidos

Para inspeccionar los datos de ubicación proporcionados por el comercio, los datos de ubicación para el consumidor y el estado de edición por campo de una ubicación, llama a locations.getExtended.

A diferencia de locations.get, locations.getExtended no requiere un parámetro readMask y devuelve el recurso ExtendedLocation completo.

Solicitud

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended

Respuesta

La respuesta contiene tres campos de nivel superior:

  • locationProvidedByMerchant: Son los datos de Location que administra el comercio.
  • locationSeenByConsumers: Son los datos de Location visibles para los consumidores en la Búsqueda de Google y Maps.
  • extendedFieldData: Es un mapa de nombres de campos Location de nivel superior en snake_case (como title, phone_numbers, website_uri, storefront_address o regular_hours) para objetos ExtendedFieldData. Las claves siempre son nombres de campos de nivel superior simples, nunca subcampos anidados.
{
  "locationProvidedByMerchant": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters - Best Coffee in Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "locationSeenByConsumers": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters",
    "phoneNumbers": {
      "primaryPhone": "+61 2 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "extendedFieldData": {
    "title": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_REJECTED",
      "rejectionReason": "MISREPRESENTATION",
      "updateTime": "2026-09-25T08:00:00Z",
      "source": "SOURCE_API"
    },
    "phone_numbers": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE",
      "updateTime": "2026-09-20T14:15:00Z",
      "source": "SOURCE_UI"
    },
    "website_uri": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
      "updateTime": "2026-09-15T10:30:00Z",
      "source": "SOURCE_API"
    }
  }
}

Recupera datos de atributos extendidos

Para inspeccionar los valores proporcionados por el comercio, los valores para el consumidor y el estado de edición de los atributos de una ubicación, llama a locations.attributes.getExtended.

Solicitud

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended

Respuesta

La respuesta devuelve un recurso ExtendedAttributes que contiene una lista de entradas ExtendedAttribute. Cada entrada vincula attributeProvidedByMerchant y attributeSeenByConsumers con un objeto extendedFieldData para ese atributo:

{
  "name": "locations/{locationId}/attributes",
  "extendedAttributes": [
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
        "updateTime": "2026-09-10T12:00:00Z",
        "source": "SOURCE_API"
      }
    },
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "free_wi_fi"
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "paid_wi_fi"
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_PENDING",
        "updateTime": "2026-09-28T16:45:00Z",
        "source": "SOURCE_API"
      }
    }
  ]
}

Comprende los metadatos de campos extendidos

Cada objeto ExtendedFieldData contiene los siguientes campos:

Campo Tipo Descripción
lastEditLifecycleStage EditLifecycleStage Es el estado de moderación o publicación de la edición más reciente de este campo o atributo.
rejectionReason PolicyViolation Es el incumplimiento de política que provocó el rechazo de la edición. Se propaga cuando lastEditLifecycleStage es EDIT_LIFECYCLE_STAGE_REJECTED.
updateTime string (Timestamp) Es la marca de tiempo de la última edición que se envió para este campo o atributo (formato RFC 3339).
source Source Es la plataforma de origen en la que el comercio envió la edición (SOURCE_API o SOURCE_UI).

Cómo editar las etapas del ciclo de vida

La enumeración EditLifecycleStage indica en qué etapa de su ciclo de vida se encuentra una edición:

Valor Descripción Acción recomendada
EDIT_LIFECYCLE_STAGE_ACCEPTED Se aprobó la edición del comercio y es apta para publicarse. No se requiere ninguna acción.
EDIT_LIFECYCLE_STAGE_PENDING La edición del comercio está en proceso de revisión y aún no se aplicó a la ficha para el consumidor. Espera a que se complete la moderación. No vuelvas a enviar ediciones idénticas de forma reiterada mientras haya una edición pendiente.
EDIT_LIFECYCLE_STAGE_REJECTED No se aceptó la edición del comercio. Verifica rejectionReason para obtener el valor específico de PolicyViolation. Corrige el incumplimiento de política subyacente y envía una actualización nueva con locations.patch o locations.updateAttributes.
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE Google actualizó el valor para el consumidor (por ejemplo, a partir de informes de usuarios o fuentes externas) y difiere del valor que proporcionó el comercio. Revisa el valor de locationSeenByConsumers o attributeSeenByConsumers, y acéptalo o anúlalo. Consulta Cómo administrar las actualizaciones de Google.
EDIT_LIFECYCLE_STAGE_DRAFT La edición se guardó como borrador (por ejemplo, en una ubicación no verificada) y no está publicada en la Búsqueda de Google ni en Maps. Completa la verificación de la ubicación para que la ficha se publique.
EDIT_LIFECYCLE_STAGE_UNSPECIFIED La etapa del ciclo de vida de la edición es desconocida o no se especificó. Ninguno

Editar fuentes

La enumeración Source identifica el canal a través del cual el comercio envió la edición:

  • SOURCE_API: La edición se envió a través de la API de Business Information para Mi Negocio.
  • SOURCE_UI: La edición se envió a través de la IU web o la app para dispositivos móviles del Perfil de Negocio.
  • SOURCE_UNSPECIFIED: No se especifica la fuente de la edición.

Incumplimientos de política

Cuando lastEditLifecycleStage es EDIT_LIFECYCLE_STAGE_REJECTED, el campo rejectionReason proporciona un valor de enumeración PolicyViolation que explica por qué se rechazó la edición. Los motivos de rechazo abarcan las siguientes áreas (ejemplos):

  • Estado del perfil y de la cuenta: ACCOUNT_RESTRICTED_AND_SUSPENDED, ACCOUNT_RESTRICTED_AND_EDIT_REJECTED, ASSOCIATED_ACCOUNT_SUSPENDED, BUSINESS_INELIGIBLE, LOCATION_SUSPENDED, LOCATION_VERIFICATION_REQUIRED, OWNERSHIP_REVOKED, PO_BOX.
  • Restricciones de edición: EDITING_RESTRICTION, ILLEGAL_BUSINESS_HOURS_EDIT, IDENTITY_CHANGE, GEOGRAPHIC_LOCATION_CHANGE.
  • Políticas de contenido: MISREPRESENTATION, OFF_TOPIC, PERSONAL_INFO, GIBBERISH_AND_REPETITIVE, OBSCENITY_AND_PROFANITY, GENERIC_QUALITY.

Para obtener la lista completa de valores y descripciones de enumeraciones, consulta la documentación de referencia de PolicyViolation.