Wrapper หลามสำหรับ Walmart io API ขณะนี้รองรับเฉพาะ Affiliate API เท่านั้น โครงการนี้เปิดให้มีส่วนร่วม
หากต้องการดาวน์โหลด WIOpy ให้แยก repo github นี้หรือใช้ Pypi ผ่าน pip
pip ติดตั้ง WIOpy
หากต้องการอัพเกรดแพ็คเกจเพียงแค่เรียกใช้
pip ติดตั้ง WIOpy --upgrade
ตัวอย่างของการสร้างการเชื่อมต่อ WIOpy หมายเหตุสำคัญประการหนึ่งคือคุณต้องส่งผ่าน เส้นทาง ไฟล์คีย์ส่วนตัว
จากการนำเข้า wiopy WalmartIOwalmart_io = WalmartIO(private_key_version="1",private_key_filename="./WM_IO_private_key.pem",consumer_id='XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',publisherId="XXXXXXX", )ข้อมูล = walmart_io.product_lookup('33093101')[0]
WIOpy ยังรองรับการโทรแบบอะซิงโครนัสด้วย หากต้องการใช้งาน ทุกอย่างจะเหมือนเดิมแต่คุณต้องรอสายและวัตถุที่สร้างขึ้นจะแตกต่างออกไป
จากการนำเข้า wiopy AsyncWalmartIOasync_walmart_io = AsyncWalmartIO(...)data = รอ async_walmart_io.product_lookup('33093101')[0]
เมื่อทำการเรียกไปยัง API ออบเจ็กต์จะถูกส่งคืน ออบเจ็กต์นั้นเป็นเวอร์ชันออบเจ็กต์ของ JSON ที่ส่งคืน
มีสองวิธีในการรับข้อมูลจากออบเจ็กต์:
data.name
data['name']
ตัวอย่างของวัตถุที่ส่งคืนและวัตถุที่ไม่ใช่ (การตรวจสอบ/การค้นหาเป็นตัวแปรที่ส่งคืน):
review.reviewStatistics.averageOverallRating
# การโทรที่ซ้อนกัน
search.facets
# คืน dict ที่ตอนนี้สามารถใช้ได้เหมือน dict ไม่ใช่ object
แอตทริบิวต์บางอย่างจะส่งคืนคำสั่งและไม่ใช่ออบเจ็กต์เนื่องจากไม่มีเอกสารประกอบจาก Walmart
เมื่อรับแอตทริบิวต์จาก WalmartResponse
ระบบจะส่งคืน response
กลับหรือ None
แต่การพยายามรับแอตทริบิวต์เป็น None
จะยังคงทำให้เกิดข้อผิดพลาด รายละเอียดเพิ่มเติมเกี่ยวกับการโทรและการตอบกลับ อย่างไรก็ตาม เอกสารไม่สอดคล้องกันและขาดแนวทางปฏิบัติทั่วไป เช่น สคีมาการตอบสนอง นั่นคือสาเหตุที่บางอย่างเช่นการตอบกลับด้านการค้นหาหายไป เนื่องจากเอกสารแสดงว่าอยู่ในการตอบกลับ แต่ไม่ใช่ว่าจะมีข้อมูลประเภทใด
แม้ว่าการตอบกลับอาจหายไปหรือการตอบกลับที่ไม่ได้แปลงเป็นออบเจ็กต์ โปรดตรวจสอบ WalmartResponse เพื่อดูว่าการตอบกลับจะกลับมาเป็นอย่างไร คุณสมบัติบางอย่างอาจไม่ปรากฏในการตอบกลับเสมอไป
Catalog Product API ช่วยให้นักพัฒนาสามารถดึงข้อมูลแค็ตตาล็อกผลิตภัณฑ์ในรูปแบบแบ่งหน้าได้ แคตตาล็อกสามารถกรองตามหมวดหมู่ ยี่ห้อ และ/หรือข้อเสนอพิเศษใดๆ เช่น การย้อนกลับ การล้างสต็อก เป็นต้น
ข้อมูล = walmart_io.catalog_product(category='3944', maxId='8342714')
การตอบกลับแค็ตตาล็อกประกอบด้วยหมวดหมู่ รูปแบบ หน้าถัดไป หน้ารวม และรายการต่างๆ
API ผลิตภัณฑ์ที่เรียกดูโพสต์ช่วยให้คุณสามารถแนะนำผลิตภัณฑ์ให้กับบุคคลอื่นโดยพิจารณาจากประวัติการดูผลิตภัณฑ์ของพวกเขา
ข้อมูล = walmart_io.post_browsed_products('54518466')
การตอบกลับจะให้รายการที่เกี่ยวข้อง 10 อันดับแรกแก่รหัสที่ระบุ
มีสองวิธีในการค้นหาผลิตภัณฑ์ วิธีแรกคือการส่งผ่านสตริงเดียว
ข้อมูล = walmart_io.product_lookup('33093101')[0]
หรือคุณสามารถส่งรายการสตริงได้
ข้อมูล = walmart_io.product_lookup('33093101, 54518466, 516833054')data = walmart_io.product_lookup(['33093101', '54518466', '516833054'])
ข้อควรจำ: product_lookup จะส่งคืนรายการ WalmartProducts เสมอ
bulk_product_lookup
คล้ายกับ product_lookup
อย่างไรก็ตาม เวอร์ชันจำนวนมากไม่ทำให้เกิดข้อผิดพลาด และเป็นตัวสร้าง
รายการจะถูกส่งผ่านเป็นชิ้นขนาดสูงสุด 20 หากมีข้อผิดพลาดเกิดขึ้นกับการโทรนั้น การโทรเดิมจะถูกลองอีกครั้งตามจำนวนเงินที่กำหนด หากยังคงเกิดข้อผิดพลาด รายการทั้งหมดจะสูญหาย แต่การโทรทั้งหมดจะไม่สูญหาย
data = walmart_io.bulk_product_lookup('33093101, 54518466, 516833054', amount=1, retry=3)for items in data:for item in items:print(item)
การตอบสนองให้กำเนิดของ WalmartProducts
หากคุณไม่คุ้นเคยกับตัวสร้างอะซิงก์ เพื่อเรียกเวอร์ชัน async อย่างถูกต้อง:
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054')async สำหรับรายการในข้อมูล: -
รับคำแนะนำตามรหัสผลิตภัณฑ์ที่กำหนด
ข้อมูล = walmart_io.product_recommendation('54518466')
Response แสดงรายการผลิตภัณฑ์ที่เกี่ยวข้อง
API บทวิจารณ์ช่วยให้คุณเข้าถึงบทวิจารณ์รายการต่างๆ มากมายบน Walmart ที่เขียนโดยผู้ใช้ Walmart.com
ข้อมูล = walmart_io.reviews('33093101')
การตอบสนองให้ข้อมูลการตรวจสอบ
Search API อนุญาตให้ค้นหาข้อความในแคตตาล็อก Walmart.com และส่งคืนรายการที่ตรงกันพร้อมจำหน่ายทางออนไลน์
# ค้นหาทีวีในอุปกรณ์อิเล็กทรอนิกส์และจัดเรียงตามการเพิ่มราคา:data = walmart_io.search('tv', categoryId='3944', sort='price', order='ascending')
คุณยังสามารถเพิ่มแง่มุมต่างๆ ในการค้นหาของคุณได้
ข้อมูล = walmart_io.search('tv', filter='brand:Samsung')
การตอบสนองการค้นหาจะแสดงรายการผลิตภัณฑ์และข้อมูลเมตาบางส่วน ส่งคืนองค์ประกอบ facets
แต่ไม่มีรายละเอียดเกี่ยวกับ API ที่สามารถส่งคืนได้ เป็นรายการประเภทที่ไม่รู้จักบางประเภท
API สามารถส่งคืนรายการร้านค้าที่ใกล้ที่สุดใกล้กับตำแหน่งที่ระบุได้ รหัสไปรษณีย์หรือ lon/lat
ข้อมูล = walmart_io.stores(lat=29.735577, lon=-95.511747)
บริการอนุกรมวิธานจะแสดงอนุกรมวิธานที่ใช้ในการจัดหมวดหมู่สินค้าบน Walmart.com
รายละเอียดเกี่ยวกับพารามิเตอร์หายไปจากเอกสาร
ข้อมูล = walmart_io.taxonomy()
Trending Items API ได้รับการออกแบบมาเพื่อให้ข้อมูลเกี่ยวกับสินค้าขายดีบน Walmart.com ในขณะนี้
ข้อมูล = walmart_io.trending()
WIOpy รองรับการบันทึกผ่านโมดูลการบันทึก การกำหนดค่าโมดูลการบันทึกสามารถทำได้ง่ายเพียง:
นำเข้า logginglogging.basicConfig (ระดับ = logging.INFO)