# Błędy

> Katalog błędów: status HTTP, kody błędów OperationOutcome i co robić w każdym przypadku.

Source: https://developers.anpheros.com/pl/guides/errors

W przypadku błędów `/fhir/R4` są `OperationOutcome`; w innych przypadkach `{"error": {"type", "message", "field"?}}`. Każda odpowiedź zawiera `Anpheros-Request-Id`; zacytuj ją, pisząc do działu wsparcia.

| HTTP | `issue.code` / `type` | Znaczenie | Co robić |
|---|---|---|---|
| 400 | `invalid`, `structure`, `value` | nieprawidłowy format JSON, nieprawidłowy FHIR, wartość spoza wymaganego zestawu wartości, nieobsługiwany parametr wyszukiwania, nieobsługiwany filtr zakresu | popraw żądanie; komunikat wskazuje pole |
| 400 | `too-costly` | zagnieżdżenie zasobu > 64 poziomów, tekst > 10 000 znaków | uprość zasób |
| 401 | `login` | brak, nieznany, wygasły lub unieważniony poświadczenie; zgoda już nieaktywna; odpowiedź zawiera `WWW-Authenticate: Bearer realm="anpheros"` (z `error="invalid_token"`, gdy wysłano poświadczenie) | uwierzytelnij ponownie; w przypadku OAuth, odśwież lub wyraź zgodę ponownie |
| 403 | `forbidden` | zakres, własność (napisane przez inną organizację), przyznany tylko do odczytu, tylko administrator | zażądaj odpowiedniego zakresu; napisz własny zasób |
| 404 | `not-found` | nie istnieje dla tego wywołującego | nigdy nie zakładaj istnienia na podstawie 404 |
| 409 | `conflict` | klucz idempotencji w trakcie przetwarzania; dokument już ostateczny; limit punktów końcowych | ponów próbę wkrótce / użyj nowego klucza |
| 410 | `deleted` | zasób lub plik usunięty | — |
| 412 | `conflict` | niezgodność wersji `If-Match` | odczytaj ponownie, a następnie zaktualizuj |
| 413 | `too-costly` | treść lub dokument przekracza limit | podziel lub skompresuj |
| 422 | `not-found` / `invalid` | odwołany pacjent nie istnieje dla Ciebie; zasób przeniesiony między pacjentami; klucz idempotencji użyty ponownie z inną treścią | popraw odwołanie |
| 429 | `throttled` | limit żądań na poświadczenie lub na adres IP | poczekaj `Retry-After` sekund; SDK robią to automatycznie |
| 503 | `transient` | niedostępne przechowywanie dokumentów | ponów próbę z wycofywaniem |
| 500 | `exception` | nieoczekiwany błąd, zarejestrowany i audytowany z identyfikatorem żądania | zgłoś identyfikator żądania |
