Sample code for 30+ languages & platforms
Visual FoxPro

Shopware Create a New Product

See more Shopware Examples

Create a new product in Shopware.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lnDataId
LOCAL lcDataLocation

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat.Http')

loHttp.Login = "api_username"
loHttp.Password = "api_key"
loHttp.BasicAuth = 1

* Use this online tool to generate code from sample JSON:
* Generate Code to Create JSON

* The following JSON is sent in the request body.

* {
*   "name": "Sport Shoes",
*   "active": true,
*   "tax": 19,
*   "supplier": "Sport Shoes Inc.",
*   "categories": [
*     {
*       "id": 384
*     }
*   ],
*   "mainDetail": {
*     "number": "turn",
*     "active": true,
*     "prices": [
*       {
*         "customerGroupKey": "EK",
*         "price": 999
*       }
*     ]
*   }
* }

loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("name","Sport Shoes")
loJson.UpdateBool("active",1)
loJson.UpdateInt("tax",19)
loJson.UpdateString("supplier","Sport Shoes Inc.")
loJson.UpdateInt("categories[0].id",384)
loJson.UpdateString("mainDetail.number","turn")
loJson.UpdateBool("mainDetail.active",1)
loJson.UpdateString("mainDetail.prices[0].customerGroupKey","EK")
loJson.UpdateInt("mainDetail.prices[0].price",999)

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://my-shopware-shop.com/api/articles",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    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()

* A 201 response code indicates success.
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

* 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

lnSuccess = loJResp.BoolOf("success")
lnDataId = loJResp.IntOf("data.id")
lcDataLocation = loJResp.StringOf("data.location")

RELEASE loHttp
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp