![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) eBay -- Create or Replace Inventory ItemThis example shows how to create a new inventory item record or update an existing inventory item record. See Create or Replace Inventory Item for more REST API details. Note: This example requires Chilkat v11.0.0 or greater.
LOCAL lnSuccess LOCAL loJson LOCAL lcAccessToken LOCAL loHttp LOCAL lcUrl LOCAL loSbAuth LOCAL loResp lnSuccess = 0 * 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. * PUT https://api.ebay.com/sell/inventory/v1/inventory_item/GP-Cam-01 * { * "availability": * { * "shipToLocationAvailability": * { * "quantity": 50 * } * }, * "condition": "NEW", * "product": * { * "title": "GoPro Hero4 Helmet Cam", * "description": "New GoPro Hero4 Helmet Cam. Unopened box.", * "aspects": { * "Brand" :["GoPro"], * "Type" : ["Helmet/Action"], * "Storage Type" : ["Removable"], * "Recording Definition" : ["High Definition"], * "Media Format" : ["Flash Drive (SSD)"], * "Optical Zoom" : ["10x"] * }, * "imageUrls": [ * "http://i.ebayimg.com/images/i/182196556219-0-1/s-l1000.jpg", * "http://i.ebayimg.com/images/i/182196556219-0-1/s-l1001.jpg", * "http://i.ebayimg.com/images/i/182196556219-0-1/s-l1002.jpg" * ] * } * } * First, generate the JSON using this code: loJson = CreateObject('Chilkat.JsonObject') loJson.EmitCompact = 0 loJson.UpdateNumber("availability.shipToLocationAvailability.quantity","50") loJson.UpdateString("condition","NEW") loJson.UpdateString("product.title","GoPro Hero4 Helmet Cam") loJson.UpdateString("product.description","New GoPro Hero4 Helmet Cam. Unopened box.") loJson.UpdateString("product.aspects.Brand[0]","GoPro") loJson.UpdateString("product.aspects.Type[0]","Helmet/Action") loJson.UpdateString('product.aspects."Storage Type"[0]',"Removable") loJson.UpdateString('product.aspects."Recording Definition"[0]',"High Definition") loJson.UpdateString('product.aspects."Media Format"[0]',"Flash Drive (SSD)") loJson.UpdateString('product.aspects."Optical Zoom"[0]',"10x") loJson.UpdateString("product.imageUrls[0]","http://i.ebayimg.com/images/i/182196556219-0-1/s-l1000.jpg") loJson.UpdateString("product.imageUrls[1]","http://i.ebayimg.com/images/i/182196556219-0-1/s-l1001.jpg") loJson.UpdateString("product.imageUrls[2]","http://i.ebayimg.com/images/i/182196556219-0-1/s-l1002.jpg") * Show the JSON to be sent: ? loJson.Emit() * 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==" lcAccessToken = "EBAY_ACCESS_TOKEN" loHttp = CreateObject('Chilkat.Http') * 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 "GP-Cam-01". lcUrl = "https://api.sandbox.ebay.com/sell/inventory/v1/inventory_item/GP-Cam-01" loJson.EmitCompact = 1 * Set your Content-Language to whatever is desired. loHttp.SetRequestHeader("Content-Language","en-US") * Add our access token to the request, which is a header * having the following format: * Authorization: Bearer <userAccessToken> loSbAuth = CreateObject('Chilkat.StringBuilder') loSbAuth.Append("Bearer ") loSbAuth.Append(lcAccessToken) loHttp.SetRequestHeader("Authorization",loSbAuth.GetAsString()) loHttp.Accept = "application/json" loHttp.AllowGzip = 0 loResp = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpStr("PUT",lcUrl,loJson.Emit(),"utf-8","application/json",loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loJson RELEASE loHttp RELEASE loSbAuth RELEASE loResp CANCEL ENDIF ? "Response status code = " + STR(loResp.StatusCode) IF (loHttp.LastStatus <> 204) THEN ? loResp.BodyStr ? "Failed" RELEASE loJson RELEASE loHttp RELEASE loSbAuth RELEASE loResp CANCEL ENDIF * On success (status code = 204), there is no output payload (strResponse will be empty). ? "Inventory item successfully created." RELEASE loJson RELEASE loHttp RELEASE loSbAuth RELEASE loResp |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.