إدراجات الأنشطة التجارية

اجلب إدراجات الأنشطة التجارية المميزة والصوتية والمكررة في الأدلة، وأدِر إخفاء المكررة، واربط الملفات الشخصية باستخدام حزمة SDK listingsapi-js.

تمثّل إدراجات الأنشطة التجارية وجود الموقع في الأدلة المختلفة (Google وYelp وBing وAlexa وSiri وغيرها). تتوفر جميع دوال إدراجات الأنشطة التجارية في نسخة العميل ListingsAPI، ويقتصر نطاقها على معرّف موقع. تُرمَّز معرّفات المواقع الرقمية تلقائيًا، لذا يمكن استخدام 16808 و'TG9jYXRpb246MTY4MDg=' بالتبادل.

fetchPremiumListings

اجلب إدراجات الأنشطة التجارية الخاصة بموقع في الأدلة المميزة: Google وYelp وFacebook وبقية شبكة الأدلة الأساسية. تُرجع هذه الدالة مصفوفة من كائنات Listing تتضمن حقولًا مثل id وsite وsyncStatus وdisplayStatus وlistingUrl.

TypeScript
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}

تشمل القيم المحتملة للحقل syncStatus القيم SYNCED وPENDING وERROR وNOT_CONNECTED.

fetchVoiceListings

اجلب إدراجات الأنشطة التجارية لدى المساعدات الصوتية: Google Assistant وAmazon Alexa وApple Siri وما شابهها من مساعدات. تُرجع هذه الدالة مصفوفة من كائنات VoiceListing تتضمن حقولًا مثل name وvoiceIdentifier وsyncStatus.

TypeScript
const voice = await client.fetchVoiceListings(16808); console.log(voice.length + ' voice listings');for (const v of voice) {console.log(v.name, v.syncStatus);}

fetchDuplicateListings

اجلب إدراجات الأنشطة التجارية المكررة التي اكتُشفت لموقع محدد. تُرجع هذه الدالة مصفوفة من كائنات DuplicateListing تتضمن حقولًا مثل id وsite وlistingUrl.

TypeScript
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}

fetchAllDuplicateListings

اجلب تجميعًا لإدراجات الأنشطة التجارية المكررة في جميع المواقع ضمن الحساب، مع إمكانية التصفية حسب الوسم وتقسيم النتائج إلى صفحات. بخلاف fetchDuplicateListings، تُرجع هذه الدالة كائنًا تجميعيًا بدلًا من مصفوفة بسيطة.

TypeScript
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });

الخيارات

المعاملالنوعالوصف
tagstringتصفية النتائج لتقتصر على المواقع التي تحمل هذا الوسم.
pagenumberرقم الصفحة (يبدأ الترقيم من 1).

markListingsAsDuplicate

علِّم عنصرًا واحدًا أو أكثر من عناصر إدراجات الأنشطة التجارية الخاصة بموقع على أنها مكررة. ستحاول المنصة إخفاء الملفات التعريفية المعلَّمة.

TypeScript
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);

المعاملات

المعاملالنوعالوصف
locationIdstring | numberالموقع الذي تنتمي إليه عناصر إدراجات الأنشطة التجارية.
listingItemIdsstring[]معرّفات عناصر إدراجات الأنشطة التجارية المراد تعليمها.

لا توجد علامة نجاح يمكن التحقق منها. إذا رفضت المنصة عملية الكتابة، يطرح العميل خطأً من نوع ValidationError، لذا فإن اكتمال الوعد بنجاح يعني نجاح العملية.

markListingsAsNotDuplicate

أزل علامة التكرار عن عناصر إدراجات الأنشطة التجارية التي عُلِّمت بالخطأ.

TypeScript
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);

المعاملات

المعاملالنوعالوصف
locationIdstring | numberالموقع الذي تنتمي إليه عناصر إدراجات الأنشطة التجارية.
listingItemIdsstring[]معرّفات عناصر إدراجات الأنشطة التجارية المراد إزالة العلامة عنها.

connectListing

اربط موقعًا بإدراج نشاط تجاري من حساب Google أو Facebook متصل. استخدم هذه الدالة بعد توصيل الحساب والعثور على إدراج النشاط التجاري المطابق.

TypeScript
await client.connectListing(16808,'connected-listing-id','connected-account-id',);

المعاملات

المعاملالنوعالوصف
locationIdstring | numberالموقع المراد ربطه.
connectedAccountListingIdstringمعرّف إدراج النشاط التجاري من الحساب المتصل.
connectedAccountIdstringمعرّف حساب Google أو Facebook المتصل.

disconnectListing

افصل ارتباط موقع بإدراج النشاط التجاري الخاص به على Google أو Facebook. يُحوَّل اسم الموقع الإلكتروني إلى أحرف كبيرة تلقائيًا، لذا يمكن استخدام كلٍّ من 'google' و'GOOGLE'.

TypeScript
await client.disconnectListing(16808, 'GOOGLE');

المعاملات

المعاملالنوعالوصف
locationIdstring | numberالموقع المراد فصل ارتباطه.
sitestringالدليل المراد قطع الاتصال به، مثل 'GOOGLE' أو 'FACEBOOK'.

createGmbListing

أنشئ إدراج نشاط تجاري على Google Business Profile لموقع موجود، باستخدام حساب Google متصل.

TypeScript
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',});

المعاملات

المعاملالنوعالوصف
locationIdstring | numberالموقع المراد إنشاء إدراج النشاط التجاري له.
connectedAccountIdstringمعرّف حساب Google المتصل.
options.folderIdstringمجلد اختياري لإنشاء إدراج النشاط التجاري فيه.

سير عمل نموذجي للتدقيق

listings_audit.ts
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');}