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
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
sellingMarketType | int | Ja | Der Verkaufsmarkt-Typ: 10 (Schweiz), 20 (EU), 30 (Export außerhalb EU) |
Header
| Header | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
X-Api-Key | string | Ja | API-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
| Feld | Typ | Beschreibung |
|---|---|---|
shopArticles | array | Liste aller verfügbaren Shop-Artikel |
errorMessage | string? | Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null) |
ShopArticle-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
id | long | Eindeutige ID des Artikels |
articleNr | string? | Artikelnummer |
name | string? | Artikelname (in Deutsch) |
netPrice | double | Nettopreis für den angegebenen Verkaufsmarkt |
currencyName | string? | Währungsbezeichnung (CHF, EUR) |
type | int | Artikel-Typ: 1 (Shop-Artikel), 3 (Labor-Auftrags-Artikel) |
labSamples | array? | Liste der Laborproben (nur bei type = 3) |
LabSample-Felder (nur bei Labor-Auftrags-Artikeln)
| Feld | Typ | Beschreibung |
|---|---|---|
labSampleTypeId | long | Eindeutige ID des Laborproben-Typs |
labSampleTypeName | string? | Name des Laborproben-Typs |
amount | int | Benötigte Anzahl der Proben (Standard: 1) |
Status-Codes
| Code | Beschreibung |
|---|---|
200 | OK - Anfrage wurde verarbeitet (prüfe errorMessage-Feld) |
400 | Bad Request - Ungültiger SellingMarketType |
401 | Unauthorized - API-Schlüssel ist ungültig oder fehlt |
403 | Forbidden - Keine Zugriffsberechtigung |
Verkaufsmarkt-Typen (sellingMarketType)
| Wert | Bezeichnung | Währung |
|---|---|---|
10 | Schweiz (Swiss) | CHF |
20 | Europäische Union (EU) | EUR |
30 | Export außerhalb EU | CHF |
Artikel-Typen (type)
| Wert | Bezeichnung | Beschreibung |
|---|---|---|
1 | Shop-Artikel | Standard-Artikel |
3 | Labor-Auftrags-Artikel | Artikel mit Laborauftrag und zugehörigen Laborproben |
Funktionsweise
- Authentifizierung über API-Schlüssel
- Validierung des SellingMarketType-Parameters
- Ermittlung der Preislisten-Optionen für die Identität
- Berechnung der Nettopreise basierend auf:
- Verkaufsmarkt (Schweiz, EU, Export)
- Preisfaktor der Identität
- Verfügbaren Preislisten
- Bei Labor-Auftrags-Artikeln: Ermittlung der benötigten Laborproben
- 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