C
C
Shopware Update Product Data
See more Shopware Examples
Update information about an existing product in Shopware.Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkJsonObject json;
const char *url;
HCkHttpResponse resp;
HCkStringBuilder sbResponseBody;
HCkJsonObject jResp;
int respStatusCode;
int dataId;
const char *dataLocation;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
CkHttp_putLogin(http,"api_username");
CkHttp_putPassword(http,"api_key");
CkHttp_putBasicAuth(http,TRUE);
// The following JSON is sent in the request body.
// {
// "name": "Super-Duper Sports Shoes"
// }
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"name","Super-Duper Sports Shoes");
// The id of the product is appended to the path part of the URL.
CkHttp_SetUrlVar(http,"id","8312");
url = "https://my-shopware-shop.com/api/articles/{$id}";
resp = CkHttpResponse_Create();
success = CkHttp_HttpJson(http,"PUT",url,json,"application/json",resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
return;
}
sbResponseBody = CkStringBuilder_Create();
CkHttpResponse_GetBodySb(resp,sbResponseBody);
jResp = CkJsonObject_Create();
CkJsonObject_LoadSb(jResp,sbResponseBody);
CkJsonObject_putEmitCompact(jResp,FALSE);
printf("Response Body:\n");
printf("%s\n",CkJsonObject_emit(jResp));
// A 200 response code indicates success.
respStatusCode = CkHttpResponse_getStatusCode(resp);
printf("Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
printf("Response Header:\n");
printf("%s\n",CkHttpResponse_header(resp));
printf("Failed.\n");
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "success": true,
// "data": {
// "id": 8312,
// "location": "https:\/\/my-shopware-shop.com\/api\/articles\/8312"
// }
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
success = CkJsonObject_BoolOf(jResp,"success");
dataId = CkJsonObject_IntOf(jResp,"data.id");
dataLocation = CkJsonObject_stringOf(jResp,"data.location");
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
}