Sample code for 30+ languages & platforms
AutoIt

Shopware Upload Media (JPG File)

See more Shopware Examples

Demonstrates how to upload a media file to a Shopware shop.

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.

;  {
;    "file": "data:image/jpeg;base64,BASE64_DATA_HERE",
;    "album": -9,
;    "description": "image description",
;    "userId": 5,
;    "name": "my_image"
;  }

$oSbFileData = ObjCreate("Chilkat.StringBuilder")
$oSbFileData.Append("data:image/jpeg;base64,")
$oBdFileData = ObjCreate("Chilkat.BinData")
$bSuccess = $oBdFileData.LoadFile("qa_data/jpg/starfish.jpg")
If ($bSuccess = False) Then
    ConsoleWrite("Failed to load file." & @CRLF)
    Exit
EndIf

$oSbFileData.Append($oBdFileData.GetEncoded("base64"))

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("file",$oSbFileData.GetAsString())
$oJson.UpdateInt("album",-9)
$oJson.UpdateString("description","image description")
$oJson.UpdateInt("userId",5)
$oJson.UpdateString("name","my_image")

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://my-shopware-shop.com/api/media",$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": 6862,
;      "location": "http:\/\/my-shopware-shop.com\/api\/media\/6862"
;    }
;  }

;  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")