Müşavir

sinerji

17 uç · /api/musavir/v1/sinerji

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

POST/api/musavir/v1/sinerji/baglanti/{id}/cek

Elle "şimdi çek" — canlı API bağlantısı.

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

Bakiye + defter.

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

Eşleme yaz (upsert). Hedef, müvekkilin planında ÇALIŞIR bir YAPRAK hesap olmak zorunda.

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

Taslak faturayı sil (BLE2-7893). **Onaylı fatura silinmez** — iptal edilir.

OturumYol parametresi: idkaynak
İstek
curl -X DELETE "https://{slug}.musavir.blesyum.app/api/musavir/v1/sinerji/baglanti/<id>/hesap-eslemeleri/<kaynak>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/musavir/v1/sinerji/baglanti/{id}/senkron

Elle bir senkron turu — ekran açılışında da çağrılır.

OturumYol parametresi: id

🔴 CHAN-01 (*"kurulumun SON adımı kullanıcıya ödev bırakılmaz"*): worker bayrağı kapalı bir kurulumda gelen kutusu ebediyen boş kalmasın diye ekran bu ucu açılışta çağırır. Kullanıcının bir "senkronla" düğmesi ARAMASI gerekmez; düğme yine vardır, ama yolun tamamı ona bağlı değildir.

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

Müvekkil ↔ kaynak bağlantıları + her bağlantının CANLI rıza durumu.

Oturum

🔴 durum kolonu tek başına YALAN SÖYLEYEBİLİR: rıza kaynak tarafından geri alındığında data_source_links.durum kendiliğinden değişmez (cross-tenant bir olay, trigger yazılamaz). Bu yüzden ekrana giden gerçek, her istekte core.data_sharing_grantsten TAZE okunur ve kolon yalnız son çekimin hatırası olarak kalır.

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

Davet AÇ — bağlantı e-postaya gider, yanıta basılmaz.

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

Bekleyen daveti iptal et (bağlantı ölür).

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

Büronun davetleri — personelin KAPSAMINDAKİ müvekkiller.

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

Müşavire (consumer) verilmiş grant'lar — kendi tarafından görünür (RLS: consumer=current).

Oturum

## BLE-9063 kararı: bu uç BÜRO-GENELİDİR, data_scope süzgeci UYGULANMAZ Denetim burayı da kapsamlamayı önerdi (data_source_links üzerinden çift exists). Uygulanmadı, gerekçe yazılı olsun: 1. core.data_sharing_grants bir **tenant-arası rıza** kaydıdır; mukellef_ref kolonu YOKTUR. Dönen alanlar (source_tenant_id, scope, status, tarihler) hiçbir müvekkil verisi taşımaz — unvan, VKN, tutar yok; yalnız opak tenant uuid'leri. 2. Kapsam ancak data_source_links JOIN'iyle kurulabilirdi, ama grant **link'ten ÖNCE** var olur (onboarding sırası: önce rıza verilir, sonra müvekkile bağlanır). JOIN'li süzgeç, henüz bağlanmamış grant'ları şube personelinden gizler ve **onboarding'i kırardı** — kapatılmamış bir sızıntı için çalışan bir akışı bozmak. 3. scope alanındaki 'cari'|'fatura'|… değerleri bu modülde "kapsam" denen DÖRDÜNCÜ kavramdır (veri SINIFI + cross-tenant rıza); data_scope ile ilgisi yoktur. ⚠️ Kabul edilen artık risk: kapsam dışı bir personel büronun ENTEGRASYON SAYISINI ve karşı tenant uuid'lerini görür. Bunu müvekkile bağlamak için data_source_links gerekir; o eşleme yalnız staging_h üzerinden ve artık kapsamlı olarak veriliyor.

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

Son çekim partileri (MÜF23 P8 · BLE22-8746). Kapsam bağlantının müvekkilinden gelir:

Oturum

personelin göremediği müvekkilin partisi listeye girmez.

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

Müşavirin iş listesi: bekleyen/çakışan import taslakları. **Kapsam süzgeci zorunlu**

Oturum

(BLE-9063). 🔴 Fiilen bir TOPLU DIŞA AKTARIMDI: tek istekte 500 satır mukellef_ref + tutar_minor (kuruş) + kaynak_tenant_id. Süzgeç yoktu, izin on_muhasebe.view — yani readonly dâhil her personel büronun bekleyen tüm ön-muhasebe hareketlerini tutarlarıyla okuyabiliyordu. ⚠️ gate(...) YUKARIDA bir kapsam kapısı DEĞİL: o entitlement::middleware::gate, yani "büro bu modülü satın aldı mı" (tenant düzeyi capability). Kullanıcı düzeyinde hiçbir şey süzmez; varlığı bu dosyada uzun süre kapsam kapısı izlenimi verdi.

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

Çakışmayı KAPAT (BLE22-8701). Deftere geçmiş kaydın kaynağı sonradan değişti; sistem defteri

OturumYol parametresi: id

kendiliğinden DÜZELTMEZ (resmî kayıt geriye oynatılamaz), müşavir karar verir: - yoksay — defter doğru, kaynaktaki değişiklik muhasebeyi etkilemiyor (ör. açıklama). Taslak eski içerikte kalır; AYNI çakışan içerik bir daha bayrak YAKMAZ. - duzeltildi — müşavir defteri elle düzeltti (storno + yeni kayıt). Taslağın içeriği kaynağın yenisine çekilir; sonraki çekim AYNI sayar. - yeniden_incele — yalnız REDDEDİLMİŞ taslakta: kaynak değişti, belki artık alınmalı. Taslak yeni içerikle taslaka döner. (Muhasebeleşmiş taslak geri açılmaz.) Gerekçe ZORUNLU (is_cakisma_karar_check): "kim, neden kapattı" denetim sorusudur.

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

🔴 Taslak kararı. Muhasebeleştirmeden ÖNCE revoke kontrolü GERÇEKTEN çağrılır ve kayıtlar

OturumYol parametresi: id

GERÇEKTEN yazılır (MÜF23 P4).

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

Seçili taslaklara TOPLU karar (BLE22-8624: satır-bazlı kısmi onay/ret).

Oturum

🔴 **Kısmi başarı SAYILARAK bildirilir** (otomatik_fis::toplu_fislein dersi): "N taslak işlendi" demek yetmez; atlananın hangisi olduğu ve NEDEN atlandığı aynı yanıtta durur. Bir taslağın hatası öbürlerini durdurmaz — her biri kendi kayıtlarını ayrı ayrı yazar.

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

POST /kvkk/talepler — talebi deftere yaz (append-only; durum ilerletme YENİ satırdır).

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

Talebi GERİ ÇEK — yalnız TALEBİ AÇAN taraf, yalnız henüz onaylanmamış talep.

OturumYol parametresi: id

(Verilmiş bir rızayı kapatmak kaynağın hakkıdır ve çekirdek panelden yapılır.)

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