skip to Main Content

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


  1. 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.

    Login or Signup to reply.
  2. The problem is the way the headers are defined, it should be a standard array, not an associative array. See below for correct format:

    $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'
    

    );

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search