> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# API-Referenz Wechselkurse

> Umrechnungskurse für die Anzeige-Währungsumrechnung über die Admin Interface API abrufen: Kurs-Bundle relativ zu einer Zielwährung inklusive Aktualitäts-Kennzeichen.

Der Endpunkt `exchange-rates` liefert ein Bündel aktueller Wechselkurse, mit dem sich Beträge aus beliebigen bekannten Währungen in eine frei wählbare Zielwährung umrechnen lassen.

Die Kurse basieren auf den von der Europäischen Zentralbank (EZB) bezogenen Referenzkursen. Intern werden diese Kurse relativ zur Basiswährung **EUR** gespeichert; der Endpunkt berechnet daraus die Kreuzkurse zur angefragten Zielwährung. Genutzt wird die Schnittstelle unter anderem vom Admin Interface, um Beträge lokal in der gewählten Anzeige-Währung darzustellen, ohne dass für jede Umrechnung eine separate Anfrage nötig ist.

<Note>
  Die Wechselkurse werden täglich von der EZB abgerufen. Der Endpunkt liefert dabei stets den aktuellsten dem Shop bekannten Wechselkurs zurück.
</Note>

Für die Nutzung dieses Endpunkts ist eine gültige Anmeldung erforderlich (siehe [API Basics](/schnittstellen/admin-interface-api/api-basics)). Eine servicespezifische Berechtigung wird nicht benötigt.

***

## Unterstützte Methoden

Angabe aller unterstützten Methoden.

| **Befehl/Info**  | **Endpunkte**  | **GET**               | **POST**            | **PUT**             | **DELETE**          |
| ---------------- | -------------- | --------------------- | ------------------- | ------------------- | ------------------- |
| **Wechselkurse** | exchange-rates | <Icon icon="check" /> | <Icon icon="ban" /> | <Icon icon="ban" /> | <Icon icon="ban" /> |

## Datenfelder eines Kurseintrags

Jeder Eintrag im Objekt `rates` beschreibt den Umrechnungskurs einer Währung in die angefragte Zielwährung.

| **Name**     | **Typ** | **Verwendung**                                                                                                                                                                                                                                          |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **rate**     | Number  | Umrechnungsfaktor in die Zielwährung. Ein Betrag in der jeweiligen Währung wird durch Multiplikation mit `rate` in die Zielwährung umgerechnet (`Betrag_Zielwährung = Betrag_Ausgangswährung × rate`). Die Zielwährung selbst hat immer den Wert `1.0`. |
| **rateDate** | String  | Datum des zugrunde liegenden EZB-Kurses (Format `YYYY-MM-DD`). Bei Kreuzkursen wird das ältere der beiden beteiligten Kursdaten (Ausgangs- und Zielwährung) verwendet.                                                                                  |
| **isRecent** | Boolean | Gibt an, ob der Kurs den konfigurierten Aktualitätsvorgaben entspricht (`true`). Bei `false` konnte kein hinreichend aktueller Kurs ermittelt werden – der Wert wird dennoch zurückgegeben, sollte aber mit Vorsicht verwendet werden.                  |

<Info>
  Die Basiswährung **EUR** ist immer im Ergebnis enthalten, auch wenn für sie kein eigener Kurssatz in der Datenbank vorliegt. Sie besitzt implizit den Kurs `1.0` mit dem aktuellen Datum.
</Info>

## Methoden für Wechselkurse

### GET exchange-rates

Mit diesem Endpunkt wird ein Bündel von Umrechnungskursen relativ zu einer Zielwährung abgerufen.

Die Zielwährung wird über den Pflichtparameter `target` als dreistelliger ISO-4217-Währungscode (z. B. `EUR`, `USD`, `GBP`) übergeben. Die Antwort enthält für jede im System bekannte Währung einen Kurseintrag sowie zusätzlich die Zielwährung selbst (mit Kurs `1.0`).

#### Beispiel

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
https://<ihr-shop>.de/admin/api/v1/exchange-rates?target=EUR
```

#### Unterstützte Parameter

| **Parameter** | **Beschreibung**                                                                                                                 |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `target`      | **Pflichtfeld.** Dreistelliger ISO-4217-Code der Zielwährung, in die umgerechnet werden soll. Muss exakt drei Zeichen lang sein. |

#### Antwort

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
    "target": "EUR",
    "rates": {
        "EUR": {
            "rate": 1.0,
            "rateDate": "2026-07-02",
            "isRecent": true
        },
        "GBP": {
            "rate": 1.18203,
            "rateDate": "2026-07-01",
            "isRecent": true
        },
        "USD": {
            "rate": 0.91996,
            "rateDate": "2026-07-01",
            "isRecent": true
        }
    }
}
```

Im Beispiel entspricht `1 USD` etwa `0,92 EUR` und `1 GBP` etwa `1,18 EUR`. Um einen Betrag umzurechnen, wird er mit dem `rate` der Ausgangswährung multipliziert.

#### Fehlercodes

| **Fehler**       | **Typ**        | **Grund**                                                                     |
| ---------------- | -------------- | ----------------------------------------------------------------------------- |
| 401 Unauthorized |                | Nicht autorisiert: Sie sind nicht angemeldet.                                 |
| 400 Bad Request  | "invalidValue" | Der Parameter `target` fehlt, ist leer oder besitzt nicht exakt drei Zeichen. |

## Support

Bei technischen Fragen und Hilfestellungen ist unser Support-Team für Sie erreichbar: [Zum Kundenportal](https://websale.atlassian.net/servicedesk/customer/portal/6)

Bitte senden Sie uns eine möglichst detaillierte Beschreibung sowie Screenshots, Requests/Antworten, damit wir Ihre Anfrage zeitnah und zielführend beantworten können.
