# Speicherzentren (Abholpunkte)

Speicherzentren sind vom Tenant verwaltete Standorte, etwa Abholpunkte, Lager, Filialen oder andere Sammelorte, die Ihr Fulfillment benötigt.

Im Gegensatz zu persönlichen Adressen, die einem Nutzer gehören, sind Speicherzentren dem **Tenant** zugeordnet und ohne Authentifizierung für alle Nutzer sichtbar. Sie eignen sich als:

- **Abholpunkte** — Kunden können dort Bestellungen abholen
- **Lager** — Versand- oder Bereitstellungsorte für die Logistik
- **Filialen** — Geschäfte, die zugleich als Abholorte dienen
- **Abgabestellen** — Drittanbieter-Standorte für Peer-to-Peer- oder Wiederverkaufsabläufe

Speicherzentren werden über die reguläre Addresses API mit `type: "storage_hub"` erstellt und verwaltet.

---

## Speicherzentren auflisten

**GET** `/v1/addresses?type=storage_hub`

Gibt alle Speicherzentrum-Adressen des Tenants zurück. `user_id` ist nicht erforderlich, da Speicherzentren für den Tenant öffentlich sind.

### Antwortfelder

| Feld | Typ | Beschreibung |
|---|---|---|
| `id` | integer | Eindeutige ID der Adresse |
| `name` | string | Name des Zentrums (z. B. „Hauptlager“, „Filiale im Stadtzentrum“) |
| `address_line_1` | string | Straßenadresse |
| `address_line_2` | string | Zusätzliche Adresszeile |
| `city` | string | Stadt |
| `state` | string | Bundesstaat oder Region |
| `post_code` | string | Postleitzahl |
| `country` | string | Name des Landes |
| `country_code` | string | ISO-Ländercode |
| `formatted_address` | string | Vollständige Adresse als einzeiliger Anzeigetext |
| `phone_number` | string | Telefonnummer des Zentrums |
| `landmark` | string | Orientierungspunkt oder Wegbeschreibung in der Nähe |
| `latitude` | number | GPS-Breitengrad |
| `longitude` | number | GPS-Längengrad |
| `type` | string | Immer `"storage_hub"` |

---

## Speicherzentrum hinzufügen

**POST** `/v1/addresses`

Erstellt ein Speicherzentrum für den Tenant. Nur für Administratoren.

### Anfragefelder

| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| `address.type` | string | Ja | Muss `"storage_hub"` sein |
| `address.name` | string | Ja | Name des Zentrums |
| `address.address_line_1` | string | Ja | Straßenadresse |
| `address.address_line_2` | string | Nein | Wohnung, Etage oder Gebäude |
| `address.city` | string | Nein | Stadt |
| `address.state` | string | Nein | Bundesstaat oder Region |
| `address.post_code` | string | Nein | Postleitzahl |
| `address.country` | string | Nein | Name des Landes |
| `address.country_code` | string | Nein | ISO-Ländercode (z. B. `"US"`, `"GB"`) |
| `address.phone_number` | string | Nein | Telefonnummer des Standorts |
| `address.landmark` | string | Nein | Orientierungspunkt oder Navigationshinweis |
| `address.formatted_address` | string | Nein | Überschreibt den angezeigten Adresstext |
| `address.coordinates.latitude` | number | Nein | GPS-Breitengrad |
| `address.coordinates.longitude` | number | Nein | GPS-Längengrad |

---

## Speicherzentrum bearbeiten

**PUT** `/v1/addresses/:id`

Aktualisiert ein vorhandenes Speicherzentrum. Übergeben Sie `address.type: "storage_hub"` und die zu ändernden Felder. Es gelten dieselben Felder wie beim Hinzufügen.

---

## Speicherzentrum löschen

**DELETE** `/v1/addresses/:id`

Archiviert ein Speicherzentrum. Es erscheint danach nicht mehr in Listen.
