#!/usr/bin/perl -w
use strict;
##### /home/reto/perl/ebay @ primus
require 'ebay.ini';
my %INI = getIni();
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Headers;
my $objUserAgent = LWP::UserAgent->new;
my $objHeader = HTTP::Headers->new;
$objHeader->push_header('X-EBAY-API-COMPATIBILITY-LEVEL' => '483');
$objHeader->push_header('X-EBAY-API-DEV-NAME' => $INI{'EBAY-API-DEV-NAME'});
$objHeader->push_header('X-EBAY-API-APP-NAME' => $INI{'EBAY-API-APP-NAME'});
$objHeader->push_header('X-EBAY-API-CERT-NAME' => $INI{'EBAY-API-CERT-NAME'});
$objHeader->push_header('X-EBAY-API-CALL-NAME' => 'GetItem');
$objHeader->push_header('X-EBAY-API-SITEID' => '0');
$objHeader->push_header('Content-Type' => 'text/xml');
# Note: There is a typer on eBay's documentation at URL
# http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/io_GetItem.html
# The correct call name is "GetItem" and *NOT* "GetItemRequest" :-(
my $request = "
4503882350
ItemReturnAttributes
$INI{'EBAY-AUTH-TOKEN'}
";
my $objRequest = HTTP::Request->new("POST", 'https://api.sandbox.ebay.com/ws/api.dll',
$objHeader, $request);
my $objResponse = $objUserAgent->request($objRequest);
if (!$objResponse->is_error) {
# Re-format XML output for better screen reading
(my $content = $objResponse->content) =~ s/\<\//\<\//g;
foreach (split /\, $content) {
next unless $_;
s/\</\error_as_HTML, "\n"; }
__END__
Example 100-1 GetItem Input Sample
ABC...123
4036159998
Example 100-3 Sample GetItem Request for a Book Listing
ItemReturnAttributes
150025916007
YOURTOKENHERE
http://developer.ebay.com/DevZone/XML/docs/WebHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?context=eBay_XML_API&topic=GetItem