Docs

İdempotans

Son güncelleme: 2026-10-032 dk okuma

Ağ bazen bir isteği keser ve isteğin ulaşıp ulaşmadığı belli olmaz. Bir POST isteğini, işi iki kez çalıştırmadan (ve ödemeden) tekrarlamak için Idempotency-Key başlığını gönderin: her mantıksal işlem için benzersiz bir değer. UUID iyi bir seçimdir.

curl -X POST https://developers.grem.capital/api/v1/valuation/express \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f1c8a90-1e2b-4c77-9a10-2b6d0f9e4a11" \
  -d '{"propertyCategory":"apartment","addressText":"Torstraße 12, Berlin","totalArea":64}'

Nasıl çalışır

  • Bir anahtarla yapılan ilk istek normal çalışır; başarılı yanıtı saklanır.
  • Aynı anahtarla yapılan bir tekrar saklanan yanıtı döndürür: araç yeniden çalışmaz ve yeniden ücretlendirilmez.
  • İlk istek hâlâ sürerken aynı anahtarla gelen ikinci istek title: idempotency_conflict ile 409 alır. Bekleyin ve aynı anahtarla tekrarlayın.
  • İlk istek hatayla bittiyse anahtar serbest kalır: tekrar yeniden çalışır. Hizmete hiç ulaşmayan bir istek (bağlantı reddedildi) de anahtarı serbest bırakır.
  • Bir aracın, ilan oluşturmanın veya lead oluşturmanın zaman aşımından (502 provider_error) sonra anahtar 15 dakika ayrılmış kalır; böylece bir tekrar işi ikinci kez çalıştıramaz. Tekrarlamadan önce sonucu kontrol edin: araçlar için GET /works, oluşturmalar için GET /objects ve GET /leads. Fotoğraf iyileştirme, site ve taslak sonuçları GET /works içinde tutulmaz; onları panelde veya ilanlarınız arasında kontrol edin. 15 dakikadan sonraki bir tekrar işi (ve ücretini) yeniden çalıştırır.
  • İstisna hızlı değerlemedir: zaman aşımından sonra anahtar serbest kalır; aynı anahtarla hemen tekrarlayın, biten değerleme, ücretsiz döner: ne değerleme ne de API çağrısı yeniden ücretlendirilir.
  • Bir anahtar 24 saat saklanır ve API anahtarınıza ve işleme, yani yönteme ve gerçek yola aittir: farklı API anahtarlarındaki aynı değerler, başka bir araçta kullanılan aynı anahtar, ayrıca POST /objects/property ile POST /objects/rental farklı isteklerdir.

Tekrarın gövdesi ilk istekle karşılaştırılmaz. Daha önce kullanılmış bir anahtarla farklı bir istek gönderirseniz ilk isteğin yanıtını alırsınız. Her yeni işlem için yeni bir anahtar kullanın.

Nerede geçerli

İstek
POST /valuation/express ve tüm araçlar (POST /valuation/report, POST /content/generate, POST /flyer/create vb.)evet
POST /objects/{kind}: ilan oluşturmaevet
POST /leads: lead oluşturmaevet
POST /match/leads/{id}/events: Swipe Match olayıevet; anahtar ^[A-Za-z0-9_.:-]{8,128}$ ile eşleşmeli, aksi halde yok sayılır
POST /uploads, POST /chat/messages, POST /valuation/review/jobs/{id}/confirmhayır (sohbette bunun için clientMessageId kullanılır)

SDK içinde anahtar, yöntemin son argümanıdır.

İlgili makaleler

Bu makale yardımcı oldu mu?