Listagens
Obtenha listagens premium, de voz e duplicadas em diretórios, gerencie a supressão de duplicatas e conecte perfis com o SDK listingsapi-js.
As listagens representam a presença de um local em diretórios individuais (Google, Yelp, Bing, Alexa, Siri e assim por diante). Todos os métodos de listagem estão na instância do cliente ListingsAPI e têm seu escopo definido por um ID de local. Os IDs numéricos de locais são codificados automaticamente, portanto 16808 e 'TG9jYXRpb246MTY4MDg=' são intercambiáveis.
fetchPremiumListings
Obtenha as listagens de um local em diretórios premium: Google, Yelp, Facebook e os demais diretórios da rede principal. Retorna um array de objetos Listing com campos como id, site, syncStatus, displayStatus e listingUrl.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}Os valores possíveis de syncStatus incluem SYNCED, PENDING, ERROR e NOT_CONNECTED.
fetchVoiceListings
Obtenha listagens em assistentes de voz: Google Assistant, Amazon Alexa, Apple Siri e assistentes semelhantes. Retorna um array de objetos VoiceListing com campos como name, voiceIdentifier e syncStatus.
const voice = await client.fetchVoiceListings(16808); console.log(voice.length + ' voice listings');for (const v of voice) {console.log(v.name, v.syncStatus);}fetchDuplicateListings
Obtenha as listagens duplicadas detectadas para um local específico. Retorna um array de objetos DuplicateListing com campos como id, site e listingUrl.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
Obtenha um consolidado das listagens duplicadas de todos os locais da conta, com filtragem por tag e paginação opcionais. Ao contrário de fetchDuplicateListings, este método retorna um objeto consolidado em vez de um simples array.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Opções
markListingsAsDuplicate
Marque um ou mais itens de listagem como duplicados para um local. A plataforma tentará suprimir os perfis marcados.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Parâmetros
Não há um indicador de sucesso para verificar. Se a plataforma rejeitar a gravação, o cliente lança um erro ValidationError, portanto uma promise resolvida significa que a operação foi bem-sucedida.
markListingsAsNotDuplicate
Remova a marcação de duplicado dos itens de listagem que foram marcados incorretamente.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Parâmetros
connectListing
Vincule um local a uma listagem de uma conta conectada do Google ou do Facebook. Use este método após conectar a conta e encontrar a listagem correspondente.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Parâmetros
disconnectListing
Desvincule um local de sua listagem no Google ou no Facebook. O nome do site é convertido automaticamente para letras maiúsculas, portanto tanto 'google' quanto 'GOOGLE' funcionam.
await client.disconnectListing(16808, 'GOOGLE');Parâmetros
createGmbListing
Crie uma listagem no Google Business Profile para um local existente usando uma conta conectada do Google.
const result = await client.createGmbListing(16808, 'connected-account-id'); // Optionally place the new listing in a specific folderawait client.createGmbListing(16808, 'connected-account-id', {folderId: 'folder-id',});Parâmetros
Fluxo de trabalho típico de auditoria
import { ListingsAPI } from 'listingsapi-js'; const client = new ListingsAPI(); // reads LISTINGSAPI_KEY from envconst LOCATION_ID = 16808; // Acme Dental const [premium, duplicates] = await Promise.all([client.fetchPremiumListings(LOCATION_ID),client.fetchDuplicateListings(LOCATION_ID),]); const unsynced = premium.filter((l) => l.syncStatus !== 'SYNCED');console.log(unsynced.length + ' unsynced listings'); if (duplicates.length > 0) {const ids = duplicates .map((d) => d.id) .filter((id): id is string => Boolean(id));await client.markListingsAsDuplicate(LOCATION_ID, ids);console.log('Marked ' + ids.length + ' duplicates');}Recursos relacionados
- Locais: consulte IDs de locais
- Tratamento de erros: erros tipados lançados por todos os métodos
- Casos de uso: roteiro de auditoria de listagens