Vérifier l'état des modifications apportées aux établissements et aux attributs

Lorsque vous mettez à jour les informations sur votre établissement via l'API My Business Business Information ou l'interface utilisateur de la fiche d'établissement, les modifications passent par un pipeline de modération et de validation avant d'apparaître dans la recherche Google et sur Maps. De plus, Google peut mettre à jour les informations sur l'établissement en fonction des signalements des utilisateurs ou des sources de données sous licence.

Les points de terminaison d'état de modification v1alpha vous permettent de récupérer une vue unifiée d'un établissement ou de ses attributs en une seule requête :

  • Données fournies par le marchand : dernières valeurs envoyées par le marchand.
  • Données visibles par les clients : les valeurs sont affichées dans la recherche Google et sur Maps.
  • Métadonnées de champ étendues : état de modification par champ ou par attribut, y compris l'étape du cycle de vie de la dernière modification, la source d'origine (API ou UI), l'horodatage de la dernière modification et tout motif de non-respect des règles si une modification a été refusée.

Avant de commencer

Avant d'utiliser l'API My Business Business Information, enregistrez votre application et obtenez des identifiants OAuth 2.0. Pour découvrir comment vous lancer, consultez Configuration de base.

Récupérer des données de localisation étendues

Pour inspecter les données de localisation fournies par le marchand, les données de localisation en contact avec les clients et l'état de modification par champ d'un établissement, appelez locations.getExtended.

Contrairement à locations.get, locations.getExtended ne nécessite pas de paramètre readMask et renvoie la ressource ExtendedLocation complète.

Requête

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

Réponse

La réponse contient trois champs de premier niveau :

  • locationProvidedByMerchant : données Location gérées par le marchand.
  • locationSeenByConsumers : données Location visibles par les clients dans la recherche Google et sur Maps.
  • extendedFieldData : mappage des noms de champs Location de premier niveau dans snake_case (tels que title, phone_numbers, website_uri, storefront_address ou regular_hours) vers des objets ExtendedFieldData. Les clés sont toujours des noms de champs de premier niveau simples, jamais des sous-champs imbriqués.
{
  "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"
    }
  }
}

Récupérer les données d'attributs étendus

Pour inspecter les valeurs fournies par le marchand, les valeurs en contact avec les clients et l'état de modification des attributs d'un établissement, appelez locations.attributes.getExtended.

Requête

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

Réponse

La réponse renvoie une ressource ExtendedAttributes contenant une liste d'entrées ExtendedAttribute. Chaque entrée associe attributeProvidedByMerchant et attributeSeenByConsumers à un objet extendedFieldData pour cet attribut :

{
  "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"
      }
    }
  ]
}

Comprendre les métadonnées de champ étendues

Chaque objet ExtendedFieldData contient les champs suivants :

Champ Type Description
lastEditLifecycleStage EditLifecycleStage État de modération ou de diffusion de la modification la plus récente apportée à ce champ ou à cet attribut.
rejectionReason PolicyViolation Le cas de non-respect des règles qui a entraîné le refus de la modification. Renseigné lorsque lastEditLifecycleStage est EDIT_LIFECYCLE_STAGE_REJECTED.
updateTime string (Timestamp) Code temporel de la dernière modification de ce champ ou de cet attribut (format RFC 3339).
source Source La surface d'origine sur laquelle le marchand a envoyé la modification (SOURCE_API ou SOURCE_UI).

Modifier les étapes du cycle de vie

L'énumération EditLifecycleStage indique où en est une modification dans son cycle de vie :

Valeur Description Action recommandée
EDIT_LIFECYCLE_STAGE_ACCEPTED La modification du marchand a été approuvée et peut être diffusée. Aucune action requise.
EDIT_LIFECYCLE_STAGE_PENDING La modification du marchand est en cours d'examen et n'a pas été appliquée à la fiche visible par les clients. Attendez la fin de la modération. Ne renvoyez pas plusieurs fois les mêmes modifications tant qu'une modification est en attente.
EDIT_LIFECYCLE_STAGE_REJECTED La modification du marchand n'a pas été acceptée. Vérifiez la valeur PolicyViolation spécifique dans rejectionReason. Corrigez le non-respect des règles sous-jacent et envoyez une nouvelle mise à jour à l'aide de locations.patch ou locations.updateAttributes.
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE La valeur visible par les consommateurs a été mise à jour par Google (par exemple, à partir de signalements d'utilisateurs ou de sources externes) et diffère de celle fournie par le marchand. Examinez la valeur locationSeenByConsumers ou attributeSeenByConsumers, puis acceptez-la ou remplacez-la. Consultez Gérer les mises à jour Google.
EDIT_LIFECYCLE_STAGE_DRAFT La modification a été enregistrée en tant que brouillon (par exemple, pour un établissement non validé) et n'est pas visible dans la recherche Google ni sur Maps. Effectuez la validation de l'établissement pour que la fiche puisse être mise en ligne.
EDIT_LIFECYCLE_STAGE_UNSPECIFIED L'étape du cycle de vie de la modification est inconnue ou non spécifiée. Aucune.

Modifier les sources

L'énumération Source identifie le canal par lequel le marchand a envoyé la modification :

  • SOURCE_API : la modification a été envoyée via l'API My Business Business Information.
  • SOURCE_UI : la modification a été envoyée via l'interface utilisateur Web ou l'application mobile de la fiche d'établissement.
  • SOURCE_UNSPECIFIED : la source de la modification n'est pas spécifiée.

Non-respect des règles

Lorsque lastEditLifecycleStage est défini sur EDIT_LIFECYCLE_STAGE_REJECTED, le champ rejectionReason fournit une valeur d'énumération PolicyViolation expliquant pourquoi la modification a été refusée. Les motifs de refus couvrent les domaines suivants (exemples) :

  • État du profil et du compte : ACCOUNT_RESTRICTED_AND_SUSPENDED, ACCOUNT_RESTRICTED_AND_EDIT_REJECTED, ASSOCIATED_ACCOUNT_SUSPENDED, BUSINESS_INELIGIBLE, LOCATION_SUSPENDED, LOCATION_VERIFICATION_REQUIRED, OWNERSHIP_REVOKED, PO_BOX.
  • Restrictions de modification : EDITING_RESTRICTION, ILLEGAL_BUSINESS_HOURS_EDIT, IDENTITY_CHANGE, GEOGRAPHIC_LOCATION_CHANGE.
  • Règles relatives au contenu : MISREPRESENTATION, OFF_TOPIC, PERSONAL_INFO, GIBBERISH_AND_REPETITIVE, OBSCENITY_AND_PROFANITY, GENERIC_QUALITY.

Pour obtenir la liste complète des valeurs d'énumération et leurs descriptions, consultez la documentation de référence sur PolicyViolation.