Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Dec 2006
    Posts
    57
    Thanks
    2
    Thanked 0 Times in 0 Posts

    XML: Assign a variable to TransactionArray.Transaction.TransactionID where user ID =?

    Hello,
    I want to be able to find and assign a PHP variable to the Transaction ID where the UserID is a specified user though Ebays XML API.
    Here is the structure of the replies I get from the XML API; http://developer.ebay.com/DevZone/XM...nsactions.html

    Now, I want to assign a variable to "TransactionArray.Transaction.TransactionID" where the "TransactionArray.Transaction.Buyer.UserID" is a specified user (theventsell in this example).

    I tried with this code;
    PHP Code:
    <?php    
    require_once('functions.php');
    require_once(
    'variables.php');
        
    error_reporting(E_ALL);
        
    //SiteID must also be set in the Request's XML
        //SiteID = 0  (US) - UK = 3, Canada = 2, Australia = 15, ....
        //SiteID Indicates the eBay site to associate the call with
        
    $siteID 0;
        
    //the call being made:
        
    $verb 'GetItemTransactions';
        
    //Regulates versioning of the XML interface for the API
        
    $compatabilityLevel 433;

        
    //get an array of strings containing the required headers
        
    $headers buildEbayHeaders($devID$appID$certID$compatabilityLevel$siteID$verb);
        
        
    ///Build the request Xml string
        
    $requestXmlBody '<?xml version="1.0" encoding="utf-8"?>';
        
    $requestXmlBody .= '<GetItemTransactionsRequest xmlns="urn:ebay:apis:eBLBaseComponents">';
        
    $requestXmlBody .= "<RequesterCredentials><eBayAuthToken>$userToken</eBayAuthToken></RequesterCredentials>";
        
    $requestXmlBody .= '<ItemID>110013682918</ItemID>';
        
    $requestXmlBody .= '<ModTimeFrom>2006-12-25T18:28:52.799Z</ModTimeFrom>';
        
    $requestXmlBody .= '<ModTimeTo>2007-01-10T18:28:52.799Z</ModTimeTo>';
        
    $requestXmlBody .= '</GetItemTransactionsRequest>';
        
        
    $responseXml sendHttpRequest($requestXmlBody$serverUrl$headers);
        if(
    stristr($responseXml'HTTP 404') || $responseXml == '')
            die(
    '<P>Error sending request');
        
        
    //Xml string is parsed and creates a DOM Document object
        
    $responseDoc domxml_open_mem($responseXml);
        
        
    //get any error nodes
        
    $errors $responseDoc->get_elements_by_tagname('Errors');
        
        
    //if there are error nodes
        
    if(count($errors) > 0)
        {
            echo 
    '<P><B>eBay returned the following error(s):</B>';
            
    //display each error
            //Get error code, ShortMesaage and LongMessage
            
    $code $errors[0]->get_elements_by_tagname('ErrorCode');
            
    $shortMsg $errors[0]->get_elements_by_tagname('ShortMessage');
            
    $longMsg $errors[0]->get_elements_by_tagname('LongMessage');
            
    //Display code and shortmessage
            
    echo '<P>'$code[0]->get_content(), ' : 'str_replace(">""&gt;"str_replace("<""&lt;"$shortMsg[0]->get_content()));
            
    //if there is a long message (ie ErrorLevel=1), display it
            
    if(count($longMsg) > 0)
                echo 
    '<BR>'str_replace(">""&gt;"str_replace("<""&lt;"$longMsg[0]->get_content()));

        }
        else 
    //no errors
        
    {
         
    //get results nodes
     
    $transactionNodes $responseDoc->get_elements_by_tagname('Transaction');
        echo 
    $transactionNodes;
        
            
    //get the node containing the time and display its contents
            
    $eBayTime $responseDoc->get_elements_by_tagname('Transaction');
            echo 
    '<P><B>The answer is '$eBayTime[0]->get_content(), ' GMT</B>';
        }
    ?>
    And got this when I runned it;
    Code:
    Array
    
    The answer is 2.950.00.0falsenY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wFk4CkAZKDqQydj6x9nY+seQ==oskare200@hotmail.com0falseNonetruetruefalse2006-01-01T19:59:59.000ZUSConfirmedtheventbuytrue2006-12-28T22:34:43.000ZNoVATTaxTest UseraddresscitystateNone(180) 011-1111 ext.: 1951253101053eBayfalsetrue0.0NotOfferedfalsefalse0.0falseUSPSPriority0.00.01false23Flatfalsefalse2.952.952006-12-31T11:12:49.000ZNone1NoPaymentFailureCheckoutIncomplete2006-12-31T11:12:49.000ZNoneIncompletefalse50062629452.95false0.0USPSPriority0.0eBay GMT
    So it seams like what I get back is an array, the problem is that I don't know how to select and assign a variable to "TransactionArray.Transaction.TransactionID" where the "TransactionArray.Transaction.Buyer.UserID" is a specified user (theventsell in this example). Is it possible to do so and how can I do it?

    If it is to any help, here is the results I get from print_r($transactionNodes);
    ArrayArray ( [0] => domelement Object ( [type] => 1 [tagname] => Transaction [0] => 6 [1] => 144378264 ) [1] => domelement Object ( [type] => 1 [tagname] => Transaction [0] => 7 [1] => 143887560 ) )
    Best Regards
    Oskar R
    Last edited by oskare100; 12-31-2006 at 02:10 PM.

  • #2
    New Coder
    Join Date
    Dec 2006
    Posts
    57
    Thanks
    2
    Thanked 0 Times in 0 Posts
    Hello again,
    Basicly, in other words, what I want to do is to find the "TransactionArray.Transaction.TransactionID" for the buyer "TransactionArray.Transaction.Buyer.UserID". It is just an XML response, is there really no one who can help me with this? I'm not even sure you need to know anything about XML to be able to help me, just have better knowledge of PHP than I. I really need help because the script I'm writing on wount work without this part and I can't figure out how to do it myself.

    Thanks in advance,
    /Oskar


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •