Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL loHttp
LOCAL lcJsonResponse
LOCAL loJson
LOCAL lcV_linksSelfHref
LOCAL lcV_linksFirstHref
LOCAL lnCurrent_page
LOCAL i
LOCAL lnCount_i
LOCAL lcIdentifier
LOCAL lcFamily
LOCAL lcParent
LOCAL lnEnabled
LOCAL lcCreated
LOCAL lcUpdated
LOCAL j
LOCAL lnCount_j
LOCAL lcStrVal
LOCAL lcLocale
LOCAL lcScope
LOCAL lnData
LOCAL lcData_str
LOCAL lcV_linksDownloadHref
LOCAL lnData_int
LOCAL lcDataAmount
LOCAL lcDataUnit

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

loHttp = CreateObject('Chilkat.Http')

*  Use your previously obtained access token.
*  See Get Akeneo Access Token
loHttp.AuthToken = "access_token"

lcJsonResponse = loHttp.QuickGetStr("http://pim.my-akeneo-site.com/api/rest/v1/products")
IF (loHttp.LastMethodSuccess <> 1) THEN
    ? loHttp.LastHeader
    ? loHttp.LastErrorText
    RELEASE loHttp
    CANCEL
ENDIF

? lcJsonResponse

*  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": {}
*        }
*      ]
*    }
*  }
*  

loJson = CreateObject('Chilkat.JsonObject')
loJson.Load(lcJsonResponse)

lcV_linksSelfHref = loJson.StringOf("_links.self.href")
lcV_linksFirstHref = loJson.StringOf("_links.first.href")
lnCurrent_page = loJson.IntOf("current_page")
i = 0
lnCount_i = loJson.SizeOfArray("_embedded.items")
DO WHILE i < lnCount_i
    loJson.I = i
    lcV_linksSelfHref = loJson.StringOf("_embedded.items[i]._links.self.href")
    lcIdentifier = loJson.StringOf("_embedded.items[i].identifier")
    lcFamily = loJson.StringOf("_embedded.items[i].family")
    lcParent = loJson.StringOf("_embedded.items[i].parent")
    lnEnabled = loJson.BoolOf("_embedded.items[i].enabled")
    lcCreated = loJson.StringOf("_embedded.items[i].created")
    lcUpdated = loJson.StringOf("_embedded.items[i].updated")
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].groups")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcStrVal = loJson.StringOf("_embedded.items[i].groups[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].categories")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcStrVal = loJson.StringOf("_embedded.items[i].categories[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.blocked")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.blocked[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.blocked[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.blocked[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.can_cut")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.can_cut[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.can_cut[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.can_cut[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.not_used")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.not_used[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.not_used[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.not_used[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.deny_delivery")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.deny_delivery[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.deny_delivery[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.deny_delivery[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.can_split_package")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.can_split_package[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.can_split_package[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.can_split_package[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.transfer_to_warehouse")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.transfer_to_warehouse[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.transfer_to_warehouse[j].scope")
        lnData = loJson.BoolOf("_embedded.items[i].values.transfer_to_warehouse[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.product_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.product_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.product_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.product_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.nuotrauka")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.nuotrauka[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.nuotrauka[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.nuotrauka[j].data")
        lcV_linksDownloadHref = loJson.StringOf("_embedded.items[i].values.nuotrauka[j]._links.download.href")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.minimum_quantity")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.minimum_quantity[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.minimum_quantity[j].scope")
        lnData_int = loJson.IntOf("_embedded.items[i].values.minimum_quantity[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.code[j].scope")
        lnData_int = loJson.IntOf("_embedded.items[i].values.code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.name")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.name[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.name[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.name[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.fsc_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.fsc_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.fsc_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.fsc_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.warehouse")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.warehouse[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.warehouse[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.warehouse[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.item_volume")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.item_volume[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.item_volume[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.item_volume[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.item_volume[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.customs_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.customs_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.customs_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.customs_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.product_type")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.product_type[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.product_type[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.product_type[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.weight_netto")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.weight_netto[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.weight_netto[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.weight_netto[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.weight_netto[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.supplier_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.supplier_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.supplier_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.supplier_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.tariff_number")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.tariff_number[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.tariff_number[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.tariff_number[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.weight_brutto")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.weight_brutto[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.weight_brutto[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.weight_brutto[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.weight_brutto[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_code_1")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_code_1[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_code_1[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.package_code_1[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_code_2")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_code_2[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_code_2[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.package_code_2[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_code_3")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_code_3[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_code_3[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.package_code_3[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.supplier_number")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.supplier_number[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.supplier_number[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.supplier_number[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_volume_1")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_volume_1[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_volume_1[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_volume_1[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_volume_1[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_volume_2")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_volume_2[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_volume_2[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_volume_2[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_volume_2[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_volume_3")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_volume_3[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_volume_3[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_volume_3[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_volume_3[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_weight_1")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_weight_1[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_weight_1[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_weight_1[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_weight_1[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_weight_2")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_weight_2[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_weight_2[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_weight_2[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_weight_2[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.package_weight_3")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.package_weight_3[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.package_weight_3[j].scope")
        lcDataAmount = loJson.StringOf("_embedded.items[i].values.package_weight_3[j].data.amount")
        lcDataUnit = loJson.StringOf("_embedded.items[i].values.package_weight_3[j].data.unit")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.country_of_origin")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.country_of_origin[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.country_of_origin[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.country_of_origin[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.product_group_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.product_group_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.product_group_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.product_group_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.base_measurement_unit")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.base_measurement_unit[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.base_measurement_unit[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.base_measurement_unit[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.measurement_unit_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.measurement_unit_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.measurement_unit_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.measurement_unit_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.product_category_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.product_category_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.product_category_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.product_category_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.sale_measurement_unit")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.sale_measurement_unit[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.sale_measurement_unit[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.sale_measurement_unit[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.country_of_origin_code")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.country_of_origin_code[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.country_of_origin_code[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.country_of_origin_code[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.vat_registration_group")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.vat_registration_group[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.vat_registration_group[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.vat_registration_group[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.critical_amount_of_stock")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.critical_amount_of_stock[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.critical_amount_of_stock[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.critical_amount_of_stock[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.stock_registration_group")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.stock_registration_group[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.stock_registration_group[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.stock_registration_group[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.purchase_measurement_unit")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.purchase_measurement_unit[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.purchase_measurement_unit[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.purchase_measurement_unit[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.product_registration_group")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.product_registration_group[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.product_registration_group[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.product_registration_group[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.base_measurement_unit_quantity")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.base_measurement_unit_quantity[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.comment")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.comment[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.comment[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.comment[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.units_in_pallet")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.units_in_pallet[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.units_in_pallet[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.units_in_pallet[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.first_description")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.first_description[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.first_description[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.first_description[j].data")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJson.SizeOfArray("_embedded.items[i].values.second_description")
    DO WHILE j < lnCount_j
        loJson.J = j
        lcLocale = loJson.StringOf("_embedded.items[i].values.second_description[j].locale")
        lcScope = loJson.StringOf("_embedded.items[i].values.second_description[j].scope")
        lcData_str = loJson.StringOf("_embedded.items[i].values.second_description[j].data")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loJson