Sample code for 30+ languages & platforms
Xbase++

Akeneo: Get List of Products

See more HTTP Misc Examples

Using a previously obtained request token, demonstrates how to get a list of products.

Chilkat Xbase++ Downloads

Xbase++
LOCAL oHttp
LOCAL cJsonResponse
LOCAL oJson
LOCAL cV_linksSelfHref
LOCAL cV_linksFirstHref
LOCAL nCurrent_page
LOCAL i
LOCAL nCount_i
LOCAL cIdentifier
LOCAL cFamily
LOCAL cParent
LOCAL nEnabled
LOCAL cCreated
LOCAL cUpdated
LOCAL j
LOCAL nCount_j
LOCAL cStrVal
LOCAL cLocale
LOCAL cScope
LOCAL nData
LOCAL cData_str
LOCAL cV_linksDownloadHref
LOCAL nData_int
LOCAL cDataAmount
LOCAL cDataUnit

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

oHttp := CreateObject("Chilkat.Http")

//  Use your previously obtained access token.
//  See Get Akeneo Access Token
oHttp:AuthToken := "access_token"

cJsonResponse := oHttp:QuickGetStr("http://pim.my-akeneo-site.com/api/rest/v1/products")
IF (oHttp:LastMethodSuccess != 1)
    ? oHttp:LastHeader
    ? oHttp:LastErrorText
    oHttp:destroy()
    RETURN
ENDIF

? cJsonResponse

//  A sample response looks like this.
//  See below for sample code to parse the JSON response..

//  {
//    "_links": {
//      "self": {
//        "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
//      },
//      "first": {
//        "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
//      },
//      "previous": {
//        "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
//      },
//      "next": {
//        "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
//      }
//    },
//    "current_page": 3,
//    "_embedded": {
//      "_items": [
//        {
//          "_links": {
//            "self": {
//              "href": "https://demo.akeneo.com/api/rest/v1/product/top"
//            }
//          },
//          "identifier": "top",
//          "family": "tshirt",
//          "groups": [],
//          "parent": null,
//          "categories": [
//            "summer_collection"
//          ],
//          "enabled": true,
//          "values": {
//            "name": [
//              {
//                "data": "Top",
//                "locale": "en_US",
//                "scope": null
//              },
//              {
//                "data": "D�bardeur",
//                "locale": "fr_FR",
//                "scope": null
//              }
//            ],
//            "description": [
//              {
//                "data": "Summer top",
//                "locale": "en_US",
//                "scope": "ecommerce"
//              },
//              {
//                "data": "Top",
//                "locale": "en_US",
//                "scope": "tablet"
//              },
//              {
//                "data": "D�bardeur pour l'�t�",
//                "locale": "fr_FR",
//                "scope": "ecommerce"
//              },
//              {
//                "data": "D�bardeur",
//                "locale": "fr_FR",
//                "scope": "tablet"
//              }
//            ],
//            "price": [
//              {
//                "locale": null,
//                "scope": null,
//                "data": [
//                  {
//                    "amount": "15.5",
//                    "currency": "EUR"
//                  },
//                  {
//                    "amount": "15",
//                    "currency": "USD"
//                  }
//                ]
//              }
//            ],
//            "color": [
//              {
//                "locale": null,
//                "scope": null,
//                "data": "black"
//              }
//            ],
//            "size": [
//              {
//                "locale": null,
//                "scope": null,
//                "data": "m"
//              }
//            ]
//          },
//          "created": "2016-06-23T18:24:44+02:00",
//          "updated": "2016-06-25T17:56:12+02:00",
//          "associations": {
//            "PACK": {
//              "products": [
//                "sunglasses"
//              ],
//              "groups": []
//            }
//          }
//        },
//        {
//          "_links": {
//            "self": {
//              "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
//            }
//          },
//          "identifier": "cap",
//          "family": "caps",
//          "groups": [],
//          "parent": null,
//          "categories": [
//            "summer_collection"
//          ],
//          "enabled": true,
//          "values": {
//            "name": [
//              {
//                "data": "Cap",
//                "locale": "en_US",
//                "scope": null
//              },
//              {
//                "data": "Casquette",
//                "locale": "fr_FR",
//                "scope": null
//              }
//            ],
//            "description": [
//              {
//                "data": "Cap unisex",
//                "locale": "en_US",
//                "scope": "ecommerce"
//              },
//              {
//                "data": "Cap unisex",
//                "locale": "en_US",
//                "scope": "tablet"
//              },
//              {
//                "data": "Casquette unisexe",
//                "locale": "fr_FR",
//                "scope": "ecommerce"
//              },
//              {
//                "data": "Casquette unisexe",
//                "locale": "fr_FR",
//                "scope": "tablet"
//              }
//            ],
//            "price": [
//              {
//                "locale": null,
//                "scope": null,
//                "data": [
//                  {
//                    "amount": "20",
//                    "currency": "EUR"
//                  },
//                  {
//                    "amount": "20",
//                    "currency": "USD"
//                  }
//                ]
//              }
//            ],
//            "color": [
//              {
//                "locale": null,
//                "scope": null,
//                "data": "black"
//              }
//            ]
//          },
//          "created": "2016-06-23T18:24:44+02:00",
//          "updated": "2016-06-25T17:56:12+02:00",
//          "associations": {
//            "PACK": {
//              "products": [
//                "sunglasses"
//              ],
//              "groups": []
//            }
//          }
//        },
//        {
//          "_links": {
//            "self": {
//              "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
//            }
//          },
//          "identifier": "sweat",
//          "family": null,
//          "groups": [],
//          "parent": null,
//          "categories": [
//            "winter_collection"
//          ],
//          "enabled": true,
//          "values": {},
//          "created": "2016-06-23T11:24:44+02:00",
//          "updated": "2016-06-23T11:24:44+02:00",
//          "associations": {}
//        }
//      ]
//    }
//  }
//  

oJson := CreateObject("Chilkat.JsonObject")
oJson:Load(cJsonResponse)

cV_linksSelfHref := oJson:StringOf("_links.self.href")
cV_linksFirstHref := oJson:StringOf("_links.first.href")
nCurrent_page := oJson:IntOf("current_page")
i := 0
nCount_i := oJson:SizeOfArray("_embedded.items")
DO WHILE i < nCount_i
    oJson:I := i
    cV_linksSelfHref := oJson:StringOf("_embedded.items[i]._links.self.href")
    cIdentifier := oJson:StringOf("_embedded.items[i].identifier")
    cFamily := oJson:StringOf("_embedded.items[i].family")
    cParent := oJson:StringOf("_embedded.items[i].parent")
    nEnabled := oJson:BoolOf("_embedded.items[i].enabled")
    cCreated := oJson:StringOf("_embedded.items[i].created")
    cUpdated := oJson:StringOf("_embedded.items[i].updated")
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].groups")
    DO WHILE j < nCount_j
        oJson:J := j
        cStrVal := oJson:StringOf("_embedded.items[i].groups[j]")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].categories")
    DO WHILE j < nCount_j
        oJson:J := j
        cStrVal := oJson:StringOf("_embedded.items[i].categories[j]")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.blocked")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.blocked[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.blocked[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.blocked[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.can_cut")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.can_cut[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.can_cut[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.can_cut[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.not_used")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.not_used[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.not_used[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.not_used[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.deny_delivery")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.deny_delivery[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.deny_delivery[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.deny_delivery[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.can_split_package")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.can_split_package[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.can_split_package[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.can_split_package[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.transfer_to_warehouse")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.transfer_to_warehouse[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.transfer_to_warehouse[j].scope")
        nData := oJson:BoolOf("_embedded.items[i].values.transfer_to_warehouse[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.product_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.product_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.product_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.product_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.nuotrauka")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.nuotrauka[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.nuotrauka[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.nuotrauka[j].data")
        cV_linksDownloadHref := oJson:StringOf("_embedded.items[i].values.nuotrauka[j]._links.download.href")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.minimum_quantity")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.minimum_quantity[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.minimum_quantity[j].scope")
        nData_int := oJson:IntOf("_embedded.items[i].values.minimum_quantity[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.code[j].scope")
        nData_int := oJson:IntOf("_embedded.items[i].values.code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.name")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.name[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.name[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.name[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.fsc_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.fsc_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.fsc_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.fsc_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.warehouse")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.warehouse[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.warehouse[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.warehouse[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.item_volume")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.item_volume[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.item_volume[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.item_volume[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.item_volume[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.customs_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.customs_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.customs_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.customs_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.product_type")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.product_type[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.product_type[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.product_type[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.weight_netto")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.weight_netto[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.weight_netto[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.weight_netto[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.weight_netto[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.supplier_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.supplier_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.supplier_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.supplier_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.tariff_number")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.tariff_number[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.tariff_number[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.tariff_number[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.weight_brutto")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.weight_brutto[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.weight_brutto[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.weight_brutto[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.weight_brutto[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_code_1")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_code_1[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_code_1[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.package_code_1[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_code_2")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_code_2[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_code_2[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.package_code_2[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_code_3")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_code_3[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_code_3[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.package_code_3[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.supplier_number")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.supplier_number[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.supplier_number[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.supplier_number[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_volume_1")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_volume_1[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_volume_1[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_volume_1[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_volume_1[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_volume_2")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_volume_2[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_volume_2[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_volume_2[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_volume_2[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_volume_3")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_volume_3[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_volume_3[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_volume_3[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_volume_3[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_weight_1")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_weight_1[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_weight_1[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_weight_1[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_weight_1[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_weight_2")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_weight_2[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_weight_2[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_weight_2[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_weight_2[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.package_weight_3")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.package_weight_3[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.package_weight_3[j].scope")
        cDataAmount := oJson:StringOf("_embedded.items[i].values.package_weight_3[j].data.amount")
        cDataUnit := oJson:StringOf("_embedded.items[i].values.package_weight_3[j].data.unit")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.country_of_origin")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.country_of_origin[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.country_of_origin[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.country_of_origin[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.product_group_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.product_group_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.product_group_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.product_group_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.base_measurement_unit")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.base_measurement_unit[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.base_measurement_unit[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.base_measurement_unit[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.measurement_unit_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.measurement_unit_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.measurement_unit_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.measurement_unit_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.product_category_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.product_category_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.product_category_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.product_category_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.sale_measurement_unit")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.sale_measurement_unit[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.sale_measurement_unit[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.sale_measurement_unit[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.country_of_origin_code")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.country_of_origin_code[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.country_of_origin_code[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.country_of_origin_code[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.vat_registration_group")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.vat_registration_group[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.vat_registration_group[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.vat_registration_group[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.critical_amount_of_stock")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.critical_amount_of_stock[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.critical_amount_of_stock[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.critical_amount_of_stock[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.stock_registration_group")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.stock_registration_group[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.stock_registration_group[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.stock_registration_group[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.purchase_measurement_unit")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.purchase_measurement_unit[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.purchase_measurement_unit[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.purchase_measurement_unit[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.product_registration_group")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.product_registration_group[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.product_registration_group[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.product_registration_group[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.base_measurement_unit_quantity")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.comment")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.comment[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.comment[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.comment[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.units_in_pallet")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.units_in_pallet[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.units_in_pallet[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.units_in_pallet[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.first_description")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.first_description[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.first_description[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.first_description[j].data")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("_embedded.items[i].values.second_description")
    DO WHILE j < nCount_j
        oJson:J := j
        cLocale := oJson:StringOf("_embedded.items[i].values.second_description[j].locale")
        cScope := oJson:StringOf("_embedded.items[i].values.second_description[j].scope")
        cData_str := oJson:StringOf("_embedded.items[i].values.second_description[j].data")
        j := j + 1
    ENDDO
    i := i + 1
ENDDO

oHttp:destroy()
oJson:destroy()