This is the function to get the line item order/transaction from eBay if you give it the eBay Item ID as a parameter.
Why?
Mostly for debugging but here's the code that will quickly get the XML of a GetItemTransactions request to eBay.
How?
You'll need an access token for eBay which I documented on how you can generate one in my article: Zoho Creator: Push to eBay Listings. Then you can use the following code, note that the parameter is the eBay Item ID:
copyraw
	
void API.fn_eBayQuery_GetItemTransaction(int p_ItemID)
{
	/*
    Function: fn_eBayQuery_GetItemTransaction()
    Input: int p_ItemID (eBay Item ID)
    Purpose: Fetches a line item transaction per item ID
    Date Created:   2022-01-22 (Joellipman - Joel Lipman)
                    - Initial release
    More Info:
    - API Explorer Test Tool: https://developer.ebay.com/DevZone/build-test/test-tool/default.aspx?index=0&env=production&api=trading
    - GetItemTransactions Documentation: https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetItemTransactions.html
    */
	v_Found = 0;
	v_Updated = 0;
	v_Page = 1;
	v_PerPage = 10;
	m_Output = Map();
	r_Api = API_Integration[Connection_Name == "eBay API (Production)"];
	if(r_Api.count() > 0)
	{
		v_AccessToken = thisapp.API.fn_eBayConnect_AccessToken();
		v_TradingAPIVersion = r_Api.API_Version;
		v_Endpoint = "https://api.ebay.com/ws/api.dll";
		//
		// build header
		m_Headers = Map();
		m_Headers.put("X-EBAY-API-SITEID",3);
		m_Headers.put("X-EBAY-API-COMPATIBILITY-LEVEL",v_TradingAPIVersion);
		v_ApiCall = "GetItemTransactions";
		m_Headers.put("X-EBAY-API-CALL-NAME",v_ApiCall);
		m_Headers.put("X-EBAY-API-IAF-TOKEN",v_AccessToken);
		//
		// build params
		m_Params = Map();
		m_Params.put("WarningLevel","High");
		m_Params.put("ErrorLanguage","en_GB");
		m_Params.put("DetailLevel","ItemReturnCategories");
		//
		// include fixed price items
		m_Pagination = Map();
		m_Pagination.put("PageNumber",v_Page);
		m_Pagination.put("EntriesPerPage",v_PerPage);
		m_Params.put("Pagination",m_Pagination);
		//m_ActiveList.put("Sort","ItemID");
		m_Params.put("ItemID",p_ItemID);
		//
		// convert to xml and replace root nodes
		x_Params = m_Params.toXML();
		x_Params = x_Params.toString().replaceFirst("<root>","<?xml version=\"1.0\" encoding=\"utf-8\"?><" + v_ApiCall + "Request xmlns=\"urn:ebay:apis:eBLBaseComponents\">");
		x_Params = x_Params.toString().replaceFirst("</root>","</" + v_ApiCall + "Request>");
		//
		// send the request XML as a string
		r_ResponseXML = invokeurl
		[
			url :v_Endpoint
			type :POST
			parameters:x_Params
			headers:m_Headers
		];
		//
		// output response
		info r_ResponseXML;
		/*
		//
		// if successful then read the response
		if(r_ResponseXML.contains("<Ack>Success</Ack>"))
		{
			//
			// parse the data
			v_MainNode = "Item";
			x_MainNode = r_ResponseXML.subString(r_ResponseXML.indexOf("<" + v_MainNode),r_ResponseXML.lastIndexOf("</" + v_MainNode) + v_MainNode.length() + 3);
		}
		*/
	}	
}
	- void API.fn_eBayQuery_GetItemTransaction(int p_ItemID)
- {
- /*
- Function: fn_eBayQuery_GetItemTransaction()
- Input: int p_ItemID (eBay Item ID)
- Purpose: Fetches a line item transaction per item ID
- Date Created: 2022-01-22 (Joellipman - Joel Lipman)
- - Initial release
- More Info:
- - API Explorer Test Tool: https://developer.ebay.com/DevZone/build-test/test-tool/default.aspx?index=0&env=production&api=trading
- - GetItemTransactions Documentation: https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetItemTransactions.html
- */
- v_Found = 0;
- v_Updated = 0;
- v_Page = 1;
- v_PerPage = 10;
- m_Output = Map();
- r_Api = API_Integration[Connection_Name == "eBay API (Production)"];
- if(r_Api.count() > 0)
- {
- v_AccessToken = thisapp.API.fn_eBayConnect_AccessToken();
- v_TradingAPIVersion = r_Api.API_Version;
- v_Endpoint = "https://api.ebay.com/ws/api.dll";
- //
- // build header
- m_Headers = Map();
- m_Headers.put("X-EBAY-API-SITEID",3);
- m_Headers.put("X-EBAY-API-COMPATIBILITY-LEVEL",v_TradingAPIVersion);
- v_ApiCall = "GetItemTransactions";
- m_Headers.put("X-EBAY-API-CALL-NAME",v_ApiCall);
- m_Headers.put("X-EBAY-API-IAF-TOKEN",v_AccessToken);
- //
- // build params
- m_Params = Map();
- m_Params.put("WarningLevel","High");
- m_Params.put("ErrorLanguage","en_GB");
- m_Params.put("DetailLevel","ItemReturnCategories");
- //
- // include fixed price items
- m_Pagination = Map();
- m_Pagination.put("PageNumber",v_Page);
- m_Pagination.put("EntriesPerPage",v_PerPage);
- m_Params.put("Pagination",m_Pagination);
- //m_ActiveList.put("Sort","ItemID");
- m_Params.put("ItemID",p_ItemID);
- //
- // convert to xml and replace root nodes
- x_Params = m_Params.toXML();
- x_Params = x_Params.toString().replaceFirst("<root>","<?xml version=\"1.0\" encoding=\"utf-8\"?><" + v_ApiCall + "Request xmlns=\"urn:ebay:apis:eBLBaseComponents\">");
- x_Params = x_Params.toString().replaceFirst("</root>","</" + v_ApiCall + "Request>");
- //
- // send the request XML as a string
- r_ResponseXML = invokeUrl
- [
- url :v_Endpoint
- type :POST
- parameters:x_Params
- headers:m_Headers
- ];
- //
- // output response
- info r_ResponseXML;
- /*
- //
- // if successful then read the response
- if(r_ResponseXML.contains("<Ack>Success</Ack>"))
- {
- //
- // parse the data
- v_MainNode = "Item";
- x_MainNode = r_ResponseXML.subString(r_ResponseXML.indexOf("<" + v_MainNode),r_ResponseXML.lastIndexOf("</" + v_MainNode) + v_MainNode.length() + 3);
- }
- */
- }
- }
Note to parse a multiple transaction item
This is an update 2025 that if you want to use the Zoho Deluge .toXmlList() function:
copyraw
	
Note how the child node to convert to an xml list needs to be included along with its parent.
xl_TransactionArray = x_MainNode.executeXPath("/TransactionArray/Transaction").toXmlList();
for each x_Transaction in xl_TransactionArray
{
     v_TransactionID = x_Transaction.executeXPath("/Transaction/TransactionID/text()");
}
	- xl_TransactionArray = x_MainNode.executeXPath("/TransactionArray/Transaction").toXmlList();
- for each x_Transaction in xl_TransactionArray
- {
- v_TransactionID = x_Transaction.executeXPath("/Transaction/TransactionID/text()");
- }
Category: Zoho :: Article: 798
	

 
			      
						  
                 
						  
                 
						  
                 
						  
                 
						  
                 
 
 

 
 
Add comment