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
(Visual FoxPro) Shopware 6 - Find Product by NameSee more Shopware 6 ExamplesFind a product with a given name and get the id.
LOCAL loHttp LOCAL lnSuccess LOCAL loJson LOCAL loJsonToken LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lnNumSearchResults LOCAL lcProductId * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * Sends the following POST to find the product named "Test123" * POST /api/v3/search/product * { * "filter": [ * { "type": "equals", "field": "name", "value": "Test123" } * ], * "includes": { * "product": ["id", "name"] * } * } * Create the above JSON. * Use this online tool to generate code from sample JSON: * Generate Code to Create JSON * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString("filter[0].type","equals") loJson.UpdateString("filter[0].field","name") loJson.UpdateString("filter[0].value","Test123") loJson.UpdateString("includes.product[0]","id") loJson.UpdateString("includes.product[1]","name") * * Load the access token previously obtained in Shopware 6 OAuth2 Client Credentials * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonToken = CreateObject('Chilkat.JsonObject') loJsonToken.LoadFile("qa_data/tokens/shopware6.json") * This causes the "Authorization: Bearer <access_token>" header to be added. loHttp.AuthToken = loJsonToken.StringOf("access_token") * Note: If you get a 401 response status code, then fetch a new access token and retry. loResp = loHttp.PostJson3("https://my-shopware-6-shop.de/api/v3/search/product","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson RELEASE loJsonToken CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJResp = CreateObject('Chilkat.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0 ? "Response Body:" ? loJResp.Emit() * If we get a 401 response, it may be that our access token expired and we need to fetch a new one. lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loResp RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF RELEASE loResp * The response looks like this: * Use the following online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON * { * "data": [ * { * "id": "d195dabb53cf46d096bd9a8726d82558", * "type": "product", * "attributes": { * "name": "Test123", * "apiAlias": null * }, * "links": { * "self": "https:\/\/***.de\/api\/v3\/product\/d195dabb53cf46d096bd9a8726d82558" * }, * "relationships": [ * ], * "meta": null * } * ], * "included": [ * ], * "links": { * "self": "https:\/\/***.de\/api\/v3\/search\/product" * }, * "meta": { * "totalCountMode": 0, * "total": 1 * }, * "aggregations": [ * ] * } lnNumSearchResults = loJResp.SizeOfArray("data") IF (lnNumSearchResults <> 1) THEN ? "numSearchResults = " + STR(lnNumSearchResults) ? "Did not find the product, or unexpectedly found more than one with the same name." RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF lcProductId = loJResp.StringOf("data[0].id") ? "Product ID = " + lcProductId RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loSbResponseBody RELEASE loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.