Home
Find the answer to your question
GetPromotionalSaleDetails sample in vb.net using SOAP
ummary
GetPromotionalSaleDetails sample implemented in vb.net using Visual Studio .NET (original version, not 2003 or 2005) using the SOAP API
Requirements:
Any version of Visual Studio .NET
The attached project uses the original version of Visual Studio .NET
If you have a newer version of Visual Studio .NET, you should let it automatically convert the project when prompted to do so. This will result in a project that is fully functional for the Visual Studio .NET verison that you are using.
1. Before you build this sample project, please make sure to check that the project's reference for the 499 WSDL is valid.
If needed, remove the existing web reference, and add the web reference of your choosing again.
The WSDLs for each release can be found at the following URL(s):
http://developer.ebay.com/webreference/VERSION/eBaySvc.wsdl
where you replace VERSION with the number you wish to use.
2. Before you run the sample, you will need to fill in your information in place of the "xxx" and "token" in the following lines of source code:
svc.RequesterCredentials.Credentials.DevId = "xxx"
svc.RequesterCredentials.Credentials.AppId = "xxx"
svc.RequesterCredentials.Credentials.AuthCert = "xxx"
svc.RequesterCredentials.eBayAuthToken = "token"
svc.Url = "https://api.ebay.com/wsapi?siteid=0&callname=GetPromotionalSaleDetails&version=499&appname=xxx"
Please note that the default API URL is set to Production:
svc.Url = "https://api.ebay.com/wsapi?siteid=0&callname=GetPromotionalSaleDetails&version=499&appname=xxx"
Here is the actual code file contained in the attached sample project:
' create and set up the service
Dim svc As New eBayAPIInterfaceService()
' note the querystring has the siteid, callname, version, appname, parameters
svc.Url = "https://api.ebay.com/wsapi?siteid=0&callname=GetPromotionalSaleDetails&version=499&appname=xxx"
' set the security credentials
svc.RequesterCredentials = New CustomSecurityHeaderType()
svc.RequesterCredentials.Credentials = New UserIdPasswordType()
svc.RequesterCredentials.Credentials.DevId = "xxx"
svc.RequesterCredentials.Credentials.AppId = "xxx"
svc.RequesterCredentials.Credentials.AuthCert = "xxx"
svc.RequesterCredentials.eBayAuthToken = "token"
' create the request object
Dim Request As GetPromotionalSaleDetailsRequestType
' set the DetailLevel ... this call actually does not require a DetailLevel
' but we will set one anyway for completeness
Dim DetailLevelArray() As DetailLevelCodeType = New DetailLevelCodeType() {DetailLevelCodeType.ReturnAll}
Request.DetailLevel = DetailLevelArray
' if we want the details of just 1 specific sale
' then we need to uncomment the 2 lines below
' and set the PromotionalSaleID
'Request.PromotionalSaleIDSpecified = True
'Request.PromotionalSaleID = 123
' set the error handling to be conservative
Request.ErrorHandlingSpecified = True
Request.ErrorHandling = ErrorHandlingCodeType.FailOnError
' set the WarningLevel to High
Request.WarningLevelSpecified = True
Request.WarningLevel = WarningLevelCodeType.High
Request.ErrorLanguage = "en_US"
' set the Version of the call
Request.Version = "499"
' create a response object for this call
Dim Response As GetPromotionalSaleDetailsResponseType
' we are now ready to make the call
Try
' Execute the Request
Response = svc.GetPromotionalSaleDetails(Request)
' if no errors occurred that did not trigger an exception
' then the result of this call returns an array of PromotionalSaleType objects
If (Response.Ack = AckCodeType.Success Or Response.Ack = AckCodeType.Warning) Then
' output the data for each sale
Dim Sale As PromotionalSaleType
If (Not Response.PromotionalSaleDetails Is Nothing) Then
For Each Sale In Response.PromotionalSaleDetails
If (True = Sale.PromotionalSaleIDSpecified) Then
Console.WriteLine("PromotionalSaleID is " & Sale.PromotionalSaleID.ToString())
End If
If (Not Sale.PromotionalSaleName Is Nothing) Then
Console.WriteLine("PromotionalSaleName is " & Sale.PromotionalSaleName)
End If
If (True = Sale.StatusSpecified) Then
Console.WriteLine("The Status is " & Sale.Status.ToString())
End If
If (True = Sale.PromotionalSaleStartTimeSpecified) Then
Console.WriteLine("The StartTime is " & Sale.PromotionalSaleStartTime.ToLongDateString() & " " & Sale.PromotionalSaleStartTime.ToLongTimeString())
End If
If (True = Sale.PromotionalSaleEndTimeSpecified) Then
Console.WriteLine("The EndTime is " & Sale.PromotionalSaleEndTime.ToLongDateString() & " " & Sale.PromotionalSaleEndTime.ToLongTimeString())
End If
If (True = Sale.DiscountTypeSpecified) Then
Console.WriteLine("The DiscountType is " & Sale.DiscountType.ToString())
End If
If (True = Sale.DiscountValueSpecified) Then
Console.WriteLine("The DiscountValue is " & Sale.DiscountValue.ToString())
End If
' write out the ItemIds for this sale
If (Not Sale.PromotionalSaleItemIDArray Is Nothing) Then
Dim i As Integer
Console.WriteLine("The ItemIDs for this sale are:")
For i = 0 To Sale.PromotionalSaleItemIDArray.ItemID.Length()
Console.WriteLine(" " & Sale.PromotionalSaleItemIDArray.ItemID.GetValue(i))
Next
End If
Console.WriteLine("")
Next
End If
Else
' write out the long message of the error
Console.WriteLine("The long message is " & Response.Errors(0).LongMessage)
End If
Catch ex As System.Web.Services.Protocols.SoapException
Console.WriteLine(ex.Detail.OuterXml.ToString + ".", "SOAP Error")
Catch ex As System.Exception
Console.WriteLine(ex.Message, "General Error")
End Try