.NET示例
VB.Net for findItemsbykeyKeys的示例
示例:基本呼叫
根据提供的关键字检索一组项目。
代码
基本的C#代码搜索匹配“王”的项目:
Imports System Public Class FindItemsByKeywordsExample Public Const STANDARD_API_URL As String = "//api.sanyili.com/api_requests/standard_request" Public Shared Sub xMain() Dim requestName As String = "findItemsByKeywords" Dim keywords As string = "The King" Dim json As String = "{'keywords':'" & keywords & "'}" Dim contentToPost As String = requestName + "=" + json Dim response As String = "" Try Dim url as String = STANDARD_API_URL Dim request As System.net.HttpWebRequest = System.net.WebRequest.Create(url) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "KsEeX0w61fBmGlR") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "test") Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As System.net.HttpWebResponse = request.GetResponse() Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() System.Console.WriteLine(strResponse) Catch ex As Exception Throw New Exception("failed to get token. " & ex.Message & vbCrLf & ex.StackTrace) End Try End Sub End Class
数据
jsonpayload.价值(JSON):
{"keywords":"The King"}
jsonresponse.价值(JSON):
{ "timestamp":"2009-10-31T14:47:13.000Z", "version":"1.0", "findItemsbyKeywords.Response":{ "paginationOutput":{ "totalEntries":2471394, "pageNumber":1, "entriesPerPage":20 }, "item":[ { "primaryCategory":{ "categoryName":"Clothing, Shoes amp; Accessories >> Unisex Clothing, Shoes amp; Accs >> Unisex Adult Clothing >> T-Shirts", "categoryId":155193 }, "listingInfo":{ "price":9.99, "convertedBuyItNowPrice":9.99, "bestOfferEnabled":"true", "listingType":"FixedPrice", "buyItNowPrice":9.99, "startTime":"2009-10-31T00:09:01.000Z", "lastChangeTime":"2009-10-31T00:09:01.000Z" }, "viewItemURL":"//www.sanyili.com/booths/tshirt_seller_dev/items/CHESS__THE_KING__LOGO_Royal_Blue_T_SHIRT", "location":"CA", "title":"CHESS \"THE KING\" LOGO Royal Blue T-SHIRT", "sellerInfo":{ "feedbackRatingStar":"Blue", "membershipLevel":null, "sellerUserName":"T-Shirt Sellin' Deven", "availableForChat":"false", "userPicture":"http://s3.amazonaws.com/bonanzaimages/user_profile_image/afu/user_profile_images/â?¦.jpg", "positiveFeedbackPercent":"100" }, "itemId":7410001, "storeInfo":{ "storeName":"Deven's T-Shirt Shoppe", "storeDiscount":null, "storeURL":"//www.sanyili.com/booths/tshirt_seller_dev", "storeHasBonanza":"false", "storeItemCount":6 }, "shippingInfo":{ "shippingServiceCost":2.99, "shippingType":"Flat", "shipToLocations":"US" }, "sellingStatus":{ "convertedCurrentPrice":9.99, "sellingState":"Active", "currentPrice":9.99 }, "postalCode":"94536", "paymentMethod":["Paypal"], "galleryURL":"http://s3.amazonaws.com/bonanzaimages/afu/images/2889/3800/shirt-chess-king.jpg", "globalId":"Bonanza", "descriptionBrief":"This shirt is only for KINGS!" }, { "primaryCategory":{ "categoryName":"Home amp; Garden", "categoryId":11700 }, "listingInfo":{ "price":10.0, "convertedBuyItNowPrice":10.0, "bestOfferEnabled":"true", "listingType":"FixedPrice", "buyItNowPrice":10.0, "startTime":"2009-10-31T00:04:35.000Z", "lastChangeTime":"2009-10-31T00:04:35.000Z" }, "viewItemURL":"//www.sanyili.com/booths/â?¦", "location":"Bolingbrook, IL", "title":"Elvisâ?¦", "sellerInfo":{ "feedbackRatingStar":"Yellow", "membershipLevel":null, "sellerUserName":"â?¦", "availableForChat":"false", "userPicture":"http://s3.amazonaws.com/bonanzaimages/user_profile_image/afu/user_profile_images/â?¦.jpg", "positiveFeedbackPercent":"100" }, "itemId":7920002, "storeInfo":{ "storeName":"â?¦", "storeDiscount":null, "storeURL":"//www.sanyili.com/booths/â?¦", "storeHasBonanza":"false", "storeItemCount":1 }, "shippingInfo":{ "shippingServiceCost":0, "shippingType":"Free", "shipToLocations":"US" }, "sellingStatus":{ "convertedCurrentPrice":10.0, "sellingState":"Active", "currentPrice":10.0 }, "postalCode":"60446", "paymentMethod":["MOCC","Paypal"], "galleryURL":"http://s3.amazonaws.com/bonanzaimages/afu/images/â?¦", "globalId":"Bonanza", "descriptionBrief":"â?¦" }, â?¦ ] }, "ack":"Success" }
vb.net fetchtoken的示例
示例:用户令牌获取
代码
VB.NET代码获取令牌:
Imports System Public Class FetchTokenExample Public Const SECURE_API_URL As String = "//api.sanyili.com/api_requests/secure_request" Public Shared Sub xMain() Dim contentToPost As String = "fetchTokenRequest={}" Dim response As String = "" Try Dim url as String = SECURE_API_URL Dim request As System.net.HttpWebRequest = System.net.WebRequest.Create(url) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "KsEeX0w61fBmGlR") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "test") Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As System.net.HttpWebResponse = request.GetResponse() Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() System.Console.WriteLine(strResponse) Catch ex As Exception System.Console.WriteLine("Failed to call Bonanza with content " & contentToPost & ", " & ex.Message & vbCrLf & ex.StackTrace) Throw End Try End Sub End Class
数据
jsonresponse.'值(JSON [格式化可识别]):
{ "ack": "Success", "version": "1.0beta", "timestamp": "2015-08-28T09:34:16Z", "fetchtoken.Response": { "authToken": "rXaGR1tCDv", "hardExpirationTime": "2016-08-28T09:34:16Z", "authenticationURL":"//www.sanyili.com/login?apitoken=rXaGR1tCDv" } }
VB.Net Get类别的示例
样本:获取类别
代码
VB.NET代码以获取提供的CompountID的所有子类别的信息:
Imports System Public Class GetCategoriesExample Public Const STANDARD_API_URL As String = "//api.sanyili.com/api_requests/standard_request" Public Shared Sub xMain() Dim requestName As String = "getCategoriesRequest" Dim categoryId as integer = 2984 Dim json As String = "{'categoryId':" & categoryId & "}" Dim contentToPost As String = requestName & "=" & json Dim response As String = "" Try Dim url as String = STANDARD_API_URL Dim request As System.net.HttpWebRequest = System.net.WebRequest.Create(url) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "KsEeX0w61fBmGlR") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "test") Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As System.net.HttpWebResponse = request.GetResponse() Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() System.Console.WriteLine(strResponse) Catch ex As Exception System.Console.WriteLine("Failed to call Bonanza with content " & contentToPost & ", " & ex.Message & vbCrLf & ex.StackTrace) Throw End Try End Sub End Class
数据
Response_Json.'值(JSON [格式化可识别]):
{ "ack":"Success", "version":"1.0beta", "timestamp":"2015-01-14T16:47:26.000Z", "get类别Response":{ "categoryArray":[ { "categoryId":1261, "categoryLevel":2, "categoryName":"Baby >> Other", "leafCategory":"true", "categoryBriefName":"Other", "traitCount":4 }, { "categoryId":19068, "categoryLevel":2, "categoryName":"Baby >> Toys for Baby", "leafCategory":"false", "categoryBriefName":"Toys for Baby", "traitCount":4 }, { "categoryId":20394, "categoryLevel":2, "categoryName":"Baby >> Bathing & Grooming", "leafCategory":"false", "categoryBriefName":"Bathing & Grooming", "traitCount":4 } ] } }
VB.Net Getorders示例
样品:获取订单
代码
VB.NET代码在特定时间段内获取卖家的订单信息
Imports System Public Class GetOrdersExample Public Const SECURE_API_URL As String = "//api.sanyili.com/api_requests/secure_request" Public Shared Sub xMain() Dim requestName As String = "getOrdersRequest" Dim authToken As string = "11Fbw30vSZ" Dim orderRole As string = "Seller" Dim json As String = "{'requesterCredentials':{'bonanzleAuthToken':'" & authToken & "'}, 'orderRole':'" & orderRole & "'}" Dim contentToPost As String = requestName + "=" + json Dim response As String = "" Try Dim url as String = SECURE_API_URL Dim request As System.net.HttpWebRequest = System.net.WebRequest.Create(url) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "KsEeX0w61fBmGlR") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "test") Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As System.net.HttpWebResponse = request.GetResponse() Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() System.Console.WriteLine(strResponse) Catch ex As Exception Throw New Exception("failed to get token. " & ex.Message & vbCrLf & ex.StackTrace) End Try End Sub End Class
数据
Response_Json.'值(JSON [格式化可识别]):
{ "ack":"Success", "version":"1.0beta", "timestamp":"2015-01-14T16:55:25.000Z", "使是Response":{ "orderArray":[ { "order":{ "amountPaid":"104.32", "amountSaved":0.0, "buyerCheckoutMessage":"", "buyerUserID":6157, "buyerUserName":"JDoe", "checkoutStatus":{ "status":"Complete" }, "createdTime":"2013-04-25T16:54:25Z", "creatingUserRole":"Buyer", "itemArray":[ { "item":{ "itemID":205172, "sellerInventoryID":null, "sku":null, "title":"76 Blank DVD Cases", "price":"24.0", "quantity":1 } } ], "orderID":1811, "orderStatus":"Shipped", "subtotal":24.0, "taxAmount":0.0, "total":"104.32", "transactionArray":{ "transaction":{ "buyer":{ "email":"testy@bonanza.com" }, "providerName":"Checkout by Amazon", "providerID":"104-1031316-4215451", "finalValueFee":"3.3" } }, "paidTime":"2013-04-25T17:08:24Z", "shippedTime":"2014-04-28T23:19:08Z", "shippingAddress":{ "addressID":6710, "cityName":"SEATTLE", "country":"US", "countryName":null, "name":"Test User", "postalCode":"98122-90210", "stateOrProvince":"WA", "street1":null, "street2":null }, "shippingDetails":{ "insuranceFee":0, "amount":"81.52", "servicesArray":[], "shippingService":"Standard shipping" } } }], "hasMoreOrders":"false", "paginationResult":{ "totalNumberOfEntries":2, "totalNumberOfPages":1 }, "pageNumber":1 } }
addfixedpriceitem的vb.net示例
示例:添加项目
代码
vb.net代码添加项目
Imports System Public Class AddFixedPriceItemExample Public Const SECURE_API_URL As String = "//api.sanyili.com/api_requests/secure_request" Public Shared Sub Main() Dim requestName As String = "addFixedPriceItemRequest" Dim authToken As string = "11Fbw30vSZ" Dim json As String = "{" json += "'requesterCredentials':{'bonanzleAuthToken':'" & authToken & "'}," json += "'item':{" json += "'title': 'NET Lightsaber'," json += "'primaryCategory': {'categoryId':163128}," json += "'description': 'An elegant weapon, for a more civilized age<br>* SELLER <strong>NOT LIABLE</strong> FOR DISMEMBERMENT *'," json += "'itemSpecifics': [['condition', 'used'], ['danger', 'extreme']]," json += "'price': 42," json += "'quantity': 3," json += "'shippingType': 'Free'," json += "'pictureDetails': {'pictureURL': ['http://images.discountstarwarscostumes.com/products/9284/1-1/luke-skywalker-blue-lightsaber.jpg', 'http://www.rankopedia.com/CandidatePix/29862.gif']}," json += "'variations': [{ 'quantity': 2, 'nameValueList': [{ 'name': 'Colour', 'value': 'Blue'},{'name':'Style','value':'Single'}]},{'quantity':1,'nameValueList':[{'name':'Colour','value':'Red'},{'name':'Style','value':'Double'}] }]" json += "}" json += "}" Dim contentToPost As String = requestName + "=" + json Dim response As String = "" Try Dim url as String = SECURE_API_URL Dim request As System.net.HttpWebRequest = System.net.WebRequest.Create(url) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "KsEeX0w61fBmGlR") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "test") Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As System.net.HttpWebResponse = request.GetResponse() Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() System.Console.WriteLine(strResponse) Catch ex As Exception Throw New Exception("failed to get token. " & ex.Message & vbCrLf & ex.StackTrace) End Try End Sub End Class
数据
jsonresponse.'值(JSON [格式化可识别]):
{ "ack":"Success", "version":"1.0beta", "timestamp":"2015-01-14T17:05:23.000Z", "AddFixedPriceItem.Response":{ "itemId":206013, "categoryId":163128, "sellingState":"Ready for sale", "message":null } }
发布对Bonanza的要求
Public Const API_URL As String = "//api.sanyili.com/api_requests/secure_request" Private Shared Function BrowseURL(ByVal contentToPost As String) As String Try Dim request As Systemdot_net.HttpWebRequest = Systemdot_net.WebRequest.Create(API_URL) request.Headers.Add("X-BONANZLE-API-DEV-NAME", "YOUR-DEVELOPER-KEY-HERE") request.Headers.Add("X-BONANZLE-API-CERT-NAME", "YOUR-CERT-KEY-HERE") Systemdot_net.ServicePointManager.ServerCertificateValidationCallback = New Net.Security.RemoteCertificateValidationCallback(AddressOf CertificateValidationCallBack) Dim contentBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(contentToPost) request.Method = "POST" request.ContentLength = contentBytes.Length 'request.ContentType = "application/json" Dim requestStream As System.IO.Stream = request.GetRequestStream() requestStream.Write(contentBytes, 0, contentBytes.Length) requestStream.Close() Dim response As Systemdot_net.HttpWebResponse = request.GetResponse() ' Read the response into a StreamReader Dim responseReader As IO.StreamReader = New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8) Dim strResponse As String = responseReader.ReadToEnd() 'Trace.WriteLine(strResponse) Return strResponse Catch ex As Exception Trace.WriteLine("Failed to call Bonanza with content " & contentToPost & ", " & ex.Message & vbCrLf & ex.StackTrace) Throw End Try End Function Private Shared Function CertificateValidationCallBack(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As Systemdot_net.Security.SslPolicyErrors) As Boolean Return True End Function
获取令牌请求
Dim contentToPost As String = "fetchTokenRequest={""validationCompleteURL"":""" & System.Web.HttpUtility.UrlEncode(returnURL) & """}" Dim response As String = "" Try response = BrowseURL(contentToPost) Catch ex As Exception Throw New Exception("failed to get token. " & ex.Message & vbCrLf & ex.StackTrace) End Try
在响应中,您可以从服务器中拥有JSON字符串。
使用JSON库
您可以使用JSON库(http://json.codeplex.com/)将JSON文本转换为对象。首先,您需要在代码中添加此类,该类声明API中使用的许多类。
Imports System.Runtime.Serialization Namespace Bonanza #Region "Base Class" <DataContract()> _ Public Class ResponseBaseclass <DataMember()> Public timeStamp As DateTime <DataMember()> Public version As String = "" <DataMember()> Public ack As String = "" <DataMember()> Public errorMessage As errorMessage End Class #End Region <DataContract()> _ Public NotInheritable Class errorMessage <DataMember()> _ Public message As String = Nothing End Class #Region "Fetch Token Response " Public Class fetchTokenResponseType <DataMember()> Public authToken As String <DataMember()> Public authenticationURL As String <DataMember()> Public emailRecognized As Boolean <DataMember()> Public hardExpirationTime As DateTime End Class <DataContract()> _ Public Class fetchTokenResponse Inherits ResponseBaseClass <DataMember()> Public fetchTokenResponse As fetchTokenResponseType End Class #End Region #Region "GetTokenStatus" Public Class getTokenStatusResponseType <DataMember()> Public hardExpirationTime As DateTime <DataMember()> Public verified As Boolean End Class <DataContract()> _ Public Class getTokenStatusResponse Inherits ResponseBaseclass <DataMember()> Public getTokenStatusResponse As New getTokenStatusResponseType End Class #End Region #Region "Request Base Class" <DataContract()> _ Public Class requesterCredentialsType <DataMember()> Public bonanzleAuthToken As String = "" End Class <DataContract()> _ Public Class requesterCredentials <DataMember()> Public requesterCredentials As New requesterCredentialsType End Class #End Region #Region "getOrders" #Region "Order Request Type" <DataContract()> _ Public Class paginationInputType <DataMember()> Public entriesPerPage As Integer = 20 <DataMember()> Public pageNumber As Integer = 1 End Class Public Enum OrderStatusCodeType None = 0 active = 1 'The order is still in the cart and can be modified cancelled = 2 'Orders that have been cancelled inProcess = 3 'Bonanza is awaiting payment confirmation from the payment provider (Paypal, Google Checkout, Amazon, etc.). proposed = 4 'Offer has been proposed and is awaiting a response from the offer receiver shipped = 5 'Offer has been sold and marked by the seller as shipped sold = 6 'Offer has been sold but not yet marked by the seller as shipped Completed = 7 End Enum <DataContract()> _ Public Class getOrdersRequest Inherits requesterCredentials <DataMember()> Public paginationInput As New paginationInputType <DataMember()> Public createTimeFrom As DateTime = DateTime.MinValue <DataMember()> Public createTimeTo As DateTime = DateTime.MinValue <DataMember()> Public orderRole As String = "seller" <DataMember()> Public orderStatus As OrderStatusCodeType = OrderStatusCodeType.sold <DataMember()> Public soldTimeFrom As DateTime = DateTime.MinValue <DataMember()> Public soldTimeTo As DateTime = DateTime.MinValue <DataMember()> Public orderIDArray As Generic.List(Of Integer) End Class #End Region #Region "Order Response types" Public Enum checkoutStatusCodeType None = 0 Complete = 1 Pending = 2 Incomplete = 3 End Enum <DataContract()> _ Public Class checkoutStatusType <DataMember()> Public status As checkoutStatusCodeType End Class <DataContract()> _ Public Class paginationResultType <DataMember()> Public totalNumberOfEntries As Integer <DataMember()> Public totalNumberOfPages As Integer End Class <DataContract()> _ Public Class shippingDetailsType <DataMember()> Public insuranceFee As Decimal <DataMember()> Public amount As Decimal <DataMember()> Public servicesArray As Object End Class <DataContract()> _ Public Class buyerType <DataMember()> Public email As String = "" End Class <DataContract()> _ Public Class transactionType <DataMember()> Public finalValueFee As Decimal <DataMember()> Public providerID As String = "" <DataMember()> Public providerName As String = "" <DataMember()> Public buyer As buyerType End Class <DataContract()> _ Public Class transactionArrayType <DataMember()> Public transaction As transactionType End Class <DataContract()> _ Public Class shippingAddressType <DataMember()> Public name As String = "" <DataMember()> Public cityName As String = "" <DataMember()> Public country As String = "" <DataMember()> Public street1 As String = "" <DataMember()> Public addressID As Integer <DataMember()> Public street2 As String = "" <DataMember()> Public postalCode As String = "" <DataMember()> Public stateOrProvince As String = "" <DataMember()> Public countryName As String = "" End Class <DataContract()> _ Public Class itemType <DataMember()> Public price As Decimal <DataMember()> Public title As String = "" <DataMember()> Public quantity As Integer <DataMember()> Public itemID As String = "" <DataMember()> Public sellerInventoryID As String = "" <DataMember()> Public sku As String = "" End Class <DataContract()> _ Public Class itemArrayType <DataMember()> Public item As itemType End Class <DataContract()> _ Public Class orderType <DataMember()> Public amountPaid As Decimal <DataMember()> Public amountSaved As Decimal <DataMember()> Public buyerCheckoutMessage As String = "" <DataMember()> Public checkoutStatus As checkoutStatusType <DataMember()> Public orderID As Integer <DataMember()> Public total As Decimal <DataMember()> Public createdTime As DateTime <DataMember()> Public orderStatus As OrderStatusCodeType <DataMember()> Public creatingUserRole As String = "" <DataMember()> Public shippingDetails As shippingDetailsType <DataMember()> Public paidTime As DateTime <DataMember()> Public buyerUserId As Integer <DataMember()> Public shippedTime As DateTime <DataMember()> Public taxAmount As Decimal <DataMember()> Public subtotal As Decimal <DataMember()> Public shippingAddress As shippingAddressType <DataMember()> Public transactionArray As transactionArrayType <DataMember()> Public itemArray As Generic.List(Of itemArrayType) End Class <DataContract(Name:="order")> _ Public Class order <DataMember()> Public order As orderType End Class <DataContract()> _ Public Class getOrdersResponseType <DataMember()> Public orderArray As Generic.List(Of order) <DataMember()> Public paginationResult As paginationResultType <DataMember()> Public hasMoreOrders As Boolean <DataMember()> Public pageNumber As Integer End Class <DataContract()> _ Public Class getOrdersResponse Inherits ResponseBaseclass <DataMember()> Public getOrdersResponse As getOrdersResponseType End Class #End Region #End Region End Namespace
一旦你有的话,那么你可以使用以下几个代码样本(然后我相信您可以继续添加自己)。
获取令牌
Dim contentToPost As String = "fetchTokenRequest={""validationCompleteURL"":""" & System.Web.HttpUtility.UrlEncode(returnURL) & """}" Dim response As String = "" Try response = BrowseURL(contentToPost) Catch ex As Exception Throw New Exception("failed to get token. " & ex.Message & vbCrLf & ex.StackTrace) End Try Dim r1 As Bonanza.fetchTokenResponse = Nothing Try r1 = Newtonsoft.Json.JsonConvert.DeserializeObject(response, GetType(Bonanza.fetchTokenResponse)) Catch ex As Exception Throw New Exception("failed to deserialize the response. " & ex.Message) End Try If r1.ack.ToLower <> "success" Then Throw New Exception("Error in Fetch token. " & r1.errorMessage.message) End If System.Web.HttpContext.Current.Session("bonanzaToken") = r1.fetchTokenResponse.authToken System.Web.HttpContext.Current.Session("bonanzaTokenExpiresOn") = r1.fetchTokenResponse.hardExpirationTime Dim authenticationURL as String = r1.fetchTokenResponse.authenticationURL 'Redirect user to this authenticationURL so that he log in to Bonanza and authenticate
获取令牌状态
Dim contentToPost As String = "getTokenStatus={""requesterCredentials"":{""bonanzleAuthToken"":""TOKEN_TO_VALIDATE_HERE""}}" Dim response As String = "" Try response = BrowseURL(contentToPost) Catch ex As Exception Throw New Exception("failed to call service. " & ex.Message & vbCrLf & ex.StackTrace) End Try Dim r1 As Bonanza.getTokenStatusResponse = Nothing Try r1 = Newtonsoft.Json.JsonConvert.DeserializeObject(response, GetType(Bonanza.getTokenStatusResponse)) Catch ex As Exception Throw New Exception("failed to deserialize the response. " & ex.Message) End Try If r1.ack.ToLower <> "success" Then Throw New Exception("Error in get token status. " & r1.errorMessage.message) End If 'Call Success, check for hardExpirationtime and verified bool here
列出订单
Dim t As New Bonanza.getOrdersRequest t.requesterCredentials = New Bonanza.requesterCredentialsType t.requesterCredentials.bonanzleAuthToken = "USER-TOKEN" t.orderStatus = Bonanza.OrderStatusCodeType.sold t.paginationInput.pageNumber = 1 Dim settings As New Newtonsoft.Json.JsonSerializerSettings settings.Formatting = Newtonsoft.Json.Formatting.Indented settings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Ignore settings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore settings.Converters.Add(New Newtonsoft.Json.Converters.StringEnumConverter()) Dim contentToPost As String = Newtonsoft.Json.JsonConvert.SerializeObject(t, settings) contentToPost = "getOrdersRequest=" & contentToPost & "" Dim responseContent As String = "" Try responseContent = BrowseURL(contentToPost) Catch ex As Exception Throw New Exception("Failed to post request to Bonaza , " & ex.Message & vbCrLf & ex.StackTrace) End Try 'Deserialze the response... Dim response As Bonanza.getOrdersResponse = Nothing Try response = Newtonsoft.Json.JsonConvert.DeserializeObject(responseContent, GetType(Bonanza.getOrdersResponse), settings) Catch ex As Exception Throw New Exception("Failed to deserialize response. " & ex.Message & vbCrLf & responseContent) End Try If response.ack.ToLower <> "success" Then Throw New Exception("Error while fetching orders , Server Error: " & response.errorMessage.message) End If If response.getOrdersResponse Is Nothing Then Throw New Exception("Null response received for 'getOrdersResponse'") End If If response.getOrdersResponse.orderArray Is Nothing Then Throw New Exception("Null response received for 'getOrdersResponse.orderArray' for") End If For Each order As Bonanza.order In response.getOrdersResponse.orderArray 'Process Order Here Next