Medipim BE - API V4

Developer documentation

POST /v4/products/query

(Last updated: 18/06/2024)

Request

Method

POST

URL

https://api.medipim.be/v4/products/query

Headers

Body

  • filter: one of the filters below; filters can be combined using and, or & not. (required)
  • sorting: one of the sortings below. (required)
  • page (required)
    • no: page number (zero-based)
    • size: one of 10, 50, 100 or 250 (defaults to 100)
Filter Description Parameters Examples
{"id": ...} Matches by product ID. One or more Medipim product IDs {"id": 1} or {"id": [1, 2]}
{"status": ...} Matches products by status. One or more product statuses.
Possible values: "active", "replaced" or "inactive".
{"status": "active"} or {"status": ["replaced", "inactive"]}
{"ecommerce": ...} Matches products by ecommerce status. One or more ecommerce statuses.
Possible values: "yes", "no" or "unknown".
{"ecommerce": "yes"} or {"ecommerce": ["yes", "unknown"]}
{"organization": ...} Matches products by organization. One or more organization IDs. {"organization": 2} or {"organization": [2, 15]}
{"publicCategory": ...} Matches products by public category. One or more public category IDs. {"publicCategory": 12} or {"publicCategory": [3, 6]}
{"brand": ...} Matches products by brand. One or more brand IDs. {"brand": 4} or {"brand": [14, 3]}
{"productFamily": ...} Matches products by product family. One or more product family IDs. {"productFamily": 4} or {"productFamily": [14, 3]}
{"search": ...} Matches products by a specific search query. Array with 'query', 'locale' and (optional) 'type' key. {"search": {"query": "my query", "locale": "en", "type": "contains"}}
{"minimumContent": ...} Matches products that have at least one photo or one description. true or false. {"minimumContent": true} or {"minimumContent": false}
{"hasContent": ...} Matches products that have specific content.
Check field glossary for more info.
Array with 'flag' and 'locale' key. {"hasContent": {"flag": "name", "locale": "en"}}
{"ean": ...} Matches products with specified EAN number.
String or integer {"ean": "3574660696318"} or {"ean": ["01234567", "123456789012", "3401526293056", ...]}
{"gtin": ...} Matches products with specified GTIN number.
(⚠️ deprecated use ean14 filter instead)
String or integer {"gtin": "03664798014846"} or {"gtin": ["03664798014846", "07613326014816", ...]}
{"ean8": ...} Matches products with specified EAN8 number. String or integer {"ean8": "01234567"} or {"ean8": ["01234567", "87654321", ...]}
{"ean12": ...} Matches products with specified EAN12 number. String or integer {"ean12": "123456789012"} or {"ean12": ["123456789012", "210987654321", ...]}
{"ean13": ...} Matches products with specified EAN13 number. String or integer {"ean13": "0012345678901"} or {"ean13": ["0012345678901", "3210987654321", ...]}
{"ean14": ...} Matches products with specified EAN14 / GTIN number. String or integer {"ean13": "01234567890123"} or {"ean13": ["01234567890123", "43210987654321", ...]}
{"hsCode": ...} Matches products with specified HS code. String or integer {"hsCode": "010203"} or {"hsCode": ["010203", "010204", ...]}
{"cnk": ...} Matches products by CNK code. One or more CNKs {"cnk": "4444444"} or {"cnk": ["1234567", "4444444"]}
{"cti": ...} Matches products with specified CTI number. String. {"cti": "240904"}
{"nameCti": ...} Matches products with specified nameCti or grouping by name number. String. [For more explanation](field-glossary.html#nameCti) {"nameCti": "603722"}
{"activeIngredient": ...} Matches products by active ingredients. One or more activeIngredient IDs. {"activeIngredient": [1, 2]}
{"conservation": ...} Matches products by conservation. One or more conservation types.
Possible values: "room", "refrigerator", "fresh", "frozen"
{"conservation":"room"} or {"conservation": ["room", "frozen", ...]}
{"prescription": ...} Matches products with or without prescription. true or false. {"prescription": true} or {"prescription": false}
{"writtenRequestByPatient": ...} Matches products with or without request written by patient. true or false. {"writtenRequestByPatient": true} or {"writtenRequestByPatient": false}
{"allowedSpecies": ...} Matches products by allowed species. One or more species
Possible values: `"human"`, `"veterinary"`, `"surface_maintenance"` or `"phytopharmacy"`.
{"allowedSpecies":"human"} or {"allowedSpecies": ["human", "veterinary", ...]}
{"atcCategory": ...} Matches products with specified ATC category code. One or more ATC category IDs. {"atcCategory": "BC01D"} or {"atcCategory": ["BC01D", "A1", ...]}
{"apbCategory": ...} Matches products by APB category. One or more APB categories
Possible values: `"specialty`", `"homeopathy`", `"ostomy_incontinence`", `"bandages_related`", `"reactive`", `"hygiene`", `"cosmetics`", `"diet_nutrition`", `"other`", `"biocide`", `"medical_device`", `"accessory`", `"pesticides_agricultural`", `"diagnostic_tool`", `"unknown`" or `"material`"
{"apbCategory":"homeopathy"} or {"apbCategory": ["material", "reactive"]}
{"bcfiCategory": ...} Matches products by BCFI category. One or BCFI category IDs. {"bcfiCategory": "0017566"} or {"bcfiCategory": ["0017566", "0000976"]}
{"officialDeletionAt": ...} Matches products with a specific commercial end date. Unix timestamp. {"officialDeletionAt": 1471525605} or {"officialDeletionAt": {"from": 1471525605, "until": 1571525605}}
{"createdAt": ...} Matches products created since the given time. Unix timestamp. {"createdAt": 1471525605} or {"createdAt": {"from": 1471525605, "until": 1571525605}}
{"updatedSince": ...} Matches products updated since the given time. Unix timestamp. {"updatedSince": 1471525605} or {"updatedSince": {"from": 1471525605, "until": 1571525605}}
{"and": [...]} Matches products that match all of the given filters. A list of filters. {"and": [{"brand": [24, 65, ...]}, {"status": "active"}]}
{"or": [...]} Matches products that match any of the given filters. A list of filters. {"or": [{"publicCategory": [2, 16, ...]}, {"status": "active"}]}
{"not": ...} Matches products that do not match the given filter. A filter. {"not": {"publicCategory": 81}}
Sorting Description Parameters Examples
{"id": ...} Sort by Medipim ID "ASC" or "DESC" {"id": "ASC"} or {"id": "DESC"}
{"name": ...} Sort by Name Array containing "direction" and "locale" {"name": {"direction": "ASC", "locale": "en"}} or ...
{"cnk": ...} Sort by CNK code "ASC" or "DESC" {"cnk": "ASC"} or {"cnk": "DESC"}
{"createdAt": ...} Sort by created time "ASC" or "DESC" {"createdAt": "ASC"} or {"createdAt": "DESC"}
{"touchedAt": ...} Sort by last updated time "ASC" or "DESC" {"touchedAt": "ASC"} or {"touchedAt": "DESC"}
{"statusTouchedAt": ...} Sort by last time status was updated "ASC" or "DESC" {"statusTouchedAt": "ASC"} or {"statusTouchedAt": "DESC"}
{"status": ...} Sort by product status "ASC" or "DESC" {"status": "ASC"} or {"status": "DESC"}

Tip

The maximum amount of identifier codes provided cannot exceed 1000.
If your query contains more than 1000, please break it down into multiple requests with smaller sets.

Response

Body

Note

The maximum number is limited to 10000; use the stream endpoint to get all results

  • meta:
    • total: total number of products across all pages. (integer)
    • page:
      • no: page number (zero-based) (integer)
      • offset: offset of the first product in the entire resultset (integer)
      • size: size of the page (integer)
  • results[]: a list of matching products on this page.
    • id: Medipim ID of the product (string, unique)
    • status: Product status ("active", "inactive", "replaced", "no_selection")
    • ecommerce: Whether a product can be sold online or not ("yes", "no" or "unknown")
    • replacement: Medipim ID of the replacing product (only in case product status is "replaced") (string)
    • name.{...}: Name (string, localized)
    • seoName.{...}: SEO friendly name (string, localized)
    • shortDescription.{...}: Short description (string, localized)  (⚠️ field is not used anymore)
    • prescription: Whether or not the product requires a prescription. (boolean)
    • writtenRequestByPatient: Written request by patient. (boolean)
    • requiresLegalText: Product requires a legal text (description) to be displayed. (boolean)
    • officialDeletionAt: Official commercial end date of the product. (unix timestamp)
    • ean[]: EAN codes (integer[])
    • gtin: GTIN code (string) (⚠️ deprecated use eanGtin14 instead)
    • ean8: EAN8 code (integer with exactly 8 digits, might start with leading zeros)
    • ean12: EAN12 code (integer with exactly 12 digits, might start with leading zeros)
    • ean13: EAN13 code (integer with exactly 13 digits, might start with leading zeros)
    • ean14: EAN14 / GTIN code (integer with exactly 14 digits, might start with leading zeros)
    • supplierReference: The internal reference code that a company gives to a product (string)
    • hsCode: Harmonised System (HS) code (integer)
    • cnk: CNK code (string)
    • udi: UDI code (string)
    • nut: NUT code (string)
    • ctiExtended: Extended CTI code (string)
    • nameCti: Grouping by name (nameCti) code (string)
    • conservationLabel: Description of the type of conservation.
    • conservationMin: Minimum value for the temperature of the type of conservation. This will be in Celsius, Fahrenheit and Kelvin.
    • conservationMax: Maximum value for the temperature of the type of conservation. This will be in Celsius, Fahrenheit and Kelvin.
    • conservation: Conservation for a given product. ("room", "refrigerator", "fresh", "frozen")
    • publicPrice: Public price (integer, in EUR)  (⚠️value is including VAT)
    • manufacturerPrice: Manufacturer price (integer, in EUR)  (⚠️value is excluding VAT)
    • pharmacistPrice: Pharmacist price (integer, in EUR)  (⚠️value is excluding VAT)
    • refundValueWithOmnio: Refund value with Omnio status (integer, in EUR)  (⚠️value is including VAT)
    • refundValueWithoutOmnio: Refund value without Omnio status (integer, in EUR)  (⚠️value is including VAT)
    • vat: rate of VAT (float)
    • weight: Weight (integer, in grams)
    • width: Width (integer, in millimeters)
    • length: Length (integer, in millimeters)
    • depth: Depth (integer, in millimeters)
    • packageContent: Package Content (string)
    • packageQuantity: Package Quantity (integer)
    • packagingUnit: Packaging unit (string)
    • atc: ATC code (string) (⚠️ deprecated use atcCategory instead)
    • atcCategory[]: List of ATC category codes associated with this product (string[])
    • publicCategories[]: A collection of public categories this product belongs to. | GET /v4/public-categories/query response
      • id: ID of the category (integer)
      • name.{...}: Name of the category (string, localized)
      • parent: ID of the parent category (integer)
      • meta:
        • createdAt: When the category was created on Medipim (unix timestamp)
        • updatedAt: When the category information was last updated (unix timestamp)
    • apbCategory[]: APB categories this product belongs to (if any)
      • id: ID of the category (string, unique)
      • name.{...}: Name of the category (string, localized)
    • bcfiCategory[]: BCFI categories this product belongs to (if any) | GET /v4/bcfi-categories/query response
      • id: ID of the category (string, unique)
      • parent: ID of the parent category (string)
      • order: Sort order of the category (integer)
      • name.{...}: Name of the category (string, localized)
      • meta:
        • createdAt: When the category was created on Medipim (unix timestamp)
        • updatedAt: When the category information was last updated (unix timestamp)
    • brands[]: A collection of brands associated with this product. | POST /v4/brands/query response
      • id: ID of the brand (integer)
      • name.{...}: Name of the brand (string, localized)
      • meta:
        • createdAt: When the brand was created on Medipim (unix timestamp)
        • updatedAt: when the brand information was last updated (unix timestamp)
    • productFamilies[]: A collection of product families associated with this product. | POST /v4/product-families/query response
      • id: ID of the product family (integer)
      • name.{...}: Name of the product family (string, localized)
      • meta:
        • createdAt: When the product family was created on Medipim (unix timestamp)
        • updatedAt: when the product family information was last updated (unix timestamp)
    • organizations[]: A collection of organizations associated with this product. | POST /v4/organizations/query response
      • id: ID of the organization (integer, unique)
      • name.{...}: Name of the organization (string, localized)
      • type: type of the organization ("supplier", "marketing", "medical_professional", "other")
      • meta:
        • createdAt: When the organization information was created on Medipim (unix timestamp)
        • updatedAt: When the organization information was last updated (unix timestamp)
    • activeIngredients[]: A collection of active ingredients associated with this product | GET /v4/active-ingredients/query response
      • id: ID of the active ingredient (integer, unique)
      • name.{...}: Name of the active ingredient (string, localized)
      • meta:
        • createdAt: When the active ingredient was created on Medipim (unix timestamp)
        • updatedAt: When the active ingredients was last updated (unix timestamp)
    • photos[]: A collection of photos associated with this product. (same as media query results)
      • photoType: Type of photo ("packshot", "productshot", "lifestyle_image", "pillshot")
      • formats[]: List of available image formats
        • huge: Media url for the huge image format of the photo. 1500x1500 pixels. (string)
        • large: Media url for the large image format of the photo. 900x900 pixels. (string)
        • medium: Media url for the medium image format of the photo. 450x450 pixels. (string)
        • ...
    • frontals[]: A collection of frontal photos associated with this product. (same as media query results)
      • formats[]: List of available image formats
        • medium: Media url for the medium image format of the photo. 450x450 pixels. (string)
        • mediumJpeg: Media url for the medium image format of the photo. 450x450 pixels. (string)
        • ...
    • links[]: A collection of media links associated with this product. (same as media query results)
    • descriptions[]: A collection of descriptions for this product.
      • id: ID of the description. (integer, unique)
      • locales[]: Languages for which this description is suitable. (string[])
      • targetGroups[]: Target groups for which this description is suitable. (string[])
      • type: Type of description. (string)
      • content.{...}: Description content (string, localized)
      • meta:
        • createdAt: When the description was created on Medipim (unix timestamp)
        • updatedAt: When the description was last updated (unix timestamp)
    • leaflets[]: A collection of leaflets for this product.
      • id: ID of the leaflet (integer, unique)
      • locales[]: Languages for which the leaflet is suitable.
      • type: Type of leaflet ("pil", "spc")
      • url.{...}: Urls of the leaflet (string, localized)
      • meta:
        • createdAt: When the leaflet was added on Medipim (unix timestamp)
        • updatedAt: When the leaflet was last updated (unix timestamp)
    • meta:
      • createdAt: When the product was added to Medipim. (unix timestamp)
      • updatedAt: The last time the product was modified (includes modifications to photos, links, ...). (unix timestamp)
      • embedUrl: A pre-signed link to the embed endpoint for this product. Note that this URL is only valid a few hours. (string)

The same media item (photos, frontals and links) can be linked to multiple products

Tip

If no images are available in the language you need, we advise to use the following fallbacks:

  • for NL: try 'fr', then 'en', then other locales
  • for FR: try 'nl', then 'en', then other locales
  • for EN: try 'nl', then other locales

Examples