Revisar a semântica do feed
A semântica do feed de avaliações é um pouco sutil:
Para feeds de resumo de avaliações:
- Se o provedor de serviços no feed de avaliações não existir no banco de dados de provedores da LSA, as avaliações dele não serão ingeridas.
- Qualquer provedor de serviços no feed de avaliações, se ele existir no banco de dados de provedores de anúncios do Serviços Locais, terá as avaliações processadas da seguinte forma:
- Para qualquer avaliação no feed, se a avaliação correspondente não existir no armazenamento de LSA, ela deverá ser criada.
- Para qualquer avaliação no feed, se a avaliação correspondente existir no armazenamento de LSA, ela será atualizada com novas informações.
- Para qualquer avaliação que não esteja no feed, se a avaliação correspondente existir no armazenamento de LSA, ela será excluída.
- Qualquer provedor de serviços que não esteja no feed de avaliações, se ele existir no banco de dados de provedores de LSA, terá as avaliações excluídas e deixará de veicular.
- Um provedor com zero avaliações também precisa ter uma entrada (em vez de ser omitido) nos feeds de avaliações para que elas sejam veiculadas. Consulte Exemplo de feed de avaliações (listingId 2).
O incremental não é compatível com feeds de avaliações. Um feed de avaliações correspondente é necessário para cada feed de perfil.
Tratamento de erros em avaliações
Se um item de feed de avaliação for inválido, vamos pular o processamento dele e continuar com os itens de feed válidos restantes.
Se um feed de avaliações for inválido (por exemplo, não estiver em conformidade com o esquema), vamos interromper o processamento de todo o feed.
Revisar campos
Nome do campo | Tipo | Descrição | Exemplo | Obrigatório | Restrições |
---|---|---|---|---|---|
serviceProviderId | número | Identificador exclusivo de uma ficha (um provedor de serviços). | 12345 | Sim | Precisa caber em int64 |
ratingCount | número inteiro | Número de avaliações de consumidores verificadas | 10 | Sim | Precisa ser zero ou mais. |
autor | string | O nome do autor da avaliação | "Jack L." | Não | |
reviewId | string | O ID exclusivo da avaliação. Se cada avaliação não tiver um ID exclusivo, é necessário que um terceiro gere um ID exclusivo para cada uma delas (por exemplo, hash do texto da avaliação e do usuário), pelo menos exclusivo entre todas as avaliações de um provedor. | "123" | Sim | |
reviewText | string | Revisar o texto escrito pelo autor | "Bom trabalho!" | Não | |
classificação | número inteiro | Classificação (precisa ser um número inteiro entre 1 e 5) | 4 | Sim | Precisa ser um número inteiro entre 1 e 5. |
serviceLocationCity | string | Cidade em que o serviço foi realizado | "Nova York" | Não | |
reviewTimestampMicros | número inteiro | Carimbo de data/hora em que a avaliação foi escrita no formato de microssegundos. | 1,45142E+15 | Não | |
serviceTimestampMicros | número inteiro | Carimbo de data/hora em que o serviço foi concluído no formato de microssegundos. | 1,45132E+15 | Não | |
language | string | Idioma do texto da avaliação no código de idioma ISO 639-1 (minúsculo, duas letras). Precisa corresponder a um idioma de segmentação do provedor. | “en” | Não | Precisa corresponder a um idioma de segmentação especificado para o provedor associado. O padrão é "en" se nada for especificado. |
categoria | objeto | estrutura de categoria | Não | ||
category->categoryId | enum | categoria do serviço (na taxonomia de LSA) | "garage_door_pro" | Não | |
category->task | enum | Tipo de job (tarefa) do serviço (na taxonomia de LSA) | "Consertar um portão de garagem" | Não | |
confirmedCustomer | booleano | Se a avaliação for de um cliente confirmado (com um lead) | TRUE | Não |