NAME

eBay::API::Simple::Trading - Support for eBay's Trading web service

DESCRIPTION

This class provides support for eBay's Trading web services.

See http://developer.ebay.com/products/trading/

USAGE

my $call = eBay::API::Simple::Trading->new( { 
  appid   => '<your appid>',
  devid   => '<your devid>',
  certid  => '<your certid>',
  token   => '<auth token>',
} );

$call->execute( 'GetSearchResults', { Query => 'shoe' } );

if ( $call->has_error() ) {
   die "Call Failed:" . $call->errors_as_string();
}

# getters for the response DOM or Hash
my $dom  = $call->response_dom();
my $hash = $call->response_hash();

print $call->nodeContent( 'Timestamp' );

my @nodes = $dom->findnodes(
  '//Item'
);

foreach my $n ( @nodes ) {
  print $n->findvalue('Title/text()') . "\n";
}

SANDBOX USAGE

my $call = eBay::API::Simple::Trading->new( { 
  appid   => '<your appid>',
  devid   => '<your devid>',
  certid  => '<your certid>',
  token   => '<auth token>',
  domain  => 'api.sandbox.ebay.com',
} );

$call->execute( 'GetSearchResults', { Query => 'shoe' } );

if ( $call->has_error() ) {
   die "Call Failed:" . $call->errors_as_string();
}

# getters for the response DOM or Hash
my $dom  = $call->response_dom();
my $hash = $call->response_hash();

PUBLIC METHODS

new( { %options } }

Constructor for the Trading API call

my $call = eBay::API::Simple::Trading->new( { 
  appid   => '<your appid>',
  devid   => '<your devid>',
  certid  => '<your certid>',
  token   => '<auth token>',
  ... 
} );

Options

appid (required)

This is required by the web service and can be obtained at http://developer.ebay.com

devid (required)

This is required by the web service and can be obtained at http://developer.ebay.com

certid (required)

This is required by the web service and can be obtained at http://developer.ebay.com

token (required)

This is required by the web service and can be obtained at http://developer.ebay.com

siteid

eBay site id to be supplied to the web service endpoint

defaults to 0

domain

domain for the web service endpoint

defaults to open.api.ebay.com

uri

endpoint URI

defaults to /ws/api.dll

version

Version to be supplied to the web service endpoint

defaults to 543

https

Specifies is the API calls should be made over https.

defaults to 1

enable_attributes

This flag adds support for attributes in the request. If enabled request data notes much be defined like so,

myElement => { content => 'element content', myattr => 'attr value' }

defaults to 0

ALTERNATE CONFIG VIA ebay.yaml

An ebay.yaml file can be used for configuring each service endpoint.

YAML files can be placed at the below locations. The first file found will be loaded.

./ebay.yaml, ~/ebay.yaml, /etc/ebay.yaml 

Sample YAML:

# Trading - External
api.ebay.com:
  appid: <your appid>
  certid: <your certid>
  devid: <your devid>
  token: <token>

# Shopping
open.api.ebay.com:
  appid: <your appid>
  certid: <your certid>
  devid: <your devid>
  version: 671

# Finding/Merchandising
svcs.ebay.com:
  appid: <your appid>
  version: 1.0.0

execute( $verb, $call_data )

 $call->execute( 'GetSearchResults', { Query => 'shoe' } );

This method will construct the API request based on the $verb and the $call_data and then post the request to the web service endpoint.

$verb (required)

call verb, i.e. GetSearchResults

$call_data (required)

hashref of call_data that will be turned into xml.

BASECLASS METHODS

request_agent

Accessor for the LWP::UserAgent request agent

request_object

Accessor for the HTTP::Request request object

request_content

Accessor for the complete request body from the HTTP::Request object

response_content

Accessor for the HTTP response body content

response_object

Accessor for the HTTP::Request response object

response_dom

Accessor for the LibXML response DOM

response_hash

Accessor for the hashified response content

nodeContent( $tag, [ $dom ] )

Helper for LibXML that retrieves node content

errors

Accessor to the hashref of errors

has_error

Returns true if the call contains errors

errors_as_string

Returns a string of API errors if there are any.

PRIVATE METHODS

_validate_response

This is called from the base class. The method is suppose to provide the custom validation code and push to the error stack if the response isn't valid

_get_request_body

This method supplies the request body for the Shopping API call

_get_request_headers

This method supplies the headers for the Shopping API call

_get_request_object

This method creates the request object and returns to the parent class

AUTHOR

Tim Keefer <tim@timkeefer.com>

CONTRIBUTORS

Jyothi Krishnan

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 220:

'=item' outside of any '=over'

Around line 252:

You forgot a '=back' before '=head1'