SYNOPSIS
WebService::Walmart - Generic API to Walmart Labs Open API
DESCRIPTION
WebService::Walmart is an experimental Perl interface to the Walmart Open API. While this module will attempt to implement the full API, the Walmart API is in heavy development, and this module is still figuring out how to implement it.
In order to use the API, you will need to sign up for an account and get an API key located at https://developer.walmartlabs.com/
NOTE: This is an EXPERIMENTAL release. The methods are subject to change. Walmart will most likely change their data structures as they implement more of the API.
In order to use the methods below, you will first need to create an instance of this module to work with.
my $walmart = WebService::Walmart->new(
api_key => '123456781234567812345678',
format => 'json',
debug => 0,
);
METHODS
Every method in this module currently throws a fatal exception WebService::Walmart::Exception on failure. You will either want to wrap method calls with an eval statement or use something like Try::Tiny or Try::Catch.
stores
my @stores = $walmart->stores(
lat => 'latitude',
lon => 'longitude',
city => 'City Name',
zip => zipcode,
);
Search the API for stores with the criteria supplied and return an array containing objects of WebService::Walmart::Store for stores based upon Latitude/Longitude, City Name, or Zipcode. More information on the response data can be found at https://developer.walmartlabs.com/docs/read/Store_Locator_API
Example:
my @stores = $walmart->stores( zip=> 72716);
print $stores[0]->phoneNumber;
items
my $item = $walmart->item( id => itemid);
This method will search for an item based upon ID and return a scalar object containing WebService::Walmart::Item.
Example:
my $item = $walmart->items( id => 42608121);
print $item->name;
reviews
$walmart->reviews(
id => itemid
);
This method will retrieve the reviews for an item based up on ID and return an array of WebService::Walmart::Review. Example:
my @reviews = $walmart->reviews({ id => '42608121'});
print $review[0]->name;
search
$walmart->search(
query => 'string', # a string to search for
categoryId => 1234, # a Category ID to search for. This should match the ID in the WebService::Walmart::Taxonomy package
facet => 'string', # enable facets
facet.filter => 'string', # filter to apply to the facets
);
This method will search for items and return an array of Webservice::Walmart::Item. Example:
my @items = $walmart->search({ query => 'ipod'});
print "the first item has ". $search[0]->numReviews . " reviews to read!\n";
vod
$walmart->vod();
This method will return the value of the day in scalar format. It will return a WebService::Walmart::Item object. Example:
my $vod = $walmart->vod();
print "Today's Value of the Day is ". $vod->name . "\n";
trends
$walmart->trends();
Returns trending items on Walmart.com. This will be an array of WebService::Walmart::Item objects. Example:
my @trends = $walmart->trends();
print "The big name in today's trends are ". $_->name . "\n" foreach @trends
taxonomy
$walmart->taxonomy();
Returns a WebService::Walmart::Taxonomy objects as an array. This is how Walmart.com categorizes items. Example:
my @taxonomy = $walmart->taxonomy();
use Data::Dumper;
print Dumper @taxonomy;
BUGS
There will likely be many. Please file a report and I'll fix it as soon as possible.
SEE ALSO
https://developer.walmartlabs.com/