Idempotentność
Odpowiedź, która nigdy nie dociera.
Połączenie pada, pośrednik wpada w limit czasu — a program nie wie, czy zapis nastąpił. Bez gwarancji zostają dwie możliwości i obie są złe: stracić rekord albo utworzyć go dwa razy.
Jak to działa.
Wybierasz jedną wartość na zamierzony zapis — wystarczy UUID — i wysyłasz ją w nagłówku. Pierwsze wywołanie wykonuje pracę; każde powtórzenie zwraca ten sam rekord i nie tworzy drugiego.
Jak to wygląda.
Te same trzy wiersze, dowolnie wiele razy. Za drugim razem KRONENWERK zwróci klienta z pierwszego.
POST https://kronenwerk.org/api/extern/v1/customers\nAuthorization: Bearer greif_live_…\nIdempotency-Key: 6f1c2a8e-4b3d-4a21-9d77-0c5e1f9b2a44\n\n{"name":"Kellermann Elektrotechnik GmbH","email":"buchhaltung@kellermann.de","street":"Am Sandtorkai 41","postalCode":"20457","city":"Hamburg","country":"DE"}
Trzy zasady.
Ta sama treść
Otrzymujesz ten sam rekord, odczytany tak jak za pierwszym razem.
Inna treść
Odrzucone. Klucz oznacza dokładnie jeden zamiar, a milcząca odpowiedź potwierdzałaby coś, co się nie wydarzyło.
Ważność
24 h — potem ta sama wartość znów liczy się jako nowa operacja
Dlaczego nagłówek jest wymagany.
Dobrowolna gwarancja chroni dokładnie tych, którzy ochrony nie potrzebowali. Zdublowanego klienta nikt nie zauważy, aż faktura trafi do złej kopii — a wtedy ma już tygodnie.