Müşavir

sozlesmeler

30 uç · /api/musavir/v1/sozlesmeler

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 30 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/musavir/v1/sozlesmeler

List

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler

Create

Oturum
İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}

Oku

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/musavir/v1/sozlesmeler/{id}

Patch

OturumYol parametresi: id
İstek
curl -X PATCH "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/bildirim-hatirlatma

Sözleşme değişiklik geçmişi (BLE-7292) — çekirdek `blesyum_audit` üzerinden okunur.

OturumYol parametresi: id

Modü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.

İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/bildirim-hatirlatma" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/devir

Devir

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/devir" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/ekler

List

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/ekler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/ekler

🔴 `.view` yeterli — `.manage` DEĞİL. MÜF1'in rol matrisi dersi: ölçüt "mutasyon mu?" değil

OturumYol parametresi: id

"bu ROLÜN RUTİN İŞİ mi?". Not düşmek `muhasebe_elemani`/`stajyer`in günlük işidir ve ellerindeki tek izin `V_MUKELLEF`'tir; `.manage` istemek not defterini onlara kapatır. Not WORM olduğu için yanlış yazılan bir not "geri alınamaz idari eylem" de değildir — düzeltmesi yeni bir nottur.

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/ekler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/musavir/v1/sozlesmeler/{id}/ekler/{ek_id}

Kopar

OturumYol parametresi: idek_id
İstek
curl -X DELETE "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/ekler/<ek_id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/ekler/yukle

Belgeyi arşive yaz VE sözleşmeye bağla (tek çağrı).

OturumYol parametresi: id

🔴 `mukellef_ref` GÖVDEDEN OKUNMAZ — sözleşmeden türetilir. Gövdeden alınsaydı, kapsam kapısını sözleşme üzerinden geçen bir personel, belgeyi BAŞKA bir müvekkilin dosyasına arşivleyebilirdi (portal.rs'in aynı kuralı: kimlik gövdeden gelmez).

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/ekler/yukle" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/fesih

Fesih

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/fesih" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/gecmis

Sözleşme değişiklik geçmişi (BLE-7292) — çekirdek `blesyum_audit` üzerinden okunur.

OturumYol parametresi: id

Modü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.

İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/gecmis" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/imza

List

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/imza" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/imza

İptal/itiraz kuyruğunu gönder.

OturumYol parametresi: 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.

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/imza" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/notlar

List

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/notlar" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/notlar

🔴 `.view` yeterli — `.manage` DEĞİL. MÜF1'in rol matrisi dersi: ölçüt "mutasyon mu?" değil

OturumYol parametresi: id

"bu ROLÜN RUTİN İŞİ mi?". Not düşmek `muhasebe_elemani`/`stajyer`in günlük işidir ve ellerindeki tek izin `V_MUKELLEF`'tir; `.manage` istemek not defterini onlara kapatır. Not WORM olduğu için yanlış yazılan bir not "geri alınamaz idari eylem" de değildir — düzeltmesi yeni bir nottur.

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/notlar" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/pdf

Pdf

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/pdf" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/{id}/vis

Oku

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/vis" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/vis

Uret

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/vis" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/{id}/yenile

Yenile

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/<id>/yenile" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/bildirilmemis

Bildirilmemis

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/bildirilmemis" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/bildirim-hatirlatma/calistir

Hatırlatma taramasını elle tetikle (zamanlanmış iş MÜF22'de aynı fonksiyonu çağıracak).

Oturum

🔴 `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.

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/bildirim-hatirlatma/calistir" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/export

Sözleşme listesi CSV export'u (BLE-6945).

Oturum

🔴 Mükellef unvanı burada da çıkıyor → aynı formül-enjeksiyonu riski. Savunma TEK YERDE (`grid::csv_hucre`): iki ayrı export'un iki ayrı kaçış mantığı olsaydı, biri güncellenip diğeri unutulurdu.

İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/export" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/grid

Grid

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/grid" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/grid-export

Sözleşme listesi CSV export'u (BLE-6945).

Oturum

🔴 Mükellef unvanı burada da çıkıyor → aynı formül-enjeksiyonu riski. Savunma TEK YERDE (`grid::csv_hucre`): iki ayrı export'un iki ayrı kaçış mantığı olsaydı, biri güncellenip diğeri unutulurdu.

İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/grid-export" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/gruplu

Gruplu

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/gruplu" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sozlesmeler/import

CSV gövdesi düz metin olarak alınır (multipart gerekmez; Next tarafı dosyayı okuyup

Oturum

gönderir). 1 MiB body tavanı `apply_standard_middleware`'den gelir. `?onizleme=true` ile AYNI uç, yazmadan çalışır: sihirbazın "önce göster" adımı gerçek akışın kod yolundan geçer (bkz. [`Kip::Dogrula`]) — ayrı bir doğrulama ucu yazsaydık iki kural kümesi ayrışır ve ön izleme yalan söylerdi.

İstek
curl -X POST "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/import" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/import/sablon

Sablon

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/import/sablon" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/numaralama

BLE-7300 — seri formatı. `mukellef.view` yeterli: bu uç yalnızca **biçimi**

Oturum

söylüyor, aynı kişi listede o biçimde basılmış gerçek numaraları zaten görüyor. Okuyabildiği bir şeyin şablonunu saklamak hiçbir şeyi korumaz.

İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/numaralama" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/musavir/v1/sozlesmeler/yenilenecekler

Yenilenecekler

Oturum
İstek
curl -X GET "https://{slug}.musavir.blesyum.app/api/musavir/v1/sozlesmeler/yenilenecekler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?