![]() |
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) Shopware 6 - Delete CategorySee more Shopware 6 ExamplesDelete a category by name.Note: This example requires Chilkat v11.0.0 or greater.
LOCAL lnSuccess LOCAL loHttp LOCAL loJson LOCAL loJsonToken LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lnNumSearchResults LOCAL lcCategoryId LOCAL loSbUrl LOCAL lcJsonStr lnSuccess = 0 * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loHttp = CreateObject('Chilkat.Http') * First, let's search for the category by name because we'll need to know the category's id to delete. * Sends the following POST * POST /api/v3/search/category * { * "filter": [ * { "type": "equals", "field": "name", "value": "Test123" } * ], * "includes": { * "category": ["id", "name"] * } * } * Create the above JSON. * Use this online tool to generate code from sample JSON: * Generate Code to Create JSON 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.category[0]","id") loJson.UpdateString("includes.category[1]","name") * Load the access token previously obtained in Shopware 6 OAuth2 Client Credentials 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 = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpJson("POST","https://my-shopware-6-shop.de/api/v3/search/category",loJson,"application/json",loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loResp CANCEL ENDIF loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) 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 loHttp RELEASE loJson RELEASE loJsonToken RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF * The response looks like this: * Use the following online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON * { * "data": [ * { * "id": "89c4131789fd422c8f00cf37bbb83330", * "type": "category", * "attributes": { * "name": "Test123", * "apiAlias": null * }, * "links": { * "self": "https:\/\/***.de\/api\/v3\/category\/89c4131789fd422c8f00cf37bbb83330" * }, * "relationships": [ * ], * "meta": null * } * ], * "included": [ * ], * "links": { * "self": "https:\/\/***.de\/api\/v3\/search\/category" * }, * "meta": { * "totalCountMode": 0, * "total": 1 * }, * "aggregations": [ * ] * } lnNumSearchResults = loJResp.SizeOfArray("data") IF (lnNumSearchResults <> 1) THEN ? "numSearchResults = " + STR(lnNumSearchResults) ? "Did not find the category, or unexpectedly found more than one with the same name." RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF lcCategoryId = loJResp.StringOf("data[0].id") ? "Category ID = " + lcCategoryId * ----------------------------------------------------------------------------------------------- * Delete this category by the given ID. * We need to send a DELETE request like this: * DELETE /api/v3/category/5840ff0975ac428ebf7838359e47737f loSbUrl = CreateObject('Chilkat.StringBuilder') loSbUrl.Append("https://my-shopware-6-shop.de/api/v3/category/") loSbUrl.Append(lcCategoryId) * If successful (204 response code), then the jsonStr will be empty. * Otherwise it will be a JSON error message. lcJsonStr = loHttp.QuickDeleteStr(loSbUrl.GetAsString()) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbUrl CANCEL ENDIF * A 204 status code indicates success. lnRespStatusCode = loHttp.LastStatus ? "Response status code for DELETE: " + STR(lnRespStatusCode) * This will be non-empty if an error occurred. ? lcJsonStr RELEASE loHttp RELEASE loJson RELEASE loJsonToken RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbUrl |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.