Idempotency Key Nedir?
İngilizce: Idempotency Key
Idempotency key, tekrar denenebilen API isteklerine verilen benzersiz anahtarla çift ödeme veya çift kayıt oluşmasını önler.
Idempotency Key Nedir?
Idempotency key, özellikle ödeme, sipariş oluşturma ve rezervasyon gibi tekrar denemeye açık API isteklerinde kullanılan benzersiz işlem anahtarıdır. İstemci aynı işlemi tekrar gönderirse sunucu anahtarı tanır ve yeni işlem başlatmak yerine önceki sonucu döndürür.
Tipik akışta istemci UUID benzeri bir anahtar üretir ve isteği Idempotency-Key başlığıyla gönderir. Sunucu bu anahtarı, istek özeti ve işlem sonucuyla birlikte belirli süre saklar. Ağ bağlantısı kopar, istemci zaman aşımına düşer veya kullanıcı butona iki kez basarsa aynı anahtar ikinci kez geldiğinde sistem çift kayıt oluşturmaz.
Nerede Kullanılır?
Ödeme tahsilatı, para transferi, fatura oluşturma, stok düşme, kargo etiketi basma ve bilet rezervasyonu gibi işlemlerde idempotency key kritik koruma sağlar. Sadece okuma yapan GET isteklerinde genellikle gerekmez; sorun, aynı yazma işleminin belirsiz sonuçla tekrar denenmesidir.
Tasarım Notları
Anahtarın saklama süresi, aynı anahtarla farklı istek gövdesi gelirse ne yapılacağı ve başarısız işlemlerin nasıl kaydedileceği açıkça belirlenmelidir. Bu mekanizma idempotent davranışı sonradan taklit eder; yine de API tarafında transaction yönetimi ve benzersiz veritabanı kısıtlarıyla desteklenmelidir.
İlgili Terimler
API, farklı yazılımların izin verilen veri ve işlemlere standart istekler üzerinden erişmesini sağlayan sözleşmeli arayüzdür.
İdempotentlik (Ödeme Entegrasyonu)İdempotentlik, aynı ödeme veya API isteği tekrar gelse bile sistemin işlemi yalnızca bir kez sonuçlandırmasını sağlar.
IdempotentIdempotent işlem, aynı isteğin birkaç kez çalışması durumunda sistemde tek çalıştırmayla aynı nihai sonucu bırakan işlemdir.