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.

TypeScript
// 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

ParametreTürAçıklama
firstnumberİleri yönde sayfalama için sayfa boyutu.
afterstringÖnceki bir pageInfo.endCursor değerinden alınan imleç.
beforestringGeri yönde sayfalama için imleç.
lastnumberGeri yönde sayfalama için sayfa boyutu.
fetchAllbooleanSayfaları otomatik olarak getirin ve düz bir Location[] döndürün.
pageSizenumberfetchAll değeri true olduğunda dahili olarak kullanılan sayfa boyutu (varsayılan: 100).

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.

TypeScript
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.

TypeScript
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.

TypeScript
// 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:

ParametreTürAçıklama
fieldsstring[]Aramayı belirli alanlarla sınırlayın.

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.

TypeScript
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.

TypeScript
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.

TypeScript
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.

TypeScript
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.

TypeScript
// 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:

TypeScript
import { encodeLocationId } from 'listingsapi-js'; encodeLocationId(16808);                  // 'TG9jYXRpb246MTY4MDg='encodeLocationId('16808');                // 'TG9jYXRpb246MTY4MDg='encodeLocationId('TG9jYXRpb246MTY4MDg='); // unchanged