غلاف بيثون لواجهة برمجة تطبيقات Walmart io. يدعم فقط واجهة برمجة التطبيقات التابعة في الوقت الحالي. المشروع مفتوح للمساهمات
لتنزيل WIOpy، قم إما بتقسيم مستودع github هذا أو ببساطة استخدم Pypi عبر النقطة.
نقطة تثبيت WIOpy
لترقية الحزمة ببساطة قم بتشغيل
تثبيت النقطة WIOpy --upgrade
مثال على إنشاء اتصال WIOpy إحدى الملاحظات المهمة هي أنك تحتاج إلى تمرير مسار ملف المفتاح الخاص.
من wiopy import WalmartIOwalmart_io = WalmartIO(private_key_version="1"،private_key_filename="./WM_IO_private_key.pem"،consumer_id='XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'،publisherId="XXXXXXX"، )data = walmart_io.product_lookup('33093101')[0]
يدعم WIOpy أيضًا المكالمات غير المتزامنة. للاستخدام، سيكون كل شيء هو نفسه ولكن يجب عليك انتظار مكالمة ويكون الكائن المُنشأ مختلفًا.
من wiopy import AsyncWalmartIOasync_walmart_io = AsyncWalmartIO(...)data = انتظار async_walmart_io.product_lookup('33093101')[0]
عند إجراء استدعاء لواجهة برمجة التطبيقات (API)، سيتم إرجاع كائن. هذا الكائن هو إصدار كائن من JSON الذي تم إرجاعه.
هناك طريقتان للحصول على معلومات من الكائن:
data.name
data['name']
مثال على كائن تم إرجاعه وكائن ليس كذلك (المراجعة/البحث عبارة عن متغيرات تم إرجاعها):
review.reviewStatistics.averageOverallRating
# مكالمة متداخلة
search.facets
# يعيد الإملاء الذي يمكن استخدامه الآن كإملاء وليس ككائن
ستعيد بعض السمات إملاءً وليس كائنًا بسبب نقص الوثائق من Walmart.
عند الحصول على سمة من WalmartResponse
، فإنها ستُرجع إما response
أو None
. لكن محاولة الحصول على سمة None
ستظل تثير خطأ. تفاصيل إضافية عن المكالمات والردود. ومع ذلك، فإن المستندات غير متناسقة وتفتقر إلى الممارسات النموذجية مثل مخطط الاستجابة. ولهذا السبب فإن شيئًا مثل استجابة جوانب البحث مفقود لأن المستندات تظهر أنه موجود في الاستجابة ولكن ليس نوع البيانات التي سيحتوي عليها.
في حين أنه قد تكون هناك استجابة مفقودة أو لم يتم تحويل الاستجابة إلى كائن، يرجى التحقق من WalmartResponse للحصول على فكرة عما سيعود به الرد. بعض الخصائص ليست موجودة دائمًا في الاستجابة.
تسمح واجهة برمجة تطبيقات منتج الكتالوج للمطور باسترداد كتالوج المنتجات بطريقة مرقّمة. يمكن تصفية الكتالوج حسب الفئة والعلامة التجارية و/أو أي عروض خاصة مثل التراجع والتخليص وما إلى ذلك.
البيانات = walmart_io.catalog_product(category='3944', maxId='8342714')
تحتوي استجابة الكتالوج على الفئة والتنسيق والصفحة التالية وإجمالي الصفحات وقائمة العناصر
تسمح لك واجهة برمجة تطبيقات المنتجات التي تم تصفحها بالتوصية بالمنتجات لشخص ما بناءً على سجل عرض المنتج الخاص به.
البيانات = walmart_io.post_browsed_products('54518466')
تعطي الاستجابة أهم 10 عناصر ذات صلة بالمعرف المحدد
هناك طريقتان للبحث عن منتج، الأولى هي تمرير سلسلة واحدة فيه
البيانات = walmart_io.product_lookup('33093101')[0]
أو يمكنك تمرير قائمة السلاسل
data = walmart_io.product_lookup('33093101, 54518466, 516833054')data = walmart_io.product_lookup(['33093101', '54518466', '516833054'])
تذكر: يُرجع Product_lookup دائمًا قائمة بمنتجات Walmart
bulk_product_lookup
يشبه product_lookup
، ومع ذلك، فإن الإصدار المجمع لا يثير أخطاء وهو منشئ.
يتم تمرير العناصر كأجزاء بحجم أقصى 20. إذا حدث خطأ في تلك المكالمة، فستتم إعادة محاولة نفس المكالمة بناءً على المبلغ المحدد. في حالة استمرار حدوث الخطأ، سيتم فقدان كافة العناصر. لكن المكالمة بأكملها لن تضيع.
data = walmart_io.bulk_product_lookup('33093101, 54518466, 516833054', المبلغ=1, إعادة المحاولة=3) للعناصر الموجودة في البيانات: للعنصر في العناصر:print(item)
الاستجابة تعطي منشئ منتجات Walmart
إذا لم تكن معتادًا على المولدات غير المتزامنة؛ لاستدعاء الإصدار غير المتزامن بشكل صحيح:
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054') غير متزامن للعناصر الموجودة في البيانات: ...
احصل على توصيات بناءً على معرف منتج معين
البيانات = walmart_io.product_recommendation('54518466')
الرد يعطي قائمة بالمنتجات ذات الصلة
تمنحك واجهة برمجة تطبيقات المراجعات إمكانية الوصول إلى مراجعات العناصر الشاملة على Walmart والتي كتبها مستخدمو Walmart.com
البيانات = walmart_io.reviews('33093101')
الاستجابة تعطي بيانات المراجعة
تسمح واجهة برمجة تطبيقات البحث بالبحث عن النص في كتالوج Walmart.com وإرجاع العناصر المطابقة المتاحة للبيع عبر الإنترنت.
# ابحث عن التلفزيون ضمن الإلكترونيات وقم بالفرز حسب الزيادة السعر:data = walmart_io.search('tv', CategoryId='3944',sort='price', order='ascending')
يمكنك أيضًا إضافة جوانب إلى بحثك
البيانات = walmart_io.search('tv', filter='العلامة التجارية:Samsung')
تقدم استجابة البحث قائمة بالمنتجات وبعض البيانات التعريفية. تقوم بإرجاع عنصر facets
ولكن لا توجد تفاصيل في واجهة برمجة التطبيقات حول ما يمكن أن تُرجعه. إنها قائمة من نوع غير معروف
يمكن لواجهة برمجة التطبيقات (API) إرجاع قائمة بأقرب المتاجر القريبة من موقع محدد. إما الرمز البريدي أو خط الطول/خط العرض
البيانات = walmart_io.stores (خط العرض = 29.735577، خط الطول = -95.511747)
تكشف خدمة التصنيف عن التصنيف المستخدم لتصنيف العناصر على موقع Walmart.com.
التفاصيل حول المعلمات مفقودة من المستندات
البيانات = walmart_io.taxonomy()
تم تصميم Trending Items API لتقديم معلومات حول ما هو الأكثر مبيعًا على Walmart.com في الوقت الحالي.
البيانات = walmart_io.trending()
يدعم WIOpy التسجيل عبر وحدة التسجيل. يمكن أن يكون تكوين وحدة التسجيل بسيطًا مثل:
استيراد logging.basicConfig(level=logging.INFO)