DataFlex
DataFlex
eBay -- Create or Replace Inventory Item (2nd example)
See more eBay Examples
Another example for creating an inventory item, with different data.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoJson
String sAccessToken
Handle hoHttp
String sUrl
Handle hoSbAuth
Variant vResp
Handle hoResp
String sTemp1
Integer iTemp1
Move False To iSuccess
// 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:
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
Get ComUpdateString Of hoJson "product.title" "Test listing - do not bid or buy - awesome Apple watch test 2" To iSuccess
Get ComUpdateString Of hoJson "product.aspects.Feature[0]" "Water resistance" To iSuccess
Get ComUpdateString Of hoJson "product.aspects.Feature[1]" "GPS" To iSuccess
Get ComUpdateString Of hoJson "product.aspects.CPU[0]" "Dual-Core Processor" To iSuccess
Get ComUpdateString Of hoJson "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 that�s 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 " To iSuccess
Get ComUpdateString Of hoJson "product.upc[0]" "888462079525" To iSuccess
Get ComUpdateString Of hoJson "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" To iSuccess
Get ComUpdateString Of hoJson "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" To iSuccess
Get ComUpdateString Of hoJson "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" To iSuccess
Get ComUpdateString Of hoJson "condition" "NEW" To iSuccess
Get ComUpdateNumber Of hoJson "packageWeightAndSize.dimensions.height" "5" To iSuccess
Get ComUpdateNumber Of hoJson "packageWeightAndSize.dimensions.length" "10" To iSuccess
Get ComUpdateNumber Of hoJson "packageWeightAndSize.dimensions.width" "15" To iSuccess
Get ComUpdateString Of hoJson "packageWeightAndSize.dimensions.unit" "INCH" To iSuccess
Get ComUpdateString Of hoJson "packageWeightAndSize.packageType" "MAILING_BOX" To iSuccess
Get ComUpdateNumber Of hoJson "packageWeightAndSize.weight.value" "2" To iSuccess
Get ComUpdateString Of hoJson "packageWeightAndSize.weight.unit" "POUND" To iSuccess
Get ComUpdateNumber Of hoJson "availability.shipToLocationAvailability.quantity" "10" To iSuccess
// Show the JSON to be sent:
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// 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=="
Move "EBAY_ACCESS_TOKEN" To sAccessToken
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// 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".
Move "https://api.sandbox.ebay.com/sell/inventory/v1/inventory_item/AppleWatch" To sUrl
Set ComEmitCompact Of hoJson To True
// Set your Content-Language to whatever is desired.
Send ComSetRequestHeader To hoHttp "Content-Language" "en-US"
// Add our access token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbAuth
If (Not(IsComObjectCreated(hoSbAuth))) Begin
Send CreateComObject of hoSbAuth
End
Get ComAppend Of hoSbAuth "Bearer " To iSuccess
Get ComAppend Of hoSbAuth sAccessToken To iSuccess
Get ComGetAsString Of hoSbAuth To sTemp1
Send ComSetRequestHeader To hoHttp "Authorization" sTemp1
Set ComAccept Of hoHttp To "application/json"
Set ComAllowGzip Of hoHttp To False
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get ComEmit Of hoJson To sTemp1
Get pvComObject of hoResp to vResp
Get ComHttpStr Of hoHttp "PUT" sUrl sTemp1 "utf-8" "application/json" vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComStatusCode Of hoResp To iTemp1
Showln "Response status code = " iTemp1
Get ComLastStatus Of hoHttp To iTemp1
If (iTemp1 <> 204) Begin
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
Showln "Failed"
Procedure_Return
End
// On success (status code = 204), there is no output payload (strResponse will be empty).
Showln "Inventory item successfully created."
End_Procedure