OneShopNotificationListener.asp

From Developer's API

Revision as of 20:33, 28 May 2008 by Chrisn (Talk | contribs)
<!-- #INCLUDE file="../Library/OneShopAPI.asp" -->
<%
set requestBodyXML = createObject("MSXML2.DOMDocument.4.0")
set apiResultXML = createObject("MSXML2.DOMDocument.4.0")

dim xmlErr
dim result
dim notificationType
dim token 		

'Create instance of OneShopAPI which acts as a wrapper to the API		
Set oneShopApiWrapper = new OneShopApi

'TODO: Add your merchant id
oneShopApiWrapper.MerchantID = ""								
'TODO: Add to your merchant api key
oneShopApiWrapper.MerchantKey = ""
			
oneShopApiWrapper.ApiUrl = "https://www.mcssl.com"					

'Load the request body into XML
requestBodyXML.load(request.binaryread(request.TotalBytes))			

'Check that the xml was loaded correctly
if (requestBodyXML.parseError.errorCode = 0) then
	
	'Extract the type of notification is being sent				
	notificationType = requestBodyXML.documentElement.nodeName	
										
	'Extract the token from the request 
	token = requestBodyXML.SelectSingleNode(notificationType & "/Token").text
		
	'Get data from the API depending on what notification type was sent
	select case notificationType
		case "NewOrder"	
				
			result = oneShopApiWrapper.GetOrderById(token)
		case else
			'May have other types of notifications in the future
	end select
	
	'Load the result from the API into XML
	apiResultXML.Load(result)
	
	'Check that the result has been parsed into XML
	if (apiResultXML.parseError.errorCode = 0) then
		
		'Get the success attribute of the result
		apiSuccess = apiResultXML.selectSingleNode("/Response").getAttribute("success")
					
		'Check if the API returned an error
		if apiSuccess = "true" then
			'TODO: Do something with the apiResultXML

		else
			'TODO: Do something with the error returned by the API
		end if
	else							
		'TODO: Do something with the xmlErr to either notify or log that the XML could not be parsed		
	end if						
else	 			
	'TODO: Do something with the xmlErr to either notify or log that the XML could not be parsed				
end if

%>