19 uç · /api/musavir/v1/faturalar
İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 19 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
idcurl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/<id>/gecikme-faizi" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/<id>/gecikme-faizi" \
-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/faturalar/<id>/gecikme-hatirlatma" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 `mukellef.manage` — `.view` DEĞİL. Uç, kalıcı kayıt yazar ve personele bildirim atar; makine seam'idir, rutin okuma işi değil. (MÜF1'de `takvim POST /hatirlatilacaklar` aynı gerekçeyle `.manage`e alınmıştı: damga geri alınamaz.) 🔴 Kapsam süzgeci YOK — ve bu BİLEREK: tarama BÜRO GENELİNDE koşar. Kapsamlı koşsaydı hatırlatmanın üretilip üretilmemesi, işi TETİKLEYEN personelin portföyüne bağlı olurdu; aynı sözleşme bir personel tetiklediğinde uyarı üretir, başkası tetiklediğinde üretmezdi. Yükümlülük büronundur, tetikleyenin değil. Uç yalnız SAYI döndürür (hangi müvekkil, hangi sözleşme bilgisini SIZDIRMAZ); ayrıntıyı herkes kendi kapsamlı listesinden görür.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/gecikme-hatirlatma/calistir" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/hareketler" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}doğrula → (tx YOKKEN) numara al → yaz; senaryoyu GİB'e sorar ve cevap alamazsa fatura **kesilmez** (uydurmaz); onaylı faturanın içeriği donar. Portala özel bir kesme yolu yazmak, bu kuralların hepsini atlamanın en kolay yoluydu — ve mükellefin resmî fatura serisinde boşluk/mükerrerlik demekti.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/kes" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/ozet" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 İzin `fatura_kes` ile AYNI (`mukellef.manage`) ve kapsam süzgeci ZORUNLU. Tek tek faturalamayı kapsam dışı müvekkil için reddedip toplu ucu süzmeseydik, aynı yasak iş tek istekle ve DAHA BÜYÜK ölçekte yapılabilirdi: yan kapı, ana kapıdan geniş olurdu. Kapsam burada bir 403/404 üretmez — süzgeçtir. Yabancı sözleşmeler aday kümesine hiç girmez, dolayısıyla "kaç fatura üretildi" sayısı bile kapsam dışının VARLIĞINI sızdırmaz.
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/faturalar/toplu-kes" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}