Sample code for 30+ languages & platforms
AutoIt

Shopware Create a New Product

See more Shopware Examples

Create a new product in Shopware.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")

$oHttp.Login = "api_username"
$oHttp.Password = "api_key"
$oHttp.BasicAuth = True

;  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
;        }
;      ]
;    }
;  }

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

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://my-shopware-shop.com/api/articles",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)

$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

;  A 201 response code indicates success.
Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
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

$bSuccess = $oJResp.BoolOf("success")
Local $iDataId = $oJResp.IntOf("data.id")
Local $sDataLocation = $oJResp.StringOf("data.location")