MEDIIO API-Initiative

Anwendungsfall · Produktstammdaten

Produktstammdaten in Echtzeit

Alle für den Bestellprozess relevanten Artikelstammdaten direkt beim Lieferanten abrufen – immer auf dem aktuellsten Stand, statt über Katalog-Uploads.

GET /api/Product
api.host · REST
GET /api/Product?ArticleNumber=08154711
{
  "number": "08154711",
  "name": "Artikelbezeichnung",
  "baseUnit": "ST",
  "vat": 19,
  "uoms": [
    { "code": "PAK", "nou": 10, "orderable": true }
  ]
}

User Story

„Ich möchte als Stammdatenverantwortlicher oder als Einkäufer alle für den Bestellprozess relevanten Artikelstammdaten beim Lieferanten abrufen, damit ich den Artikel auf Basis der aktuellsten Daten in der Materialwirtschaft anlegen und beim Lieferanten bestellen kann."

Rahmen

Allgemeine Festlegungen

Betrachtet wird die Abfrage der Kerninformationen eines Produktes aus dem Deutschland-Katalog. Die Festlegungen halten die Komplexität bewusst niedrig.

Gesamtkatalog Deutschland

Abgefragt werden die Kerninformationen eines Produktes aus dem Deutschland-Katalog.

Keine Preise

Über diesen Endpunkt werden keine Preise übermittelt.

Lieferantenartikelnummer = Produkt

Eine Lieferantenartikelnummer repräsentiert ein Produkt mit 1..n unterschiedlichen Gebinden (Stück, Packung, Palette …).

Gültigkeit & Status über das Gebinde

Artikelgültigkeit und -status werden analog HCDP über die Kennzeichnung des Gebindes als bestell- bzw. nicht bestellfähig (orderable) abgebildet.

Weitere Infos über eigene Endpunkte

Zusätzliche Attribute, Klassifikationen sowie Bilder und Dokumente werden über gesonderte Endpunkte bereitgestellt.

Proaktive Benachrichtigung

Bei Änderungen relevanter Felder im Lieferantensystem werden Konsumenten automatisiert benachrichtigt – inkl. der betroffenen Lieferantenartikelnummer.

Bewusst (noch) nicht im Scope

  • Kundenspezifische Sortimente – künftig über einen eigenen Endpunkt.
  • Andere Länderkataloge – derzeit nicht (Marktzulassung, mehrsprachige Artikeltexte).

Aufruf

Parameter

Der Endpunkt unterstützt folgende Abfrageparameter – auch kombinierbar.

Parameter Query Wirkung
Änderungsdatum ?ChangesSince=2026-01-01 Nur Produkte, die sich seit dem Datum geändert haben.
Lieferantenartikelnummer ?ArticleNumber=08154711 Rückgabe aller Packungseinheiten des Produkts.
GTIN / PZN ?BarcodeType=Gtin&Barcode=… Rückgabe nur dieser Packungseinheit.
USt-ID des Herstellers ?ManufacturerVatId=DE123456789 Alle Artikel eines Herstellers (Händlerkataloge).
Herstellerartikelnummer ?ManufacturerArticleNumber=08154711 Ein Artikel des Herstellers (Händlerkataloge).
Zulässige Barcode-Typen: GTINHIBCPZNPPNICCBBA

Beispiele

Typische Abfragen

Als Konsument möchte ich … – und rufe dafür folgenden Endpunkt auf:

den Komplettkatalog Deutschland (alle Produkte) abrufen

GET
https://host_url/api/Product

alle seit einem Datum geänderten Produkte abrufen

GET
https://host_url/api/Product?ChangesSince=2026-01-01

zu einer Lieferantenartikelnummer alle Informationen bekommen

GET
https://host_url/api/Product?ArticleNumber=08154711

zu einer GTIN alle Informationen bekommen

GET
https://host_url/api/Product?BarcodeType=Gtin&Barcode=99999999999994

zu einer PZN alle Informationen bekommen

GET
https://host_url/api/Product?BarcodeType=Pzn&Barcode=-01234567

bei einem Händler alle Artikel eines Herstellers bekommen

GET
https://host_url/api/Product?ManufacturerVatId=DE123456789

bei einem Händler einen Artikel des Herstellers bekommen

GET
https://host_url/api/Product?ManufacturerArticleNumber=08154711

Änderungen ab einem Datum zu einer Artikelnummer bekommen

GET
https://host_url/api/Product?ArticleNumber=08154711&ChangesSince=2026-01-01

Antwort

Response (JSON)

Ein Produkt (number) enthält 1..n Gebinde (uoms) mit Barcodes, Bestellfähigkeit und Gültigkeiten. metadata liefert Paginierung und Abfrage-Infos.

Response · application/json
{
  "data": [
    {
      "number": "string",
      "name": "string",
      "description": "string",
      "baseUnit": "string",
      "vat": 0,
      "manufacturer": "string",
      "manufacturerVatId": "string",
      "manufacturerProductNumber": "string",
      "uoms": [
        {
          "code": "string",
          "nou": 0,
          "orderable": true,
          "minOrderQuantity": 0,
          "lotSize": 0,
          "barcodes": [
            {
              "type": 0,
              "code": "string",
              "validFrom": "2026-03-26T10:24:39.459Z",
              "validTo": "2026-03-26T10:24:39.459Z"
            }
          ]
        }
      ],
      "successorProducts": [
        {
          "number": "string",
          "validFrom": "2026-03-26T10:24:39.459Z",
          "validTo": "2026-03-26T10:24:39.459Z"
        }
      ],
      "validFrom": "2026-03-26T10:24:39.459Z",
      "validTo": "2026-03-26T10:24:39.459Z"
    }
  ],
  "metadata": {
    "totalRecords": 0,
    "currentPage": 0,
    "pageSize": 0,
    "totalPages": 0,
    "offset": 0,
    "hasNextPage": true,
    "hasPreviousPage": true,
    "appliedFilters": {
      "additionalProp1": "string",
      "additionalProp2": "string",
      "additionalProp3": "string"
    },
    "queryExecutionTime": "string",
    "fromCache": true,
    "nextPageLink": "string"
  }
}

Wichtige Felder

number

Lieferantenartikelnummer (Produkt).

name / description

Bezeichnung und Beschreibung des Artikels.

baseUnit

Basiseinheit des Produkts.

vat

Umsatzsteuersatz (Stammdatum – kein Preis).

manufacturer*

Hersteller, dessen USt-ID und Herstellerartikelnummer (für Händlerkataloge).

uoms[]

Gebinde / Packungseinheiten (1..n).

uoms[].code

Einheit des Gebindes (z. B. Stück, Packung, Palette).

uoms[].nou

Anzahl Basiseinheiten je Gebinde (Inhalt).

uoms[].orderable

Bestellfähig – Gültigkeit/Status analog HCDP.

uoms[].minOrderQuantity / lotSize

Mindestbestellmenge und Losgröße.

uoms[].barcodes[]

Barcodes mit Typ, Code und Gültigkeit (validFrom/validTo).

successorProducts[]

Nachfolgeartikel mit Gültigkeit.

validFrom / validTo

Gültigkeit des Produkts.

metadata

Paginierung & Abfrage-Infos (totalRecords, Seiten, nextPageLink, fromCache …).

Aktualität

Proaktive Benachrichtigung bei Änderungen

Konsumenten werden bei Änderungen relevanter Felder im Lieferantensystem automatisiert informiert – ganz ohne ständiges Pollen.

1

Änderung im Lieferantensystem

Ein relevantes Feld (gemäß Akzeptanzkriterien) ändert sich.

2

Benachrichtigung wird versendet

Das Lieferantensystem sendet proaktiv eine Benachrichtigung mit der betroffenen Lieferantenartikelnummer.

3

Konsument ruft neue Daten ab

Der Konsument ruft /api/Product zur Artikelnummer auf und erhält die aktualisierten Stammdaten.

Selbsttest

Endpoint prüfen

Fügen Sie die JSON-Antwort Ihres /api/Product-Endpunkts ein – die Struktur wird sofort im Browser gegen dieses Schema geprüft. Ein Live-Test der URL (server-seitig) lässt sich später ergänzen.

Noch keine Prüfung – JSON einfügen und „Prüfen" klicken.

Diesen Anwendungsfall in Ihrem System nutzen?

Werden Sie Teil der API-Initiative – wir begleiten Sie beim Onboarding.