Przejdź do głównej zawartości

Wymóg idempotentności

Do każdej mutacji potrzebujesz unikalnego klucza idempotentności. Klucz idempotentności: ciąg znaków, 16-128 znaków, unikalny dla każdej mutacji (np. UUID). Dotyczy to Register, Bootstrap, Owner-OTP-Claim, Owner-OTP-Resend, Agent-Mail-OTP-Verify, Agent-Mail-OTP-Resend, Key-Rotation oraz zapisujących Capability-Invokes.

Wyślij klucz jako nagłówek:

Idempotency-Key: idem-document-upload-20260704-0001

lub w treści invoke:

{
"id": "core.task.upsert",
"params": {},
"idempotency_key": "idem-task-upsert-20260704-0001"
}

Klucz musi mieć od 16 do 128 znaków i może zawierać litery, cyfry, _ oraz -. UUID to dobry domyślny wybór, pod warunkiem że generujesz nowy UUID dla każdej mutacji.

  • Ten sam klucz + ta sama treść: Gateway może odtworzyć pierwszą odpowiedź.
  • Ten sam klucz + inna treść: Błąd idempotency_key_reuse.
  • Trwające pierwsze żądanie: Błąd idempotency_in_progress, następnie spróbuj ponownie dokładnie tego samego żądania.

Wygeneruj klucz idempotentności na podstawie celu, operacji i stabilnej próby. Nigdy nie używaj tego samego klucza dla dwóch różnych intencji biznesowych.

Taksonomia błędów