Profil bisnis
Ambil profil bisnis premium, suara, dan duplikat di direktori, kelola penyembunyian duplikat, dan hubungkan profil dengan SDK listingsapi-js.
Profil bisnis mewakili keberadaan suatu lokasi di masing-masing direktori (Google, Yelp, Bing, Alexa, Siri, dan sebagainya). Semua metode profil bisnis tersedia pada instans klien ListingsAPI dan cakupannya dibatasi oleh ID lokasi. ID lokasi numerik dikodekan secara otomatis, sehingga 16808 dan 'TG9jYXRpb246MTY4MDg=' dapat digunakan secara bergantian.
fetchPremiumListings
Ambil profil bisnis pada direktori premium untuk suatu lokasi: Google, Yelp, Facebook, dan direktori lainnya dalam jaringan direktori utama. Mengembalikan array objek Listing dengan field seperti id, site, syncStatus, displayStatus, dan listingUrl.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}Nilai syncStatus yang mungkin mencakup SYNCED, PENDING, ERROR, dan NOT_CONNECTED.
fetchVoiceListings
Ambil profil bisnis pada asisten suara: Google Assistant, Amazon Alexa, Apple Siri, dan asisten serupa. Mengembalikan array objek VoiceListing dengan field seperti name, voiceIdentifier, dan 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
Ambil profil bisnis duplikat yang terdeteksi untuk lokasi tertentu. Mengembalikan array objek DuplicateListing dengan field seperti id, site, dan listingUrl.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
Ambil rekap profil bisnis duplikat di seluruh lokasi dalam akun, dengan pemfilteran berdasarkan tag dan paginasi opsional. Berbeda dengan fetchDuplicateListings, metode ini mengembalikan objek rekap, bukan array biasa.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Opsi
markListingsAsDuplicate
Tandai satu atau beberapa item profil bisnis sebagai duplikat untuk suatu lokasi. Platform akan mencoba menyembunyikan profil yang ditandai.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Parameter
Tidak ada penanda keberhasilan yang perlu diperiksa. Jika platform menolak operasi penulisan, klien akan melempar ValidationError, sehingga promise yang terselesaikan berarti operasi berhasil.
markListingsAsNotDuplicate
Hapus penanda duplikat dari item profil bisnis yang salah ditandai.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Parameter
connectListing
Tautkan lokasi ke profil bisnis dari akun Google atau Facebook yang terhubung. Gunakan metode ini setelah menghubungkan akun dan menemukan profil bisnis yang sesuai.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Parameter
disconnectListing
Putuskan tautan lokasi dari profil bisnisnya di Google atau Facebook. Nama situs diubah menjadi huruf kapital secara otomatis, sehingga 'google' dan 'GOOGLE' sama-sama dapat digunakan.
await client.disconnectListing(16808, 'GOOGLE');Parameter
createGmbListing
Buat profil bisnis di Google Business Profile untuk lokasi yang sudah ada, menggunakan akun Google yang terhubung.
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',});Parameter
Alur kerja audit yang umum
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');}Referensi terkait
- Lokasi: cari ID lokasi
- Penanganan kesalahan: kesalahan bertipe yang dilempar oleh setiap metode
- Kasus penggunaan: panduan audit profil bisnis