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

# Umgebungen und Tests

> Verstehen Sie den öffentlichen Produktions-Endpoint, Dry-Run-Validierung, Verantwortlichkeiten für Testdaten und sichere Rollout-Verfahren.

Der öffentliche Vertrag dokumentiert genau eine produktive Basis-URL:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
https://api.jobhandy.io/v1
```

Interne Entwicklungs- oder Stage-Hosts sind nicht Bestandteil des kundenorientierten Vertrags und dürfen nicht in öffentliche Client-Konfigurationen eingebettet werden.

## Dry Run im Vergleich zu einer separaten Umgebung

`dryRun=true` ist ein Request-Modus für unterstützte Schreiboperationen. Er ist keine Sandbox und verwendet keine getrennte Datenbank.

| Verhalten                                              | Normaler Schreibvorgang | `dryRun=true` |
| ------------------------------------------------------ | ----------------------: | ------------: |
| Verwendet den produktiven Endpoint                     |                      Ja |            Ja |
| Erfordert einen gültigen API-Key                       |                      Ja |            Ja |
| Erzwingt den aktuellen Key-Scope                       |                      Ja |            Ja |
| Liest den aktuellen Ressourcenstatus                   |                      Ja |            Ja |
| Führt die dokumentierte Validierung aus                |                      Ja |            Ja |
| Speichert die dokumentierte Änderung                   |                      Ja |          Nein |
| Löst dokumentierte Benachrichtigungen oder E-Mails aus |        Wie dokumentiert |          Nein |
| Reserviert Zustand für einen späteren Schreibvorgang   |                    Nein |          Nein |

## Sichere Teststrategie

<Steps>
  <Step title="Dedizierten Key verwenden">
    Erstellen Sie einen Key mit dem kleinstmöglichen Unternehmens- und Divisionsscope, der für Entwicklung oder Abnahmetests erforderlich ist.
  </Step>

  <Step title="Abgestimmte Testdatensätze verwenden">
    Stimmen Sie Testmitarbeiter, Bestellungen, Vorfälle, Divisionen und Payroll-Zeiträume mit den verantwortlichen Kundenadministratoren ab.
  </Step>

  <Step title="Schreibvorgänge zuerst validieren">
    Verwenden Sie `dryRun=true` bei unterstützten Operationen und prüfen Sie die projizierte Ressource sowie das Fehlerverhalten.
  </Step>

  <Step title="Kontrollierten Schreibvorgang ausführen">
    Führen Sie im abgestimmten Scope genau eine reale Anfrage aus und prüfen Sie Speicherung und sämtliche Side Effects.
  </Step>

  <Step title="Wiederherstellung testen">
    Testen Sie Timeouts, `409`, `422`, `429` und die Deaktivierung von Zugangsdaten, bevor Sie die Automatisierung aktivieren.
  </Step>
</Steps>

## Was der Health-Endpoint bestätigt und was nicht

`GET /health` bestätigt, dass die Public API erreichbar ist und ihre Health-Antwort zurückgeben kann. Der Endpoint bestätigt nicht:

* die Gültigkeit des API-Keys
* den Tenant- oder Divisionsscope
* den Zugriff auf eine konkrete Ressource
* die Verfügbarkeit einer nachgelagerten Dokumentdatei
* die Korrektheit eines Write-Payloads

Verwenden Sie mindestens einen geschützten Read und einen unterstützten Dry Run für eine End-to-End-Prüfung der Integration.

<Warning>
  Verwenden Sie keinen undokumentierten internen Host als Fallback. Ein Client muss sicher fehlschlagen, wenn die produktive Basis-URL nicht verfügbar ist.
</Warning>
