C# Examples
- add_fixed_price_item example
- fetch_token example
- find_items_by_keywords example
- get_categories example
- get_orders example
- set_notification_preferences example
C# Example for addFixedPriceItem
Sample: Adding an Item
Code
C# code to add an item
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class AddFixedPriceItemExample { public static void Main (string[] args) { List<object> pictureURL = new List<object>(); pictureURL.Add ("http://images.discountstarwarscostumes.com/products/9284/1-1/luke-skywalker-blue-lightsaber.jpg"); pictureURL.Add ("http://www.rankopedia.com/CandidatePix/29862.gif"); List<object> itemSpecifics = new List<object>(); itemSpecifics.Add (new string[]{"condition", "used"}); itemSpecifics.Add (new string[]{"danger", "extreme"}); List<object> variationList1 = new List<object> { new { name = "Colour", value = "Blue" }, new { name = "Style", value = "Single" } }; List<object> variationList2 = new List<object> { new { name = "Colour", value = "Red" }, new { name = "Style", value = "Double" } }; List<object> variations = new List<object> { new { quantity = 4, nameValueList = variationList1 }, new { quantity = 7, nameValueList = variationList2 } }; var dataObject = new { addFixedPriceItemRequest = new { requesterCredentials = new { bonanzleAuthToken = "anAuthToken" }, item = (object)new { title = "Lightsaber", primaryCategory = new { categoryId = 163128 }, description = "An elegant weapon, for a more civilized age<br>* SELLER <strong>NOT LIABLE</strong> FOR DISMEMBERMENT *", itemSpecifics, price = 42, quantity = 3, shippingType = "Free", pictureDetails = new { pictureURL }, variations } } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/secure_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "myDevId"; string certId = "myCertId"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
jsonResponse's value (JSON [formatted for legibility] ):
{
"ack":"Success",
"version":"1.0beta",
"timestamp":"2015-01-14T17:05:23.000Z",
"addFixedPriceItemResponse":{
"itemId":206013,
"categoryId":163128,
"sellingState":"Ready for sale",
"message":null
}
}
C# Example for fetchToken
Sample: User Token Fetching
Code
C# code to fetch a token:
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class FetchTokenExample { public static void Main (string[] args) { var dataObject = new { fetchTokenRequest = new { } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/secure_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "myDevId"; string certId = "myCertId"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
jsonResponse's value (JSON [formatted for legibility]):
{
"ack": "Success",
"version": "1.0beta",
"timestamp": "2015-08-28T09:34:16Z",
"fetchTokenResponse": {
"authToken": "rXaGR1tCDv",
"hardExpirationTime": "2016-08-28T09:34:16Z",
"authenticationURL":"https://www.bonanza.com/login?apitoken=rXaGR1tCDv"
}
}
C# Example for findItemsByKeywords
Sample: Basic Call
Retrieves a set of items based on keywords provided.
Code
Basic C# code to search for items matching "The King":
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class FindItemsByKeywordsExample { public static void Main (string[] args) { var dataObject = new { findItemsByKeywords = new { keywords = "The King" } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/standard_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "myDevId"; string certId = "myCertId"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
jsonPayload's value (JSON):
{"keywords":"The King"}jsonResponse's value (JSON):
{
"timestamp":"2009-10-31T14:47:13.000Z",
"version":"1.0",
"findItemsByKeywordsResponse":{
"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":"https://www.bonanza.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":"https://www.bonanza.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":"https://www.bonanza.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":"https://www.bonanza.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"
}
C# Example for getCategories
Sample: Getting Categories
Code
C# code to get information of all children categories of the provided categoryID:
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class GetCategoriesExample { public static void Main (string[] args) { var dataObject = new { getCategories = new { categoryParent = 2984 } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/standard_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "myDevId"; string certId = "myCertId"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
responseJSON's value (formatted for legibility):
{
"ack":"Success",
"version":"1.0beta",
"timestamp":"2015-01-14T16:47:26.000Z",
"getCategoriesResponse":{
"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
}
]
}
}
C# Example for getOrders
Sample: Getting Orders
Code
C# code to get order information for a seller in a specific time period
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class GetOrdersExample { public static void Main (string[] args) { var dataObject = new { getOrdersRequest = new { requesterCredentials = new { bonanzleAuthToken = "anAuthToken" }, orderRole = "Seller" } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/secure_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "myDevId"; string certId = "myCertId"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
jsonResponse's value (JSON [formatted for legibility]):
{
"ack":"Success",
"version":"1.0beta",
"timestamp":"2015-01-14T16:55:25.000Z",
"getOrdersResponse":{
"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":"[email protected]"
},
"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
}
}
C# Example for setNotificationPreferences
Sample: Notification Preferences
Code
C# code to set a URL to listen for seller question/feedback notifications:
using System; using System.Net; using System.Net.Http; using System.IO; using System.Text; using System.Threading.Tasks; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Globalization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace c_sharp_examples { public class SetNotificationPreferencesExample { public static void Main (string[] args) { List<object> notificationEnable = new List<object>(); notificationEnable.Add (new { eventEnable = "Enable", eventType = "askSellerQuestion" }); notificationEnable.Add (new { eventEnable = "Enable", eventType = "feedback" }); var dataObject = new { setNotificationPreferences = new { requesterCredentials = new { bonanzleAuthToken = "your_token" }, applicationDeliveryPreferences = new { applicationEnable = "Enable", deliveryURLDetails = new { deliveryURL = "foo.com/notifications", status = "Enable" } }, userDeliveryPreferenceArray = new { notificationEnable } } }; string dataJSON = JsonConvert.SerializeObject(dataObject); var url = "https://api.bonanza.com/api_requests/secure_request"; var content = new StringContent (dataJSON, Encoding.UTF8, "application/json"); string devId = "your_dev_id"; string certId = "your_cert_id"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("x-bonanzle-api-dev-name", devId); client.DefaultRequestHeaders.Add("x-bonanzle-api-cert-name", certId); var response = client.PostAsync(url, content).Result; string responseStr = response.Content.ReadAsStringAsync().Result; var responseJSON = JObject.Parse(responseStr); Console.WriteLine (responseJSON); var errorMessage = responseJSON["errorMessage"]; if (errorMessage != null) { Console.WriteLine (errorMessage); } } } } }
Data
responseJSON's value (formatted for legibility):
{
"ack": "Success",
"version": "1.0",
"timestamp": "2018-02-19T08:24:56Z",
"setNotificationPreferencesResponse": {
"notificationId": 69438,
"deliveryURLsProcessed": 1,
"eventsProcessed": 2
}
}