Quando você atualiza as informações comerciais usando a API My Business Business Information ou a interface do Perfil da Empresa, as edições passam por um pipeline de moderação e verificação antes de serem publicadas na Pesquisa Google e no Maps. Além disso, o Google pode atualizar os detalhes da empresa com base em relatórios de usuários ou fontes de dados licenciadas.
Os endpoints de status de edição do v1alpha permitem recuperar uma visualização unificada de um local ou dos atributos dele em uma única solicitação:
- Dados fornecidos pelo comerciante: os valores enviados mais recentemente pelo comerciante.
- Dados voltados ao consumidor: os valores estão disponíveis na Pesquisa Google e no Maps.
- Metadados de campo estendidos: status de edição por campo ou por atributo,
incluindo o estágio do ciclo de vida da edição mais recente, a origem (
APIouUI), o carimbo de data/hora da última edição e qualquer motivo de violação da política se uma edição foi rejeitada.
Antes de começar
Antes de usar a API My Business Business Information, registre seu aplicativo e receba as credenciais do OAuth 2.0. Veja detalhes para começar em Configuração básica.
Recuperar dados de local estendidos
Para inspecionar os dados de local fornecidos pelo comerciante, os dados de local voltados ao consumidor
e o status de edição por campo de um local, chame
locations.getExtended.
Ao contrário de locations.get,
locations.getExtended não exige um parâmetro readMask e retorna o
recurso ExtendedLocation completo.
Solicitação
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
Resposta
A resposta contém três campos de nível superior:
locationProvidedByMerchant: os dados deLocationgerenciados pelo comerciante.locationSeenByConsumers: os dados doLocationvisíveis para os consumidores na Pesquisa Google e no Maps.extendedFieldData: um mapa de nomes de camposLocationde nível superior emsnake_case(comotitle,phone_numbers,website_uri,storefront_addressouregular_hours) para objetosExtendedFieldData. As chaves são sempre nomes de campo simples de nível superior, nunca subcampos aninhados.
{
"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"
}
}
}Recuperar dados de atributos estendidos
Para inspecionar os valores fornecidos pelo comerciante, os valores voltados ao consumidor e o status de edição
dos atributos de um local, chame
locations.attributes.getExtended.
Solicitação
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended
Resposta
A resposta retorna um recurso ExtendedAttributes
que contém uma lista de entradas ExtendedAttribute. Cada
entrada combina attributeProvidedByMerchant e attributeSeenByConsumers com um
objeto extendedFieldData para esse 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" } } ] }
Entender os metadados de campo estendidos
Cada objeto ExtendedFieldData contém os seguintes
campos:
| Campo | Tipo | Descrição |
|---|---|---|
lastEditLifecycleStage |
EditLifecycleStage |
O estado de moderação ou veiculação da edição mais recente desse campo ou atributo. |
rejectionReason |
PolicyViolation |
A violação da política que causou a rejeição da edição. Preenchido quando lastEditLifecycleStage é EDIT_LIFECYCLE_STAGE_REJECTED. |
updateTime |
string (Timestamp) |
O carimbo de data/hora de quando a última edição desse campo ou atributo foi enviada (formato RFC 3339). |
source |
Source |
A plataforma de origem em que o comerciante enviou a edição (SOURCE_API ou SOURCE_UI). |
Editar estágios do ciclo de vida
O tipo enumerado EditLifecycleStage indica onde uma edição está
no ciclo de vida:
| Valor | Descrição | Ação recomendada |
|---|---|---|
EDIT_LIFECYCLE_STAGE_ACCEPTED |
A edição do comerciante foi aprovada e está qualificada para veiculação. | Não é necessário fazer nada. |
EDIT_LIFECYCLE_STAGE_PENDING |
A edição do comerciante está em análise e não foi aplicada à ficha voltada ao consumidor. | Aguarde a conclusão da moderação. Não envie repetidamente edições idênticas enquanto uma edição estiver pendente. |
EDIT_LIFECYCLE_STAGE_REJECTED |
A edição do comerciante não foi aceita. Verifique rejectionReason para o valor PolicyViolation específico. |
Corrija a violação da política e envie uma nova atualização usando locations.patch ou locations.updateAttributes. |
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE |
O valor voltado ao consumidor foi atualizado pelo Google (por exemplo, com base em relatórios de usuários ou fontes externas) e é diferente do valor fornecido pelo comerciante. | Revise o valor de locationSeenByConsumers ou attributeSeenByConsumers e aceite ou substitua-o. Consulte Gerenciar atualizações do Google. |
EDIT_LIFECYCLE_STAGE_DRAFT |
A edição foi salva como rascunho (por exemplo, em um local não verificado) e não está ativa na Pesquisa Google e no Maps. | Conclua a verificação de local para que a ficha da empresa seja publicada. |
EDIT_LIFECYCLE_STAGE_UNSPECIFIED |
A etapa do ciclo de vida da edição é desconhecida ou não foi especificada. | Nenhum. |
Editar fontes
O tipo enumerado Source identifica o canal pelo qual o comerciante
enviou a edição:
SOURCE_API: a edição foi enviada pela API My Business Business Information.SOURCE_UI: a edição foi enviada pela interface da Web ou pelo app para dispositivos móveis do Perfil da Empresa.SOURCE_UNSPECIFIED: a origem da edição não foi especificada.
Violações da política
Quando lastEditLifecycleStage é EDIT_LIFECYCLE_STAGE_REJECTED, o
campo rejectionReason fornece um valor de tipo enumerado PolicyViolation
explicando por que a edição foi rejeitada. Os motivos da rejeição abrangem as
seguintes áreas (exemplos):
- Status do perfil e da conta:
ACCOUNT_RESTRICTED_AND_SUSPENDED,ACCOUNT_RESTRICTED_AND_EDIT_REJECTED,ASSOCIATED_ACCOUNT_SUSPENDED,BUSINESS_INELIGIBLE,LOCATION_SUSPENDED,LOCATION_VERIFICATION_REQUIRED,OWNERSHIP_REVOKED,PO_BOX. - Restrições de edição:
EDITING_RESTRICTION,ILLEGAL_BUSINESS_HOURS_EDIT,IDENTITY_CHANGE,GEOGRAPHIC_LOCATION_CHANGE. - Políticas de conteúdo:
MISREPRESENTATION,OFF_TOPIC,PERSONAL_INFO,GIBBERISH_AND_REPETITIVE,OBSCENITY_AND_PROFANITY,GENERIC_QUALITY.
Para ver a lista completa de valores e descrições de tipo enumerado, consulte a
documentação de referência de PolicyViolation.