Get product 📘

GET /products/{segment_key}/{product_id}

Get all information about a product:

  • descriptions in multiple languages - name / long description / short description
  • picture URLs - main picture + additional pictures
  • documents in multiple languages - technical sheet, manuals, CE certificates...
  • property values - as defined by segment data model
  • variants - child products which are variants of the parent product
  • SKUs - logistic references for products
  • relations with other products - symmetrical and asymmetrical, and potentially from other segments

Path parameters

  • segment_key string Required

    The segment key, as returned by list segments endpoint.

    Values are hand-protection, foot-protection, head-protection, eye-protection, body-protection, ear-protection, fall-protection, respiratory-protection, ergonomy, safety-first-aid, hygiene, lockout-tagout, electrical, lightening, safety-signs, or surface-cleaning.

  • product_id string Required

    The unique product id, as returned by list products endpoint.

Query parameters

  • Set to "1" to request all detailed SKU information, otherwise only SKU codes will be provided. SKU data model can be requested on the Fetch segment data model endpoint with "sku" as segment key.

Responses

  • 200 object

    Successfully returned product information

    • status string
    • result object
      • languages array[string]

        Available languages depend on your corporation settings

        Value is en fr it es de hu ja be pt es fi ro tr pt-BR es-AR.

      • product object
        • Unique slug to identify the segment

          Values are hand-protection, foot-protection, head-protection, eye-protection, body-protection, ear-protection, fall-protection, respiratory-protection, ergonomy, safety-first-aid, hygiene, lockout-tagout, electrical, lightening, safety-signs, or surface-cleaning.

        • id string

          Id to identify the product, unique segment-wise

        • name string

          The name of the product

        • level string

          The level of the product in the product hierarchy. Products which are not part of any hierarchy are marked as 'single'

          Values are single, parent, or variant.

        • The URL of the main picture for the product

        • Localized URLs for the object. Available languages depend on your corporation settings

          • name object

            Translations for the object. Available languages depend on your corporation settings

          • Translations for the object. Available languages depend on your corporation settings

          • Translations for the object. Available languages depend on your corporation settings

        • pictures array[object]
        • The list of available types used as keys depend on your corporation settings and on the content attached to the product

          • Localized URLs for the object. Available languages depend on your corporation settings

          • Localized URLs for the object. Available languages depend on your corporation settings

        • values object

          Property values attached to this object

          • To be replaced with the property key of the property

          • value string

            The value for this property can be:

            • a value_key for enum
            • an array of value_key for enum_list
            • a string otherwise
        • variants array[object]

          The list of available variants of this product

          • Unique slug to identify the segment

            Values are hand-protection, foot-protection, head-protection, eye-protection, body-protection, ear-protection, fall-protection, respiratory-protection, ergonomy, safety-first-aid, hygiene, lockout-tagout, electrical, lightening, safety-signs, or surface-cleaning.

          • id string

            Id to identify the product, unique segment-wise

          • name string

            The name of the variant product

          • code string

            The code to identify the variant (optional)

          • The API endpoint to get all information on the product

          • The URL of the main picture for the product

          • values object

            Property values attached to this object

            • To be replaced with the property key of the property

            • value string

              The value for this property can be:

              • a value_key for enum
              • an array of value_key for enum_list
              • a string otherwise
        • Parent product if current product is a variant

          • Unique slug to identify the segment

            Values are hand-protection, foot-protection, head-protection, eye-protection, body-protection, ear-protection, fall-protection, respiratory-protection, ergonomy, safety-first-aid, hygiene, lockout-tagout, electrical, lightening, safety-signs, or surface-cleaning.

          • id string

            Id to identify the product, unique segment-wise

          • name string

            The name of the product

          • level string

            The level of the product in the product hierarchy. Products which are not part of any hierarchy are marked as 'single'

            Values are single, parent, or variant.

          • Date of last modification on product

          • The API endpoint to get all information on the product

          • The URL of the main picture for the product

          • The URL of the public product page

        • skus array[object]

          The list of active SKUs on this product. SKU data model can be requested on the Fetch segment data model endpoint with "sku" as segment key.

          • code string

            The unique code for the SKU

          • label string

            A description for this SKU

          • values object

            Property values attached to this object

            • To be replaced with the property key of the property

            • value string

              The value for this property can be:

              • a value_key for enum
              • an array of value_key for enum_list
              • a string otherwise
        • relations array[object]

          The list of relations that this product has with other products, potentially from other segments. Relations can be asymmetrical or symmetrical. In a symmetrical relation both product are at the same level, whereas in an asymmetrical relation the roles of the products involved is not the same, one is the leader and the other the follower.

          • key string

            A key to define the type of relation between two products

            Values are is_part_of_kit, has_for_kit_content, is_spare_part_for, has_for_spare_parts, is_accessory_for, has_for_accessories, is_replaceable_by, can_replace, is_premium_replaceable_by, can_premium_replace, associated, or part_of_same_collection.

          • type string

            Defines wether a relation is symmetrical (true for both parties equally) or asymmetrical (different for each party)

            Values are symmetrical or asymmetrical.

          • products array[object]

            The list of relations with other products on this product

            • Unique slug to identify the segment

              Values are hand-protection, foot-protection, head-protection, eye-protection, body-protection, ear-protection, fall-protection, respiratory-protection, ergonomy, safety-first-aid, hygiene, lockout-tagout, electrical, lightening, safety-signs, or surface-cleaning.

            • id string

              Id to identify the product, unique segment-wise

            • name string

              The name of the product

            • level string

              The level of the product in the product hierarchy. Products which are not part of any hierarchy are marked as 'single'

              Values are single, parent, or variant.

            • Date of last modification on product

            • The API endpoint to get all information on the product

            • The URL of the main picture for the product

            • The URL of the public product page

        • countries array[string]

          The list of countries in which the product is sold, using alpha-2 iso codes

  • 404 object

    Unknown product id

  • 403 object

    Unauthorized product

  • 419 object

    Rate limit exceeded

GET /products/{segment_key}/{product_id}
curl \
 -X GET https://api.ppe-analytics.com/api/v1/products/surface-cleaning/cbdeacabd0128cb641b64d0c0f590332 \
 -H "PPEApiKey: $API_KEY"
Response example (200)
{
  "status": "OK",
  "result": {
    "languages": [
      "en",
      "fr"
    ],
    "product": {
      "segment_key": "surface-cleaning",
      "id": "f50938a24830edb8b1c2ecc3f7dd88a3",
      "name": "Apo-low 1027",
      "level": "parent",
      "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
      "product_page_urls": {
        "en": "https://website.uk/product-64654",
        "fr": "https://website.fr/produit-64654"
      },
      "descriptions": {
        "name": {
          "en": "Apo-low 1027",
          "fr": "Apo-bas 1027"
        },
        "description": {
          "en": "This product is truly awesome and made for you",
          "fr": "Ce produit est vraiment incroyable et pensé pour vous"
        },
        "short_description": {
          "en": "You deserve the best",
          "fr": "La meilleure qualité pour vous"
        }
      },
      "pictures": [
        {
          "is_main_picture": true,
          "asset_uuid": "9e158040-272e-4f6a-8da5-1bed82f8ca80-0.jpg",
          "original": "https://app.ppe-analytics.com/static/assets/mapa/9e/15/9e158040-272e-4f6a-8da5-1bed82f8ca80/9e158040-272e-4f6a-8da5-1bed82f8ca80-0.jpg",
          "square-80px": "https://app.ppe-analytics.com/static/assets/mapa/9e/15/9e158040-272e-4f6a-8da5-1bed82f8ca80/9e158040-272e-4f6a-8da5-1bed82f8ca80-0-80.jpg",
          "square-300px": "https://app.ppe-analytics.com/static/assets/mapa/9e/15/9e158040-272e-4f6a-8da5-1bed82f8ca80/9e158040-272e-4f6a-8da5-1bed82f8ca80-0-300.jpg",
          "square-600px": "https://app.ppe-analytics.com/static/assets/mapa/9e/15/9e158040-272e-4f6a-8da5-1bed82f8ca80/9e158040-272e-4f6a-8da5-1bed82f8ca80-0-600.jpg"
        },
        {
          "asset_uuid": "6cb60165-78ab-4bd7-8ac7-2afc3a5c952d-0.png",
          "original": "https://app.ppe-analytics.com/static/assets/mapa/6c/b6/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d-0.png",
          "square-80px": "https://app.ppe-analytics.com/static/assets/mapa/6c/b6/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d-0-80.png",
          "square-300px": "https://app.ppe-analytics.com/static/assets/mapa/6c/b6/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d-0-300.png",
          "square-600px": "https://app.ppe-analytics.com/static/assets/mapa/6c/b6/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d/6cb60165-78ab-4bd7-8ac7-2afc3a5c952d-0-600.png"
        }
      ],
      "documents": {
        "technical-sheet": {
          "en": "https://spontex.ppe-analytics.com/en/product/f50938a24830edb8b1c2ecc3f7dd88a3/pdf/technical-sheet",
          "fr": "https://spontex.ppe-analytics.com/fr/product/f50938a24830edb8b1c2ecc3f7dd88a3/pdf/technical-sheet"
        },
        "dcue-certificate": {
          "en": "https://spontex.ppe-analytics.com/en/product/f50938a24830edb8b1c2ecc3f7dd88a3/pdf/dcue-certificate",
          "fr": "https://spontex.ppe-analytics.com/fr/product/f50938a24830edb8b1c2ecc3f7dd88a3/pdf/dcue-certificate"
        }
      },
      "values": {
        "main-color": [
          "blue"
        ],
        "has-latex": true,
        "en388-digits": "4343X"
      },
      "variants": [
        {
          "product_id": "f60938a24830edb8b1c2ecc3f7dd88a4",
          "segment_key": "ear-protection",
          "label": "Apo-low 1027 BLUEGREEN",
          "code": "1027-BG",
          "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
          "api_get_product": "/api/v1/products/ear-protection/f60938a24830edb8b1c2ecc3f7dd88a4",
          "values": {
            "color": [
              "blue",
              "green"
            ]
          }
        },
        {
          "product_id": "f70938a24830edb8b1c2ecc3f7dd88a5",
          "segment_key": "ear-protection",
          "label": "Apo-low 1027 BLUEBLACK",
          "code": "1027-BB",
          "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
          "api_get_product": "/api/v1/products/ear-protection/f70938a24830edb8b1c2ecc3f7dd88a5",
          "values": {
            "color": [
              "blue",
              "black"
            ]
          }
        }
      ],
      "skus": [
        {
          "code": "APO1027-123",
          "label": "APO-LOW 1027 polybag",
          "values": [
            {
              "basic-unit-kind": "bg",
              "basic-packaging-ean": 283762387623,
              "basic-packaging-gross-weight": 540
            }
          ]
        },
        {
          "code": "APO1027-456",
          "label": "APO-LOW 1027 single",
          "values": [
            {
              "basic-unit-kind": "ea",
              "basic-packaging-ean": 283762387624,
              "basic-packaging-gross-weight": 122
            }
          ]
        },
        {
          "code": "APO1027-777",
          "label": "APO-LOW 1027 FOR EXPORT",
          "values": [
            {
              "basic-unit-kind": "bx",
              "basic-packaging-ean": 283762387625,
              "basic-packaging-gross-weight": 1250
            }
          ]
        }
      ],
      "relations": [
        {
          "key": "is_part_of_kit",
          "type": "asymmetrical",
          "products": [
            {
              "product_id": "f70938a24830edb8b1c2ecc3f7dd88a5",
              "segment_key": "surface-cleaning",
              "label": "Kit nettoyage",
              "code": "CLEAN-KIT",
              "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
              "api_get_product": "/api/v1/products/ear-protection/f70938a24830edb8b1c2ecc3f7dd88a5"
            }
          ]
        },
        {
          "key": "can_replace",
          "type": "asymmetrical",
          "products": [
            {
              "product_id": "f70938a24830edb8b1c2ecc3f7dd88a5",
              "segment_key": "surface-cleaning",
              "label": "Apo li light",
              "code": "APOLI",
              "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
              "api_get_product": "/api/v1/products/ear-protection/f70938a24830edb8b1c2ecc3f7dd88a5"
            },
            {
              "product_id": "f70938a24830edb8b1c2ecc3f7dd88a5",
              "segment_key": "surface-cleaning",
              "label": "Apo logic",
              "code": "APOLOGIC",
              "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
              "api_get_product": "/api/v1/products/ear-protection/f70938a24830edb8b1c2ecc3f7dd88a5"
            }
          ]
        },
        {
          "key": "associated",
          "type": "symmetrical",
          "products": [
            {
              "product_id": "f70938a24830edb8b1c2ecc3f7dd88a5",
              "segment_key": "eye-protection",
              "label": "Lunettes anti projections",
              "code": "9872323-LUN",
              "main_picture_url": "https://app.ppe-analytics.com/static/pictures/300/surface-cleaning/f50938a24830edb8b1c2ecc3f7dd88a3.jpg",
              "api_get_product": "/api/v1/products/ear-protection/f70938a24830edb8b1c2ecc3f7dd88a5"
            }
          ]
        }
      ],
      "countries": [
        "it",
        "fr",
        "gb",
        "ml"
      ]
    }
  }
}
Response example (404)
{
  "status": "ERROR",
  "message": "Unknown product id 'abcdef-1234'"
}
Response example (403)
{
  "status": "ERROR",
  "message": "Unauthorized access to product 'secret-agent/007'"
}
Response example (419)
{
  "status": "ERROR",
  "message": "Rate limit exceeded on this endpoint. Please slow down your calls a little"
}