Walmart io API용 Python 래퍼입니다. 현재는 Affiliate API만 지원합니다. 이 프로젝트는 기여에 열려 있습니다.
WIOpy를 다운로드하려면 이 github 저장소를 포크하거나 pip를 통해 Pypi를 사용하세요.
핍 설치 WIOpy
패키지를 업그레이드하려면 간단히 다음을 실행하십시오.
pip install WIOpy --업그레이드
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", )데이터 = walmart_io.product_lookup('33093101')[0]
WIOpy는 비동기 호출도 지원합니다. 사용하려면 모든 것이 동일하지만 호출을 기다려야 하며 생성된 개체가 다릅니다.
from wiopy import AsyncWalmartIOasync_walmart_io = AsyncWalmartIO(...)data = wait async_walmart_io.product_lookup('33093101')[0]
API를 호출하면 객체가 반환됩니다. 해당 객체는 반환된 JSON의 객체 버전입니다.
객체에서 정보를 얻는 방법에는 두 가지가 있습니다.
data.name
data['name']
반환된 객체와 그렇지 않은 객체의 예(검토/검색은 반환된 변수입니다):
review.reviewStatistics.averageOverallRating
# 중첩 호출
search.facets
# 이제 객체가 아닌 dict처럼 사용할 수 있는 dict를 반환합니다.
일부 속성은 Walmart의 문서가 부족하여 개체가 아닌 사전을 반환합니다.
WalmartResponse
에서 속성을 가져올 때 response
또는 None
반환합니다. 그러나 None
속성을 얻으려고 하면 여전히 오류가 발생합니다. 통화 및 응답에 대한 추가 세부정보입니다. 그러나 문서는 일관성이 없으며 응답 스키마와 같은 일반적인 관행이 부족합니다. 이것이 문서에서 응답에 있지만 포함할 데이터 유형이 표시되지 않기 때문에 검색 패싯 응답과 같은 항목이 누락된 이유입니다.
응답이 누락되었거나 응답이 개체로 변환되지 않을 수 있지만 WalmartResponse를 확인하여 응답이 무엇을 반환할지 알아보세요. 일부 속성은 응답에 항상 존재하는 것은 아닙니다.
카탈로그 제품 API를 사용하면 개발자가 페이지를 매긴 방식으로 제품 카탈로그를 검색할 수 있습니다. 카탈로그는 카테고리, 브랜드 및/또는 롤백, 정리 등과 같은 특별 제안별로 필터링할 수 있습니다.
데이터 = walmart_io.catalog_product(category='3944', maxId='8342714')
카탈로그 응답에는 카테고리, 형식, nextPage, totalPages 및 항목 목록이 포함됩니다.
검색된 제품 게시 API를 사용하면 제품 조회 기록을 기반으로 누군가에게 제품을 추천할 수 있습니다.
데이터 = walmart_io.post_browsed_products('54518466')
응답은 주어진 ID와 관련된 상위 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, retries=3)for items in data:for item in items:print(item)
응답은 WalmartProducts 생성기를 제공합니다.
비동기 생성기에 익숙하지 않은 경우; 비동기 버전을 올바르게 호출하려면 다음을 수행하십시오.
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054')async 데이터 항목에 대해: ...
특정 제품 ID를 기반으로 추천 받기
데이터 = walmart_io.product_recommendation('54518466')
응답은 관련 제품 목록을 제공합니다.
리뷰 API를 사용하면 Walmart.com 사용자가 작성한 Walmart의 광범위한 품목 리뷰에 액세스할 수 있습니다.
데이터 = walmart_io.reviews('33093101')
응답은 리뷰 데이터를 제공합니다
검색 API를 사용하면 Walmart.com 카탈로그에서 텍스트 검색을 할 수 있으며 온라인에서 판매 가능한 일치하는 품목을 반환할 수 있습니다.
# 전자제품 내에서 TV를 검색하고 가격을 높여 정렬합니다:data = walmart_io.search('tv', CategoryId='3944', sort='price', order='ascending')
검색에 패싯을 추가할 수도 있습니다.
데이터 = walmart_io.search('tv', 필터='브랜드:삼성')
검색 응답은 제품 목록과 일부 메타데이터를 제공합니다. facets
요소를 반환하지만 API에는 반환할 수 있는 항목에 대한 세부 정보가 없습니다. 알 수 없는 유형의 목록입니다.
API는 지정된 위치 근처의 가장 가까운 매장 목록을 반환할 수 있습니다. 우편번호 또는 경도/위도
데이터 = walmart_io.stores(lat=29.735577, lon=-95.511747)
분류 서비스는 Walmart.com에서 항목을 분류하는 데 사용되는 분류를 공개합니다.
매개변수에 대한 세부정보가 문서에 없습니다.
데이터 = walmart_io.taxonomy()
Trending Items API는 현재 Walmart.com에서 가장 잘 팔리는 상품에 대한 정보를 제공하도록 설계되었습니다.
데이터 = walmart_io.trending()
WIOpy는 로깅 모듈을 통한 로깅을 지원합니다. 로깅 모듈의 구성은 다음과 같이 간단할 수 있습니다.
import logging.basicConfig(level=logging.INFO)