I am trying to pull a seller list from eBay and every time I run this code, I get the error
The API call “GeteBayOfficialTime” is invalid or not supported in this release
I’m running this on a Mac with Zend Server.
Request in PHP:
define('XML_POST_URL', 'https://api.sandbox.ebay.com/ws/api.dll');
$theData ='
<?xml version="1.0" encoding="utf-8"?>
<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>My Auth Key</eBayAuthToken>
</RequesterCredentials>
<Pagination ComplexType="PaginationType">
<EntriesPerPage>1</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
<WarningLevel>Low</WarningLevel>
<StartTimeFrom>2011-07-12T21:59:59.005Z</StartTimeFrom>
<StartTimeTo>2011-07-30T21:59:59.005Z</StartTimeTo>
<DetailLevel>ReturnAll</DetailLevel>
</GetSellerListRequest>
';
$headers = array(
'Content-Type' => 'text/xml',
'X-EBAY-API-COMPATIBILITY-LEVEL' => '727',
'X-EBAY-API-DEV-NAME' => '03dbea79-6089-4a00-8b3f-3114882e5d07',
'X-EBAY-API-APP-NAME' => 'sarfaraz-6e72-49e2-a7c0-ce2d2a48702b',
'X-EBAY-API-CERT-NAME' => 'd8382047-b425-40d6-8250-bac1497dc510',
'X-EBAY-API-SITEID' => '0',
'X-EBAY-API-CALL-NAME' => 'GetSellerList'
);
/**
* Initialize handle and set options
*/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, XML_POST_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $theData);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
/**
* Execute the request
*/
$result = curl_exec($ch);
/**
* Close the handle
*/
curl_close($ch);
/**
* Output the results and time
*/
header('Content-Type: text/xml');
echo $result;
Response:
<GeteBayOfficialTimeResponse>
<Timestamp>2011-07-29 15:59:21</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Unsupported API call.</ShortMessage>
<LongMessage>The API call "GeteBayOfficialTime" is invalid or not supported in this release.</LongMessage>
<ErrorCode>2</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Build>13564081</Build>
</GeteBayOfficialTimeResponse>
2
Answers
In order to get the correct XML you can use the API test tool. You can also choose which API version you would like to use. Just choose the call you want to make, and you will get the XML. The documentation is often outdated.
The problem is the way the headers are defined, it should be a standard array, not an associative array. See below for correct format:
);