Yorumlar

listingsapi-js SDK ile yorumları alın, yanıtlayın ve analiz edin.

Yorumlar (API'de "interactions" olarak adlandırılır), Google, Facebook ve Yelp'ten toplanan yıldız puanları ve serbest biçimli geri bildirimlerdir. Tüm yorum metotları ListingsAPI istemci örneğinde bulunur. Sunucu tarafında başarısız olan yazma işlemleri ValidationError istisnası oluşturur; bu nedenle dönüş değerlerindeki success bayraklarını kontrol etmeniz gerekmez.

fetchInteractions

İsteğe bağlı filtreler ve imleç tabanlı sayfalama ile bir konumun yorumlarını alın. Sayısal konum kimlikleri otomatik olarak kodlanır.

TypeScript
// Single pageconst result = await client.fetchInteractions(16808, {first:         25,startDate:     '2026-01-01',endDate:       '2026-06-30',ratingFilters: [1, 2],}); if (!Array.isArray(result)) {console.log(result.interactions);   // Interaction[]console.log(result.totalCount);     // number | undefinedconsole.log(result.pageInfo);       // { hasNextPage, hasPreviousPage, startCursor, endCursor }} // All reviews at once, returns a flat Interaction[]const all = await client.fetchInteractions(16808, {fetchAll:  true,startDate: '2026-01-01',});

Seçenekler

ParametreTürAçıklama
firstnumberİleri sayfalama için sayfa boyutu.
afterstringÖnceki bir pageInfo.endCursor değerinden alınan imleç.
beforestringGeriye doğru sayfalama için imleç.
lastnumberGeriye doğru sayfalama için sayfa boyutu.
fetchAllbooleanOtomatik sayfalama yapın ve düz bir Interaction[] döndürün.
pageSizenumberfetchAll değeri true olduğunda dahili olarak kullanılan sayfa boyutu (varsayılan: 100).
startDatestringAlt sınır, YYYY-MM-DD.
endDatestringÜst sınır, YYYY-MM-DD.
categorystringEtkileşim kategorisi filtresi.
siteUrlsstring[]Belirli dizinlerle sınırlayın, e.g. ['maps.google.com'].
ratingFiltersnumber[]Dahil edilecek yıldız puanları, e.g. [1, 2].

Dönüş değeri

fetchAll olmadan, bir InteractionResponse nesnesi: success, interactions (Interaction[]), pageInfo (hasNextPage, hasPreviousPage, startCursor, endCursor), API bildirdiğinde totalCount ve raw (ayrıştırılmamış veri). fetchAll: true ile düz bir Interaction[]. Her Interaction; id, content, rating, siteName, siteUrl, reviewerName, publishedAt, category ve responses içerir.

fetchReviewDetails

Etkileşim kimliğine göre belirli yorumların ayrıntılı bilgilerini alın. Girdi dizisi boşsa işlem hemen sonlanır ve ağ çağrısı yapılmadan boş bir nesne döndürülür.

TypeScript
const details = await client.fetchReviewDetails(['interaction-uuid-1','interaction-uuid-2',]);

respondToReview

Bir yoruma yanıt gönderin. Yanıtın kaynak dizine iletilmesi eşzamansız olarak gerçekleşir.

TypeScript
await client.respondToReview('interaction-uuid','Thank you for the feedback! We hope to see you again soon.',);
ParametreTürAçıklama
interactionIdstringYorumun etkileşim kimliği.
responseContentstringYayımlanacak yanıt metni.

editReviewResponse

Mevcut bir yanıtı düzenleyin.

TypeScript
await client.editReviewResponse('review-uuid','response-uuid','Updated response text.',);
ParametreTürAçıklama
reviewIdstringYanıtın ait olduğu yorum.
responseIdstringDüzenlenecek yanıt.
responseContentstringYeni yanıt metni.

archiveReviewResponse

Bir yanıtı arşivleyin (gizleyin).

TypeScript
await client.archiveReviewResponse('response-uuid');

Yorum analitiği

Üç analitik metodunun tümü bir konum kimliği ve isteğe bağlı bir { startDate, endDate } aralığı (YYYY-MM-DD) alır ve yapısı uç noktaya göre değişen bir ReviewAnalytics nesnesi döndürür.

fetchReviewAnalyticsOverview

Bir tarih aralığı için genel istatistikler: konumun puan ve yorum sayısı özetleri.

TypeScript
const overview = await client.fetchReviewAnalyticsOverview(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});console.log(overview);

fetchReviewAnalyticsTimeline

Grafik oluşturmaya uygun, zamana göre yorum sayıları ve puanları.

TypeScript
const timeline = await client.fetchReviewAnalyticsTimeline(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});

fetchReviewAnalyticsSitesStats

Yorumların kaynak siteye göre dağılımı (Google, Facebook, Yelp).

TypeScript
const siteStats = await client.fetchReviewAnalyticsSitesStats(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});

fetchReviewPhrases

Bir tarih aralığında bir veya daha fazla konum için ifade ve duygu analizi. Tek bir seçenek nesnesi alır; locationIds zorunludur ve liste boşsa ağ çağrısı yapılmadan [] döndürülür.

TypeScript
const phrases = await client.fetchReviewPhrases({locationIds: ['TG9jYXRpb246MTY4MDg=', 'TG9jYXRpb246MTY4MDk='],startDate:   '2026-01-01',endDate:     '2026-06-30',siteUrls:    ['maps.google.com'],}); for (const p of phrases) {console.log(p.phrase, p.count, p.sentiment);}

Seçenekler

ParametreTürZorunluAçıklama
locationIdsstring[]EvetBase64 ile kodlanmış konum kimlikleri.
startDatestringHayırAlt sınır, YYYY-MM-DD.
endDatestringHayırÜst sınır, YYYY-MM-DD.
siteUrlsstring[]HayırBelirli dizinlerle sınırlayın.

Yorum ayarları

fetchReviewSettings

Bir konumun yorum kaynağı ayarlarını alın.

TypeScript
const settings = await client.fetchReviewSettings(16808);console.log(settings);

editReviewSettings

Bir konum için takip edilen yorum kaynağı URL'lerini ayarlayın veya güncelleyin. Her kayıt, bir name ve bir url içeren bir ReviewSiteUrl nesnesidir.

TypeScript
await client.editReviewSettings(16808, [{ name: 'Google', url: 'https://www.google.com/maps/place/acme-dental' },{ name: 'Yelp',   url: 'https://www.yelp.com/biz/acme-dental-new-york' },]);
ParametreTürAçıklama
locationIdstring | numberSayısal kimlikler otomatik olarak kodlanır.
siteUrlsReviewSiteUrl[]Her yorum kaynağı için { name, url } kayıtları.

fetchReviewSiteConfig

Hesap genelinde kullanılabilecek yorum kaynaklarının listesini alın. Argüman almaz ve bir ReviewSiteConfig[] döndürür.

TypeScript
const config = await client.fetchReviewSiteConfig();