60 uç · /api/musavir/v1/beyannameler
İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 60 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
curl -X PATCH "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X DELETE "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 Ekran bunu gönderim düğmesine basmadan ÖNCE çağırır. Olmasaydı kullanıcı hataları ancak gönderim denemesinin 422'sinden öğrenirdi — ve son güne yakın bir denemede o tur, düzeltme için kalan zamanı yer.
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/dogrula" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/duzeltme-onizle" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 AYRI UÇ, AYRI FİİL (BLE2-8212'nin `gonderildi-isaretle` kararının aynısı): düzeltme "beyanımın tamamı şu" der, ek beyan "şunu da ekliyorum" der. Tek uca `ek: true` bayrağı koymak, beyanın ANLAMINI bir JSON alanına saklamak olurdu — denetim sorgusu bile ayıramazdı.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/ek-beyan" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 Sağlayıcı çağrı yerinde SABİT değil (MÜF9 Paket 10 · BLE2-7859) — `&StubGibIptalBildirim` yazıyordu. `kuyruk_gonder_h`teki gerekçenin aynısı: yapılandırma hatası kuyruğa yazılmaz.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/gonder" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 Bu uç, [`gonder`]in kanal kapısı sıkılaşınca meşru işin kapanmaması için var (BLE2-8212'nin karşı ağırlığı). İzin AYNI: gönderildi işaretlemek de resmî bir beyan fiilidir — "sadece bir durum değişikliği" değildir ve zayıf bir izne bağlanamaz.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/gonderildi-isaretle" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idodeme_idcurl -X DELETE "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/odemeler/<odeme_id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idModül kendi log tablosunu YAZMAZ: kendi tablosunu yazan bir modül çekirdeğin WORM garantilerini kaybeder ve "denetim izi" adını hak etmeyen, silinebilir bir log elde eder.
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/onay-gecmisi" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/tahakkuk" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/tahakkuk-durumu" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 Plan **tek parça** yazılır (önce siler, sonra yazar): taksit taksit eklemek, iki taksitin arasına yanlış vade sıkışmış yarım bir plan bırakabilirdi ve "sıra" numaraları vadelerle tutmaz hâle gelirdi. Ödemeler SİLİNMEZ — `taksit_ref` FK'sı `on delete set null` taşır, yani ödeme plansız hâle döner ve para kaybolmaz.
curl -X PUT "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/taksitler" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}iduid🔴 Not ZORUNLU. Gerekçesiz kapatılan bir uyumsuzluk, hiç açılmamış olandan kötüdür: kapatıldığı için bir daha görünmez ama sebebi hiçbir yerde yazmaz — bir sonraki denetimde "bu fark neydi" sorusunun cevabı kalmaz. (ONB-01'in "olumsuz kararı gerekçesiz gönderme" kuralının aynısı.)
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/uyumsuzluklar/<uid>/coz" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/<id>/zincir" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/damga-kagit-tarifesi" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 Uç, `manage` izni ister: sonuç `kabul` gelirse **tahakkuk yazılır** ve o yevmiye defterine kadar gider (BLE2-8318 köprüsü). Okuma gibi görünen bir işlem, yazan bir işlemdir.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/durum-senkronize" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}baslangiccurl -X DELETE "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/gecikme-zammi-oranlari/<baslangic>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}Önizleme olmadan müşavirin tek yolu taslak açıp bakmaktı; beğenmezse silmesi gerekirdi ve `by_asil_uniq` yüzünden aynı dönemde ikinci bir deneme ancak silme sonrası olurdu. Bir soruyu cevaplamak için kayıt açtırmak, kaydı soru işaretine çevirir.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/onizle" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/partiler/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/partiler/<id>/yeniden-dene" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/sihirbaz" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id🔴 Beyanname [`crate::beyanname::hazirla_aktorlu`] ile açılır — sihirbaz kendi INSERT'ünü YAZMAZ. Yazsaydı son gün hesabı, mükellefiyet penceresi kapısı, damga çözümü ve doğrulama motoru bu yoldan atlanırdı; hazırlamanın on kuralı iki kapıdan yalnız birinde işlerdi (`beyanname_parti`'nin aynı kararı).
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/sihirbaz/<id>/tamamla" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 Tür listesi FE'ye SABİT YAZILMAZ. `lib/toplu-yukleme.ts`'in `BELGE_TIPLERI` kopyası (MÜF10 Paket 7) tam da bu yüzden eskimişti: sunucu 11 tipe geçmiş, ekran 6'da kalmıştı.
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/turler" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 Uç, worker bayrağından BAĞIMSIZ çalışır ve yanıtta `worker_acik` döndürür (MÜF10 Paket 9'un kararı): bayrağı açmamış bir büronun kuyruğu sessizce sonsuza kadar beklemesin, ve ekran bandı durumu SÖYLESİN. 🔴 Kapı `ayarlar.manage`: tur BÜRO-GENELİdir (kapsam dışı müvekkillerin uyarılarını da damgalar). Kapsamlı bir izinle açılsaydı, dar kapsamlı personel turu koştuğunda göremediği satırları "gönderilmiş" işaretler ya da — defter kilitli olsaydı — başkalarına MÜKERRER bildirim yollardı.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/beyannameler/uyari-turu" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}