İşletme kayıtları
listingsapi-js SDK ile premium, sesli ve yinelenen dizin işletme kayıtlarını alın, yinelenen kayıtları gizlemeyi yönetin ve profilleri bağlayın.
İşletme kayıtları, bir konumun her bir dizindeki (Google, Yelp, Bing, Alexa, Siri vb.) varlığını temsil eder. İşletme kayıtlarıyla ilgili tüm metotlar ListingsAPI istemci örneğinde bulunur ve bir konum kimliğiyle sınırlıdır. Sayısal konum kimlikleri otomatik olarak kodlanır; dolayısıyla 16808 ve 'TG9jYXRpb246MTY4MDg=' birbirinin yerine kullanılabilir.
fetchPremiumListings
Bir konumun premium dizinlerdeki işletme kayıtlarını alın: Google, Yelp, Facebook ve temel dizin ağındaki diğer dizinler. id, site, syncStatus, displayStatus ve listingUrl gibi alanları içeren Listing nesnelerinden oluşan bir dizi döndürür.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}Olası syncStatus değerleri arasında SYNCED, PENDING, ERROR ve NOT_CONNECTED bulunur.
fetchVoiceListings
Sesli asistanlardaki işletme kayıtlarını alın: Google Assistant, Amazon Alexa, Apple Siri ve benzeri asistanlar. name, voiceIdentifier ve syncStatus gibi alanları içeren VoiceListing nesnelerinden oluşan bir dizi döndürür.
const voice = await client.fetchVoiceListings(16808); console.log(voice.length + ' voice listings');for (const v of voice) {console.log(v.name, v.syncStatus);}fetchDuplicateListings
Belirli bir konum için tespit edilen yinelenen işletme kayıtlarını alın. id, site ve listingUrl gibi alanları içeren DuplicateListing nesnelerinden oluşan bir dizi döndürür.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
İsteğe bağlı etiket filtreleme ve sayfalama seçenekleriyle, hesaptaki tüm konumlarda bulunan yinelenen işletme kayıtlarının toplu özetini alın. fetchDuplicateListings metodundan farklı olarak, düz bir dizi yerine toplu özet nesnesi döndürür.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Seçenekler
markListingsAsDuplicate
Bir konuma ait bir veya daha fazla işletme kaydı öğesini yinelenen olarak işaretleyin. Platform, işaretlenen profilleri yayından kaldırmayı deneyecektir.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Parametreler
Kontrol edilecek bir başarı bayrağı yoktur. Platform yazma işlemini reddederse istemci bir ValidationError hatası fırlatır; dolayısıyla başarıyla tamamlanan bir promise, işlemin başarılı olduğu anlamına gelir.
markListingsAsNotDuplicate
Yanlışlıkla işaretlenmiş işletme kaydı öğelerinin yinelenen işaretini kaldırın.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Parametreler
connectListing
Bir konumu, bağlı bir Google veya Facebook hesabındaki bir işletme kaydıyla ilişkilendirin. Bunu, hesabı bağladıktan ve eşleşen işletme kaydını bulduktan sonra kullanın.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Parametreler
disconnectListing
Bir konumun Google veya Facebook işletme kaydıyla ilişkisini kaldırın. Site adı otomatik olarak büyük harfe dönüştürülür; dolayısıyla hem 'google' hem de 'GOOGLE' kullanılabilir.
await client.disconnectListing(16808, 'GOOGLE');Parametreler
createGmbListing
Bağlı bir Google hesabını kullanarak mevcut bir konum için Google Business Profile işletme kaydı oluşturun.
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',});Parametreler
Tipik denetim iş akışı
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');}İlgili kaynaklar
- Konumlar: konum kimliklerini bulun
- Hata işleme: her metodun fırlattığı türü belirli hatalar
- Kullanım senaryoları: işletme kayıtlarını denetleme adımları