Çok adımlı kullanıcı onboarding akışlarını adımlarla, veri modelleriyle ve testlerle nasıl tasarlayıp uygulayacağınızı öğrenin; ilerlemeyi takip edin, devamı sağlayın ve hataları azaltın.

Çok adımlı onboarding akışı, yeni bir kullanıcının “kayıt oldu” durumundan “ürünü kullanmaya hazır” duruma gelmesine yardımcı olan yönlendirilmiş ekran dizisidir. Her şeyi tek seferde sormak yerine, kurulumu tek oturumda veya zaman içinde tamamlanabilecek daha küçük adımlara bölersiniz.
Kurulum tek bir formdan daha fazlaysa—özellikle seçimler, önkoşullar veya uyumluluk kontrolleri içeriyorsa—çok adımlı onboarding gerekir. Ürününüz bağlam (sektör, rol, tercihler), doğrulama (e-posta/telefon/kimlik) veya ilk yapılandırma (workspace, faturalama, entegrasyonlar) gerektiriyorsa, adım bazlı akış her şeyi anlaşılır tutar ve hataları azaltır.
Çok adımlı onboarding, doğal olarak aşamalı gerçekleşen görevleri desteklediği için her yerde karşınıza çıkar, örneğin:
İyi bir onboarding akışı “tamamlanmış ekranlar” değildir; kullanıcıların hızlıca değere ulaşmasıdır. Başarıyı ürününüzle uyumlu ölçütlerle tanımlayın:
Akış ayrıca devam ve süreklilik desteklemelidir: kullanıcılar ayrılıp dönebilirken ilerlemeyi kaybetmemeli ve bir sonraki mantıklı adıma yönlendirilmeli.
Çok adımlı onboarding beklenen şekillerde başarısız olur:
Amacınız onboarding’i bir sınav gibi değil, yönlendirilmiş bir yol gibi hissettirmektir: her adım için net amaç, güvenilir ilerleme takibi ve kullanıcıya bıraktığı yerden kolayca devam etme imkanı sunun.
Ekran çizmeye veya kod yazmaya başlamadan önce onboarding’in neyi başarmaya çalıştığını—ve kimin için—belirleyin. Çok adımlı bir akış ancak doğru kişileri doğru son duruma minimum kafa karışıklığıyla götürdüğünde “iyi” sayılır.
Farklı kullanıcılar farklı bağlam, izin ve aciliyetle gelir. Birincil giriş personelarınızı ve onlar hakkında önceden bilinenleri adlandırarak başlayın:
Her tip için kısıtlamaları (ör. “şirket adını düzenleyemez”), gerekli verileri (ör. “bir workspace seçmeli”) ve potansiyel kestirmeleri (ör. “SSO ile zaten doğrulanmış”) listeleyin.
Onboarding bitiş durumunuz açık ve ölçülebilir olmalıdır. “Bitti” tüm ekranların tamamlanması değil; iş olarak hazır bir durumdur, örneğin:
Tamamlama kriterlerini backend’in değerlendirebileceği bir kontrol listesi olarak yazın; belirsiz hedefler yerine kesin kurallar koyun.
Hangi adımların gerekli, hangilerinin opsiyonel olduğunu haritalayın. Ardından bağımlılıkları belgeleyin (“teammates davet edemezsiniz workspace yoksa”).
Son olarak atlama kurallarını kesinlikle tanımlayın: hangi kullanıcı tipi hangi koşullarda hangi adımı atlayabilir (ör. “SSO ile doğrulanmışsa e-posta doğrulamasını atla”) ve atlanan adımların daha sonra ayarlardan yeniden ziyaret edilip edilemeyeceğini belirtin.
Ekranları veya API’leri oluşturmadan önce onboarding’i bir akış haritası olarak çizin: her adımı, kullanıcıların nerelere gidebileceğini ve daha sonra nasıl geri dönebileceklerini gösteren küçük bir diyagram.
Adımları kısa, eylem odaklı isimlerle yazın (fiiller yardımcı olur): “Şifre oluştur”, “E-postayı onayla”, “Şirket bilgilerini ekle”, “Takım davet et”, “Faturalamayı bağla”, “Bitir”. İlk taslağı basit tutun, sonra gerekli alanlar ve bağımlılıklar (ör. faturalama plan seçilmeden yapılamaz) gibi detayları ekleyin.
Yardımcı bir kontrol: her adım bir soruyu yanıtlamalı—ya “Siz kimsiniz?” ya “Neye ihtiyacınız var?” ya “Ürün nasıl yapılandırılmalı?” Eğer bir adım üçünü de yapmaya çalışıyorsa, bölün.
Çoğu ürün, deneyim gerçekten farklı olduğunda yalnızca koşullu dallanma içeren çoğunlukla doğrusal bir iskeletten fayda sağlar. Tipik dallanma kuralları:
Bunları akış haritasında “if/then” notları olarak belgeleyin (ör. “Eğer region = EU → VAT adımını göster”). Bu, akışı anlaşılır tutar ve labirent inşa etmekten kaçınır.
Kullanıcının akışa hangi yerlerden girebileceğini listeleyin:
/settings/onboarding)Her giriş kullanıcısını doğru sonraki adımda karşılayın, her zaman adım birde değil.
Kullanıcıların yarıda ayrılacağını varsayın. Döndüklerinde ne olacağını kararlaştırın:
Haritanız güvenilir bir “devam et” yolunu göstermeli ki deneyim kırılgan değil güvenilir olsun.
İyi onboarding bir rehber gibi hissettirmelidir, sınav gibi değil. Amaç karar yorgunluğunu azaltmak, beklentileri netleştirmek ve bir şeyler ters gittiğinde kullanıcının hızla toparlanmasını sağlamaktır.
Bir wizard adımların sırayla tamamlanması gerektiğinde en iyi sonucu verir (ör. kimlik → fatura → izinler). Bir checklist adımların herhangi bir sırada yapılabildiği onboarding için uygundur (ör. “Logo ekle”, “Takım davet et”, “Takvim bağlantısı”). Yönlendirilmiş görevler (ürün içinde yerleştirilmiş ipuçları) ise öğrenmenin form doldurmaktan ziyade yaparak gerçekleştiği durumlarda iyidir.
Emin değilseniz, checklist + her göreve derin linklerle başlayın; sadece gerçekten gerekli adımları engelleyin.
İlerleme geribildirimi “Ne kadar kaldı?” sorusunu yanıtlamalı. Şunlardan birini kullanın:
Ayrıca daha uzun akışlar için “Kaydet ve sonra bitir” ipucu ekleyin.
Basit etiketler kullanın (“İşletme adı”, “Kuruluş kimliği” demeyin). Neden sorduğunuzu açıklayan mikro-metin ekleyin (“Faturaları kişiselleştirmek için bunu kullanıyoruz”). Mümkünse mevcut verilerle ön-doldurun ve güvenli varsayılanlar seçin.
Hataları bir yol olarak tasarlayın: alanı vurgulayın, ne yapılacağını açıklayın, kullanıcı girdisini koruyun ve ilk hatalı alana odak verin. Sunucu hataları için yeniden deneme seçeneği gösterin ve ilerlemeyi koruyun ki kullanıcı tamamlanan adımları tekrar etmek zorunda kalmasın.
Dokunma hedeflerini büyük tutun, çok sütunlu formlardan kaçının ve birincil eylemleri sabit görünür tutun. Tam klavye navigasyonu, görünür odak durumları, etiketlenmiş girdiler ve ekran okuyucular için erişilebilir ilerleme metni (yalnızca görsel çubuk değil) sağlayın.
Akıcı bir çok adımlı onboarding, üç soruya güvenilir şekilde cevap verebilen bir veri modeline dayanır: kullanıcı bir sonraki olarak ne görmeli, zaten ne sağladı, ve hangi akış tanımını takip ediyorlar.
Küçük bir tablo/collection setiyle başlayın ve gerektiğinde büyütün:
Bu ayrım “konfigürasyon”u (Flow/Step) “kullanıcı verisinden” (StepResponse/Progress) net şekilde ayırır.
Akışları sürümlemeyi erken kararlaştırın. Çoğu ürün için cevap evettir.
Adımları düzenlediğinizde (yeniden adlandırma, yeniden sıralama, zorunlu alan ekleme), yarıda olan kullanıcıların aniden doğrulamaya takılmasını veya yerlerini kaybetmesini istemezsiniz. Basit yaklaşım:
id ve version (veya değişmez flow_version_id) tutar.flow_version_idye işaret eder.İlerlemeyi kaydederken otomatik kaydetme (yazarken kaydetme) veya Netice düğmesiyle kaydetme arasında seçim yapın. Birçok ekip her ikisini birleştirir: taslakları otomatik kaydeder, ancak bir adımı “tamamlandı” olarak işaretlemek yalnızca Next ile olur.
Raporlama ve sorun giderme için started_at, completed_at ve last_seen_at (ve adım başına saved_at) gibi zaman damgalarını izleyin.
Çok adımlı onboarding en kolay şekilde kullanıcı oturumunu bir “durum” (geçerli adım + durum) olarak ele alındığında anlaşılır; yalnızca belirli geçişlere izin verilir.
Frontend’in herhangi bir URL’ye atlamasına izin vermek yerine, adım başına küçük bir durum seti tanımlayın (ör. not_started → in_progress → completed) ve net geçişler belirleyin (ör. start_step, save_draft, submit_step, go_back, reset_step).
Bu size öngörülebilir davranış sağlar:
Bir adım ancak iki koşul sağlandığında “tamamlandı” sayılmalıdır:
Sunucunun kararını adım ile birlikte saklayın; böylece UI adımı bitmiş sanarken backend farklı düşünmez.
Kolay gözden kaçan bir uç durum: kullanıcı daha önceki bir adımı düzenler ve sonraki adımlar bozulur. Örnek: “Ülke” değişikliği “Vergi bilgilerini” veya “Mevcut planları” geçersiz kılabilir.
Bunu bağımlılıkları izleyip her gönderimden sonra aşağı doğru adımları yeniden değerlendirerek ele alın. Yaygın sonuçlar:
needs_review olarak işaretleyin (veya in_progress olarak geri alın).“Geri” desteklenmeli, ancak güvenli olmalı:
Bu, deneyimi esnek tutar ve oturum durumunun tutarlı kalmasını sağlar.
Backend API, kullanıcının onboarding’de nerede olduğunu, ne girdiğini ve ne yapabileceğini doğrulayan “gerçek kaynak”tır. İyi bir API frontend’i basit tutar: mevcut adımı render eder, verileri güvenle gönderir ve yenileme/bağlantı sorunlarından sonra toparlanmayı sağlar.
En azından bu işlemleri tasarlayın:
GET /api/onboarding → geçerli adım anahtarı, tamamlanma %'si ve adımı render etmek için gereken kaydedilmiş taslak değerleri döner.PUT /api/onboarding/steps/{stepKey} ile { "data": {…}, "mode": "draft" | "submit" }POST /api/onboarding/steps/{stepKey}/nextPOST /api/onboarding/steps/{stepKey}/previousPOST /api/onboarding/complete (sunucu gerekli tüm adımların karşılandığını doğrular)Yanıtları tutarlı tutun. Örneğin kaydettikten sonra güncellenmiş ilerlemeyi ve sunucunun karar verdiği sonraki adımı döndürün:
{ "currentStep": "profile", "nextStep": "team", "progress": 0.4 }
Kullanıcılar çift tıklayacak, kötü bağlantıda yeniden deneycek veya frontend zaman aşımından sonra isteği yeniden gönderebilir. “Kaydet” işlemini güvenli hale getirin:
PUT/POST istekleri için Idempotency-Key başlığı kabul edin ve (userId, endpoint, key) ile dedupe edin.PUT /steps/{stepKey}'i o adımın depolanmış yükünün tam üzerine yazması şeklinde ele alın (veya kısmi birleştirme kurallarını netleştirin).version (veya etag) ekleyin.UI'nin alanların yanına yerleştirebileceği eyleme geçirilebilir mesajlar döndürün:
{
"error": "VALIDATION_ERROR",
"message": "Lütfen işaretli alanları düzeltin.",
"fields": {
"companyName": "Şirket adı zorunlu",
"teamSize": "Sayı olmalı"
}
}
Ayrıca frontend’in doğru tepki verebilmesi için 403 (izin yok) ile 409 (çakışma / yanlış adım) ve 422 (doğrulama) ayrımını yapın.
Kullanıcı ve yönetici kapasitelerini ayırın:
GET /api/admin/onboarding/users/{userId} veya müdahaleler) rol-kontrolüne tabi olmalı ve denetlenmelidir.Bu sınır, yetki sızıntılarını önlerken destek ve operasyonun takılan kullanıcılara yardım etmesine izin verir.
Frontend’in görevi, ağ sorunlarında bile onboarding’in akıcı hissettirmesini sağlamaktır. Bu, öngörülebilir yönlendirme, güvenilir “devam” davranışı ve verilerin kaydediliyor olduğuna dair net geribildirim demektir.
Her adım için bir URL (örn. /onboarding/profile, /onboarding/billing) genellikle en basit yaklaşımdır. Tarayıcı geri/ileri desteği, e-posta derin linkleri ve yenileme sonrası bağlam kaybetmeme gibi avantajlar sağlar.
Çok kısa akışlar için tek sayfa dahili durum kullanılabilir, ancak yenileme, çökme ve “bağlantıyı kopyala devam et” senaryolarında riskleri artırır. Bu yaklaşımı seçerseniz güçlü kalıcılık ve dikkatli geçmiş yönetimi gerekir.
Adım tamamlama ve en son kaydedilmiş verileri sunucuda saklayın, sadece localstorage’da değil. Sayfa yüklendiğinde mevcut onboarding durumunu (geçerli adım, tamamlanan adımlar ve taslak değerleri) çekip buradan render edin.
Bu şunları sağlar:
Optimizmli UI sürtünmeyi azaltabilir, ama sınırları olmalı:
Kullanıcı döndüğünde onları direk adım birine atmayın. Şöyle bir öneri sunun: “%%60 tamamladınız—bıraktığınız yerden devam etmek ister misiniz?” iki eylemle:
/onboarding bağlantısını persistent bir banner ile gösterir)Bu küçük dokunuş bırakmayı azaltır ve aynı zamanda kullanıcıların her şeyi hemen bitirmek zorunda olmadığını kabul eder.
Doğrulama, onboarding’in ya pürüzsüz ya da sinir bozucu hissettirdiği yerdir. Amaç hataları erken yakalamak, kullanıcıyı hareket halinde tutmak ve eksik/veri şüpheli olduğunda sistemi korumaktır.
Ağ isteği göndermeden önce istemci tarafı doğrulamasıyla bariz hataları önleyin. Bu churn’i azaltır ve her adımı daha yanıtlı gösterir.
Tipik kontroller: zorunlu alanlar, uzunluk limitleri, temel format (email/telefon) ve alanlar arası basit kurallar (şifre onayı). Mesajlar spesifik olsun (“Geçerli bir iş e-postası girin”) ve hemen alan yanında gösterilsin.
Sunucu doğrulaması kaynak otoritedir. UI mükemmel doğrulasa bile kullanıcılar bunu atlayabilir.
Sunucu doğrulaması şunları zorunlu kılmalıdır:
Alan-düzey yapılandırılmış hatalar döndürün ki frontend tam olarak hangi alanın düzeltilmesi gerektiğini vurgulasın.
Bazı doğrulamalar dışsal veya gecikmeli sinyallere bağlıdır: e-posta benzersizliği, davet kodları, dolandırıcılık sinyalleri veya belge doğrulama. Bunları pending, verified, rejected gibi durumlarla yönetin ve UI’da açıkça gösterin. Bir kontrol bekliyorsa, kullanıcıyı mümkünse devam ettirin ve hangi adımın kilitli kalacağı veya ne zaman bildirim gelecek açıklayın.
Çok adımlı onboarding’da kısmi veri normaldir. Adım başına karar verin:
Pratik yaklaşım: “her zaman taslağı kaydet, yalnızca adım tamamlanırken engelle”—bu, oturum devamını desteklerken veri kalitesini de korur.
Çok adımlı onboarding için analitik iki soruyu yanıtlamalı: “Nerede takılıyorlar?” ve “Hangi değişiklik tamamlama oranını artırır?” Küçük, tutarlı event setleri izleyin ki akış değiştiğinde bile karşılaştırma yapabilesiniz.
Her adım için aynı temel eventleri izleyin:
step_viewed (kullanıcı adımı gördü)step_completed (kullanıcı gönderdi ve doğrulamayı geçti)step_failed (kullanıcı gönderdi ama doğrulama veya sunucu kontrolleri başarısız oldu)flow_completed (kullanıcı final başarı durumuna ulaştı)Her event’e minimal, stabil bir bağlam ekleyin: user_id, flow_id, flow_version, step_id, step_index ve session_id (tek oturum mu yoksa birden fazla güne yayılmış mı ayırt etmek için). Eğer resume destekleniyorsa step_viewed içinde resume=true/false ekleyin.
Adım başına terk oranını ölçmek için aynı flow_version için step_viewed ile step_completed sayısını karşılaştırın. Zaman ölçmek için zaman damgalarını alın ve hesaplayın:
step_viewed → step_completed arasındaki sürestep_viewed → bir sonraki step_viewed arasındaki süre (kullanıcı atlama yaparsa işe yarar)Zaman metriklerini sürüme göre gruplayın; aksi halde eski ve yeni akışları karıştırmak iyileştirmeleri görünmez kılabilir.
Kopya veya adım sırasını A/B test ediyorsanız, bunu analitik kimliğinin bir parçası olarak ele alın:
experiment_id ve variant_id ekleyinstep_id sabit kalsınstep_id aynı kalmalı, pozisyon için step_index kullanınTamamlama oranı, adım bazlı terk, adım başına medyan süre ve “en çok başarısız olan alanlar”ı gösteren basit bir pano oluşturun. CSV dışa aktarımları ekleyin ki ekipler doğrudan analiz yapıp rapor paylaşabilsin.
Çok adımlı onboarding sistemi zamanla operasyonel kontrol gerektirir: ürün değişiklikleri, destek istisnaları ve güvenli deneylere ihtiyaç olur. Küçük bir iç yönetici alanı mühendisliği darboğaz olmaktan kurtarır.
Yetkili personele onboarding akışları ve adımlarını oluşturup düzenlemeyi sağlayan basit bir “akış oluşturucu” verin.
Her adım düzenlenebilir olmalı:
Bir önizleme modu ekleyin; adımı son kullanıcı nasıl göreceğini kontrol etmek kafa karıştırıcı metin, eksik alan veya kırık dallanmayı yakalar.
Canlı bir akışı yerinde düzenlemekten kaçının. Bunun yerine sürümler yayınlayın:
Sürümleri şu şekilde dağıtın:
Bu riskleri azaltır ve karşılaştırma yapmayı kolaylaştırır.
Destek ekiplerinin veritabanında manuel düzenleme yapmadan kullanıcıları açığa çıkarması gerekebilir:
Her yönetici işlemi loglanmalı: kim neyi, ne zaman ve önce/sonra değerleriyle. Erişimi rollerle sınırlandırın (sadece görüntüleme, editör, yayıncı, destek override) ki hassas işlemler kontrollü ve izlenebilir olsun.
Birçok durumda şu iki şey gerçekleşecektir: kullanıcılar beklenmedik yollar takip edecek ve bir yerde aksaklık (ağ, doğrulama, izin) olacak. İyi bir lansman kontrol listesi akışın doğru olduğunu kanıtlar, kullanıcı verilerini korur ve gerçeğin planla ayrıştığı noktaları erken haber verir.
Önce iş akışı mantığı (durumlar ve geçişler) için birim testleri yazın. Bu testler her adımın:
Ardından API’yi egzersiz eden entegrasyon testleri ekleyin: adım yüklerini kaydetme, ilerlemeyi sürdürme ve geçersiz geçişleri reddetme.
E2E testleri en az şunları kapsamalı:
E2E senaryolarını küçük ama anlamlı tutun—çoğu kullanıcıyı ve gelire/aktivasyona en çok etki eden yolları hedefleyin.
En az ayrıcalık ilkesini uygulayın: onboarding yöneticileri otomatik olarak tüm kullanıcı kayıtlarına erişmemeli; servis hesapları yalnızca ihtiyaç duydukları tablolar/endpoint'lerle etkileşim kurmalı.
Gerekli alanları şifreleyin (tokenlar, hassas tanımlayıcılar, düzenlemeye tabi alanlar) ve logları veri sızıntısı riski olarak değerlendirin. Ham form payloadlarını loglamaktan kaçının; adım ID’leri, hata kodları ve zamanlamaları loglayın. Hata ayıklama için payload parçaları loglanacaksa alanları tutarlı şekilde maskeleyin.
Onboarding’i hem ürün hunisi hem de API olarak instrument edin.
Adım bazlı hataları, kaydetme gecikmesini (p95/p99) ve devam hatalarını takip edin. Bir sürüm sonrası tamamlanma oranında ani düşüşler, tek bir adımda doğrulama hatası artışı veya artan API hata oranları için uyarılar kurun. Bu, destek biletleri birikmeden önce bozuk adımı düzeltmenizi sağlar.
Adım tabanlı bir onboarding sistemini sıfırdan kuruyorsanız, zamanınızın çoğu aşağıdaki yapı taşlarına gider: adım yönlendirmesi, kalıcılık, doğrulamalar, ilerleme/durum mantığı ve sürümleme/dağıtım için bir yönetici arayüzü. Koder.ai bu parçaları sohbet tabanlı bir spesifikasyondan tam yığın web uygulamaları üreterek prototipleme ve teslim süresini hızlandırabilir—genellikle React frontend, Go backend ve flow/step/step_response modellerine temizce eşlenen PostgreSQL veri modeli ile.
Koder.ai kaynak kodu dışa aktarma, barındırma/dağıtım ve geri alma anlık görüntüleri (snapshots) desteklediği için onboarding sürümlerini güvenle yinelemenize (ve eğer bir dağıtım tamamlama oranını düşürürse hızla geri almanıza) yardımcı olur.
Setup tek bir formdan daha fazlaysa çok adımlı bir akış kullanın—özellikle önkoşullar (ör. workspace oluşturma), doğrulama (email/telefon/KYC), yapılandırma (faturalama/entegrasyonlar) veya rol/plan/bölgeye göre dallanma varsa.
Kullanıcıların doğru cevap vermesi için bağlam gerekiyorsa, adımlara bölmek hataları ve bırakmayı azaltır.
Başarıyı ekranların tamamlanması olarak değil, kullanıcının değer elde etmesi olarak tanımlayın. Yaygın metrikler:
Ayrıca devam başarısını (kullanıcıların ayrılıp ilerlemeyi kaybetmeden geri dönebilmesi) izleyin.
Önce kullanıcı tiplerini listeleyin (ör. self-serve yeni kullanıcı, davetli kullanıcı, yönetici tarafından oluşturulmuş hesap) ve her biri için tanımlayın:
Sonra atlama kurallarını kodlayın, böylece her persona doğru sonraki adıma (her zaman adım bir değil) yönlendirilir.
“Bitti”yi backend’in doğrulayabileceği kriterler olarak yazın, UI tamamlanması olarak değil. Örnek kriterler:
Böylece UI değişse bile sunucu onboarding’in tamamlandığını güvenilir şekilde karar verebilir.
Çoğunlukla lineer bir iskeletle başlayın ve yalnızca deneyim gerçekten farklıysa koşullu dallanmalar ekleyin (rol, plan, bölge, kullanım durumu).
Dallanmayı açık if/then kuralları olarak belgeleyin (ör. “Eğer region = EU → VAT adımını göster”), ve adım adlarını eylem odaklı tutun (“E-postayı Onayla”, “Takım Davet Et”).
Akış kısa ise tek sayfa dahili durum işe yarayabilir; ancak çoğu durumda her adım için bir URL (ör. /onboarding/profile) tercih edin. Bu yaklaşım yenileme güvenliği, e-posta derin linkleri ve tarayıcı geri/ileri desteği sağlar.
Tek sayfa yalnızca çok kısa akışlar için ve güçlü kalıcılık varsa düşünülmeli.
Sunucuyu gerçek kaynak olarak kabul edin:
Bu, yenileme güvenliği, cihazlar arası devam ve akış güncellemelerinde istikrar sağlar.
Pratik ve minimal bir model şudur:
Akış tanımlarını sürümleyin ki devam eden kullanıcılar ekleme/yeniden sıralama yapıldığında kırılmasın. İlerleme, belirli bir 'ye işaret etmelidir.
Onboarding’i bir durum makinesi gibi ele alın; açık geçişlerle (start_step, save_draft, submit_step, go_back) tutarlı davranış sağlayın.
Bir adım yalnızca şu ikisi başarılı olduğunda “tamamlanmış” sayılmalıdır:
Gerekli asgari API’ler:
GET /api/onboarding (geçerli adım + ilerleme + taslaklar)PUT /api/onboarding/steps/{stepKey} ile mode: draft|submitPOST /api/onboarding/complete (sunucu tüm gereklilikleri doğrular)İdempotency (ör. ) ekleyin, çifte gönderimleri koruyun ve alan-düzey yapılandırılmış hatalar döndürün (403/409/422 anlamlarını doğru kullanın).
flow_version_idErken adımlarda yapılan değişiklikler downstream adımları bozuyorsa onları needs_review veya in_progress olarak işaretleyin.
Idempotency-Key