Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) eBay -- Create or Replace Inventory Item (2nd example)Another example for creating an inventory item, with different data.
IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; This example sends the following sample PUT request to create (or replace) a new inventory item. ; { ; "product": { ; "title": "Test listing - do not bid or buy - awesome Apple watch test 2", ; "aspects": { ; "Feature" : ["Water resistance", "GPS"], ; "CPU" : ["Dual-Core Processor"] ; }, ; "description": "Test listing - do not bid or buy \n Built-in GPS. Water resistance to 50 meters.1 A new lightning-fast dual-core processor. And a display that\u2019s two times brighter than before. Full of features that help you stay active, motivated, and connected, Apple Watch Series 2 is designed for all the ways you move ", ; "upc": ["888462079525"], ; "imageUrls": [ ; "http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/S/1/S1/42/S1-42-alu-silver-sport-white-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247758975", ; "http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/4/2/42/stainless/42-stainless-sport-white-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247760390", ; "http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/4/2/42/ceramic/42-ceramic-sport-cloud-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247758007" ; ] ; }, ; "condition": "NEW", ; "packageWeightAndSize": { ; "dimensions": { ; "height": 5, ; "length": 10, ; "width": 15, ; "unit": "INCH" ; }, ; "packageType": "MAILING_BOX", ; "weight": { ; "value": 2, ; "unit": "POUND" ; } ; }, ; "availability": { ; "shipToLocationAvailability": { ; "quantity": 10 ; } ; } ; } ; First, generate the JSON using this code: json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::setCkEmitCompact(json, 0) CkJsonObject::ckUpdateString(json,"product.title","Test listing - do not bid or buy - awesome Apple watch test 2") CkJsonObject::ckUpdateString(json,"product.aspects.Feature[0]","Water resistance") CkJsonObject::ckUpdateString(json,"product.aspects.Feature[1]","GPS") CkJsonObject::ckUpdateString(json,"product.aspects.CPU[0]","Dual-Core Processor") CkJsonObject::ckUpdateString(json,"product.description","Test listing - do not bid or buy\n Built-in GPS. Water resistance to 50 meters.1 A new lightning-fast dual-core processor. And a display thats two times brighter than before. Full of features that help you stay active, motivated, and connected, Apple Watch Series 2 is designed for all the ways you move ") CkJsonObject::ckUpdateString(json,"product.upc[0]","888462079525") CkJsonObject::ckUpdateString(json,"product.imageUrls[0]","http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/S/1/S1/42/S1-42-alu-silver-sport-white-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247758975") CkJsonObject::ckUpdateString(json,"product.imageUrls[1]","http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/4/2/42/stainless/42-stainless-sport-white-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247760390") CkJsonObject::ckUpdateString(json,"product.imageUrls[2]","http://store.storeimages.cdn-apple.com/4973/as-images.apple.com/is/image/AppleInc/aos/published/images/4/2/42/ceramic/42-ceramic-sport-cloud-grid?wid=332&hei=392&fmt=jpeg&qlt=95&op_sharpen=0&resMode=bicub&op_usm=0.5,0.5,0,0&iccEmbed=0&layer=comp&.v=1472247758007") CkJsonObject::ckUpdateString(json,"condition","NEW") CkJsonObject::ckUpdateNumber(json,"packageWeightAndSize.dimensions.height","5") CkJsonObject::ckUpdateNumber(json,"packageWeightAndSize.dimensions.length","10") CkJsonObject::ckUpdateNumber(json,"packageWeightAndSize.dimensions.width","15") CkJsonObject::ckUpdateString(json,"packageWeightAndSize.dimensions.unit","INCH") CkJsonObject::ckUpdateString(json,"packageWeightAndSize.packageType","MAILING_BOX") CkJsonObject::ckUpdateNumber(json,"packageWeightAndSize.weight.value","2") CkJsonObject::ckUpdateString(json,"packageWeightAndSize.weight.unit","POUND") CkJsonObject::ckUpdateNumber(json,"availability.shipToLocationAvailability.quantity","10") ; Show the JSON to be sent: Debug CkJsonObject::ckEmit(json) ; Use a previously obtained user token. The token should look something like this: ; "v^1.1#i^1#r^0#p^3#I^3#f^0#t^H4sIAAAAAAAAAOVXa2wUVRTu9k ... 89xuCWYREAAA==" accessToken.s = "EBAY_ACCESS_TOKEN" http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; This example uses the sandbox. ; Change "api.sandbox.ebay.com" to "api.ebay.com" to use the production system. ; Note: The last part of the url is the SKU. In this URL, the SKU is "AppleWatch". url.s = "https://api.sandbox.ebay.com/sell/inventory/v1/inventory_item/AppleWatch" CkJsonObject::setCkEmitCompact(json, 1) ; Set your Content-Language to whatever is desired. CkHttp::ckSetRequestHeader(http,"Content-Language","en-US") ; Add our access token to the request, which is a header ; having the following format: ; Authorization: Bearer <userAccessToken> sbAuth.i = CkStringBuilder::ckCreate() If sbAuth.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sbAuth,"Bearer ") CkStringBuilder::ckAppend(sbAuth,accessToken) CkHttp::ckSetRequestHeader(http,"Authorization",CkStringBuilder::ckGetAsString(sbAuth)) CkHttp::setCkAccept(http, "application/json") CkHttp::setCkAllowGzip(http, 0) strResponse.s = CkHttp::ckPutText(http,url,CkJsonObject::ckEmit(json),"utf-8","application/json",0,0) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkJsonObject::ckDispose(json) CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) ProcedureReturn EndIf Debug "Response status code = " + Str(CkHttp::ckLastStatus(http)) If CkHttp::ckLastStatus(http) <> 204 Debug strResponse Debug "Failed" CkJsonObject::ckDispose(json) CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) ProcedureReturn EndIf ; On success (status code = 204), there is no output payload (strResponse will be empty). Debug "Inventory item successfully created." CkJsonObject::ckDispose(json) CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.