Zum Hauptinhalt springen

Shop-Artikel mit Preisen abrufen

Dieser Endpoint liefert alle verfügbaren Shop-Artikel mit ihren aktuellen Nettopreisen für den angegebenen Verkaufsmarkt. Die Preise werden basierend auf der Identität und dem ausgewählten Verkaufsmarkt berechnet.

Endpoint-Details

HTTP-Methode: GET

URL: /external/v1/shop_articles

Authentifizierung: API-Schlüssel (erforderlich)

Parameter

Query-Parameter

ParameterTypErforderlichBeschreibung
sellingMarketTypeintJaDer Verkaufsmarkt-Typ: 10 (Schweiz), 20 (EU), 30 (Export außerhalb EU)
HeaderTypErforderlichBeschreibung
X-Api-KeystringJaAPI-Schlüssel für die Authentifizierung

Response

Erfolgreiche Response (200 OK)

{
"shopArticles": [
{
"id": 1001,
"articleNr": "ART-12345",
"name": "Vitamin D3 Kapseln",
"netPrice": 29.90,
"currencyName": "CHF",
"type": 1
},
{
"id": 2002,
"articleNr": "LAB-56789",
"name": "Blutanalyse Basis",
"netPrice": 149.00,
"currencyName": "CHF",
"type": 3,
"labSamples": [
{
"labSampleTypeId": 101,
"labSampleTypeName": "Blutprobe (Serum)",
"amount": 1
},
{
"labSampleTypeId": 102,
"labSampleTypeName": "Blutprobe (EDTA)",
"amount": 2
}
]
}
],
"errorMessage": null
}

Fehlerhafte Response (400 Bad Request)

{
"shopArticles": [],
"errorMessage": "Invalid SellingMarketType '5'"
}

Response-Felder

FeldTypBeschreibung
shopArticlesarrayListe aller verfügbaren Shop-Artikel
errorMessagestring?Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null)

ShopArticle-Felder

FeldTypBeschreibung
idlongEindeutige ID des Artikels
articleNrstring?Artikelnummer
namestring?Artikelname (in Deutsch)
netPricedoubleNettopreis für den angegebenen Verkaufsmarkt
currencyNamestring?Währungsbezeichnung (CHF, EUR)
typeintArtikel-Typ: 1 (Shop-Artikel), 3 (Labor-Auftrags-Artikel)
labSamplesarray?Liste der Laborproben (nur bei type = 3)

LabSample-Felder (nur bei Labor-Auftrags-Artikeln)

FeldTypBeschreibung
labSampleTypeIdlongEindeutige ID des Laborproben-Typs
labSampleTypeNamestring?Name des Laborproben-Typs
amountintBenötigte Anzahl der Proben (Standard: 1)

Status-Codes

CodeBeschreibung
200OK - Anfrage wurde verarbeitet (prüfe errorMessage-Feld)
400Bad Request - Ungültiger SellingMarketType
401Unauthorized - API-Schlüssel ist ungültig oder fehlt
403Forbidden - Keine Zugriffsberechtigung

Verkaufsmarkt-Typen (sellingMarketType)

WertBezeichnungWährung
10Schweiz (Swiss)CHF
20Europäische Union (EU)EUR
30Export außerhalb EUCHF

Artikel-Typen (type)

WertBezeichnungBeschreibung
1Shop-ArtikelStandard-Artikel
3Labor-Auftrags-ArtikelArtikel mit Laborauftrag und zugehörigen Laborproben

Funktionsweise

  1. Authentifizierung über API-Schlüssel
  2. Validierung des SellingMarketType-Parameters
  3. Ermittlung der Preislisten-Optionen für die Identität
  4. Berechnung der Nettopreise basierend auf:
    • Verkaufsmarkt (Schweiz, EU, Export)
    • Preisfaktor der Identität
    • Verfügbaren Preislisten
  5. Bei Labor-Auftrags-Artikeln: Ermittlung der benötigten Laborproben
  6. Rückgabe der sortierten Artikelliste (alphabetisch nach Name)

Wichtige Hinweise

  • Artikel ohne Preis werden nicht in der Response zurückgegeben
  • Die Preise sind immer Nettopreise (ohne MwSt.)
  • Die Währung hängt vom gewählten Verkaufsmarkt ab
  • Labor-Auftrags-Artikel enthalten zusätzliche Informationen über benötigte Laborproben
  • Die Artikelliste ist alphabetisch nach Name sortiert