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
(SQL Server) Lightspeed - Upload an ImageCreate (uploads) a new product image. For more information, see https://developers.lightspeedhq.com/ecom/endpoints/productimage/#post-create-a-new-image
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Implements the following CURL command: -- curl -u API_KEY:API_SECRET \ -- -H "Content-Type: application/json" \ -- -X POST \ -- -d '{ -- "productImage": { -- "attachment": "base64-encoded-contents", -- "filename": "the-filename-with-extension-goes-here.jpg" -- } -- }' \ -- "https://api.webshopapp.com/en/products/product_id/images.json" -- Use the following online tool to generate HTTP code from a CURL command -- Convert a cURL Command to HTTP Source Code EXEC sp_OASetProperty @http, 'Login', 'API_KEY' EXEC sp_OASetProperty @http, 'Password', 'API_SECRET' -- Use this online tool to generate code from sample JSON: -- Generate Code to Create JSON -- The following JSON is sent in the request body. -- { -- "productImage": { -- "attachment": "base64-encoded-contents", -- "filename": "the-filename-with-extension-goes-here.jpg" -- } -- } DECLARE @bdImage int -- Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdImage OUT EXEC sp_OAMethod @bdImage, 'LoadFile', @success OUT, 'qa_data/jpg/starfish.jpg' IF @success = 0 BEGIN PRINT 'Failed to load image file.' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @bdImage RETURN END DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAMethod @bdImage, 'GetEncoded', @sTmp0 OUT, 'base64' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'productImage.attachment', @sTmp0 EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'productImage.filename', 'starfish.jpg' EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Content-Type', 'application/json' -- The product ID in the URL is "112265200". DECLARE @resp int EXEC sp_OAMethod @http, 'PostJson3', @resp OUT, 'https://api.webshopapp.com/en/products/112265200/images.json', 'application/json', @json EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @bdImage EXEC @hr = sp_OADestroy @json RETURN END DECLARE @sbResponseBody int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT EXEC sp_OAMethod @resp, 'GetBodySb', @success OUT, @sbResponseBody DECLARE @jResp int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody EXEC sp_OASetProperty @jResp, 'EmitCompact', 0 PRINT 'Response Body:' EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT PRINT @sTmp0 DECLARE @respStatusCode int EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT PRINT 'Response Status Code = ' + @respStatusCode IF @respStatusCode >= 400 BEGIN PRINT 'Response Header:' EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT PRINT @sTmp0 PRINT 'Failed.' EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @bdImage EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @sbResponseBody EXEC @hr = sp_OADestroy @jResp RETURN END EXEC @hr = sp_OADestroy @resp -- Sample JSON response: -- (Sample code for parsing the JSON response is shown below) -- { -- "productImage": { -- "id": 13362569, -- "sortOrder": 3, -- "createdAt": "2019-06-06T14:52:07+00:00", -- "updatedAt": "2019-06-06T14:52:07+00:00", -- "extension": "png", -- "size": 8016, -- "title": "logo", -- "thumb": "https://cdn.shoplightspeed.com/shops/000001/files/14271562/50x50x2/logo.png", -- "src": "https://cdn.shoplightspeed.com/shops/000001/files/14271562/logo.png" -- } -- } -- Sample code for parsing the JSON response... -- Use the following online tool to generate parsing code from sample JSON: -- Generate Parsing Code from JSON DECLARE @productImageId int EXEC sp_OAMethod @jResp, 'IntOf', @productImageId OUT, 'productImage.id' DECLARE @productImageSortOrder int EXEC sp_OAMethod @jResp, 'IntOf', @productImageSortOrder OUT, 'productImage.sortOrder' DECLARE @productImageCreatedAt nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageCreatedAt OUT, 'productImage.createdAt' DECLARE @productImageUpdatedAt nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageUpdatedAt OUT, 'productImage.updatedAt' DECLARE @productImageExtension nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageExtension OUT, 'productImage.extension' DECLARE @productImageSize int EXEC sp_OAMethod @jResp, 'IntOf', @productImageSize OUT, 'productImage.size' DECLARE @productImageTitle nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageTitle OUT, 'productImage.title' DECLARE @productImageThumb nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageThumb OUT, 'productImage.thumb' DECLARE @productImageSrc nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @productImageSrc OUT, 'productImage.src' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @bdImage EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @sbResponseBody EXEC @hr = sp_OADestroy @jResp END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.