Konumlar
listingsapi-js SDK'sı ile işletme konumlarını listeleyin, arayın, oluşturun, güncelleyin ve arşivleyin.
Konumlar, Listings API'nin temel varlığıdır: her işletme kaydı, yorum, analiz kaydı ve gönderi bir konuma bağlıdır. Tüm konum metotları ListingsAPI istemci örneğinde bulunur.
fetchAllLocations
Hesaptaki konumları imleç tabanlı sayfalama ile listeleyin. locations, pageInfo, success ve raw API yanıt verilerini içeren bir nesne döndürür. fetchAll: true kullanıldığında sayfaları otomatik olarak getirir ve bunun yerine düz bir Location[] döndürür.
// Single pageconst page = await client.fetchAllLocations({ first: 25 });if (!Array.isArray(page)) {console.log(page.locations); // Location[]console.log(page.pageInfo); // { hasNextPage, hasPreviousPage, startCursor, endCursor, total? } // Next pageconst next = await client.fetchAllLocations({ first: 25, after: page.pageInfo.endCursor!,});} // All pages at once, returns Location[]const all = await client.fetchAllLocations({ fetchAll: true, pageSize: 100 });Seçenekler
fetchLocationsByIds
Belirli konumları ID'lerine göre getirin. Sayısal ID'leri veya base64 ile kodlanmış ID'leri kabul eder ve düz bir Location[] döndürür. Girdi dizisi boşsa istek göndermeden [] döndürür.
const locations = await client.fetchLocationsByIds([16808, 16809, 'TG9jYXRpb246MTY4MTA=']);console.log(locations); // Location[]fetchLocationsByStoreCodes
Verilen mağaza kodlarıyla eşleşen konumları getirin. Düz bir Location[] döndürür; girdi dizisi boşsa istek göndermeden [] döndürür.
const locations = await client.fetchLocationsByStoreCodes(['AD-SF-001', 'AD-NY-001']);searchLocations
Konumları ad, adres ve mağaza ID'si alanlarında anahtar kelimeyle arayın. fetchAllLocations ile aynı sayfalanmış yapıyı döndürür ve fetchAll seçeneğini aynı şekilde destekler.
// Single pageconst result = await client.searchLocations('Brooklyn', { first: 20 });if (!Array.isArray(result)) {console.log(result.locations, result.pageInfo);} // All matching results, returns Location[]const all = await client.searchLocations('Brooklyn', { fetchAll: true }); // Restrict which fields are searchedconst byName = await client.searchLocations('Acme Dental', { fields: ['name'] });Seçenekler
fetchAllLocations metodundaki tüm sayfalama seçeneklerine ek olarak:
createLocation
Yeni bir konum oluşturun. API, name, en az 200 karakter uzunluğunda bir description, bir subCategoryId, countryIso ve city gerektirir. Oluşturulan konumu içeren yanıt verilerini döndürür; API girdiyi reddederse istemci bunun yerine bir ValidationError fırlatır, dolayısıyla kontrol edilecek bir başarı bayrağı yoktur.
const result = await client.createLocation({name: 'Acme Dental',description: 'Acme Dental is a family-owned dental practice offering cleanings, ' + 'checkups, fillings, crowns, and cosmetic dentistry for patients of all ' + 'ages. Our gentle, experienced team uses modern digital imaging and ' + 'same-day scheduling to make every visit fast and comfortable.',subCategoryId: 1432,countryIso: 'US',city: 'San Francisco',street: '2100 Mission St',stateIso: 'CA',postalCode: '94110',phone: '4155550100',storeId: 'AD-SF-003',});console.log(result.location.id);updateLocation
Mevcut bir konumun bir veya daha fazla alanını güncelleyin. Konumun id değerini ve değiştirilecek alanları iletin. Sayısal ID'ler otomatik olarak kodlanır.
await client.updateLocation({id: 16808,phone: '4155550199',name: 'Acme Dental Mission District',});archiveLocations
Bir veya daha fazla konumu arşivleyin. Arşivlenen konumların dizinlerle senkronizasyonu durur.
await client.archiveLocations([16808, 16809]);cancelArchiveLocations
Verilen konumlar için planlanan arşivlemeyi iptal edin. Konum ID'lerini, bir selectionType ve bir changedBy tanımlayıcısını sıralı argümanlar olarak alır.
await client.cancelArchiveLocations([16808],'manual', // selectionType'ops@example.com', // changedBy);ID kodlama
Her konum metodu sayısal bir ID veya base64 ile kodlanmış bir ID kabul eder. SDK, sayısal ID'leri (ve sayısal dizeleri) Location:<id> biçimini kullanarak otomatik olarak kodlar; zaten kodlanmış değerler olduğu gibi aktarılır.
// These are equivalentawait client.fetchLocationsByIds([16808]);await client.fetchLocationsByIds(['TG9jYXRpb246MTY4MDg=']);Kodlanmış biçime doğrudan ihtiyaç duyarsanız kodlayıcı da dışa aktarılır:
import { encodeLocationId } from 'listingsapi-js'; encodeLocationId(16808); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('16808'); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('TG9jYXRpb246MTY4MDg='); // unchangedİlgili kaynaklar
- İşletme kayıtları, konum başına dizin senkronizasyon durumu
- Yorumlar, konum başına yorum listesi ve analizler
- Analizler, konum başına Google, Bing, Facebook istatistikleri