Sample code for 30+ languages & platforms
Ruby

Shopware List Categories

See more Shopware Examples

List categories in your Shopware database.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

http.put_Login("api_username")
http.put_Password("api_key")
http.put_BasicAuth(true)

sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://my-shopware-shop.com/api/categories?limit=2",sbResponseBody)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)
jResp.put_EmitCompact(false)

print "Response Body:" + "\n";
print jResp.emit() + "\n";

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "data": [
#     {
#       "id": 1,
#       "active": true,
#       "name": "Root",
#       "position": 0,
#       "parentId": null,
#       "mediaId": null,
#       "childrenCount": "3",
#       "articleCount": "0"
#     },
#     {
#       "id": 384,
#       "active": true,
#       "name": "Deutsch",
#       "position": 0,
#       "parentId": 1,
#       "mediaId": null,
#       "childrenCount": "9",
#       "articleCount": "32"
#     }
#   ],
#   "total": 118,
#   "success": true
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

total = jResp.IntOf("total")
success = jResp.BoolOf("success")
i = 0
count_i = jResp.SizeOfArray("data")
while i < count_i
    jResp.put_I(i)
    id = jResp.IntOf("data[i].id")
    active = jResp.BoolOf("data[i].active")
    name = jResp.stringOf("data[i].name")
    position = jResp.IntOf("data[i].position")
    parentId = jResp.stringOf("data[i].parentId")
    mediaId = jResp.stringOf("data[i].mediaId")
    childrenCount = jResp.stringOf("data[i].childrenCount")
    articleCount = jResp.stringOf("data[i].articleCount")
    i = i + 1
end