24 uç · /api/v1/site
İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 24 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
Rızayı yalnız tarayıcıda tutmak, "kim ne zaman neyi kabul etti" sorusunu cevapsız bırakır — GDPR-01'in birebir aynı dersi.
curl -X POST "https://api.blesyum.com/api/v1/site/consent" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}# Neden şablon, neden nonce burada basılmıyor Nonce her istekte DEĞİŞİR; CSP'yi nonce'la birlikte döndüren bir uç, Next middleware'ini her gezinmede bir loopback alt-isteğe mahkûm ederdi. Şablon ise sağlayıcı listesi değişene kadar SABİTTİR: Next onu `revalidate` ile önbellekler ve `{nonce}` yer tutucusunu kendi üretir. Yer tutucu adı bir SÖZLEŞMEDİR: istemci `{nonce}` arar. Değiştirirsen CSP nonce'suz kalır ve Next'in kendi satır-içi script'leri engellenir — sayfa bembeyaz açılır ve sebebi yalnız konsolda görünür.
curl -X GET "https://api.blesyum.com/api/v1/site/csp" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}Politika önce **Report-Only** koşar; buraya düşen kayıtlar sıfırlanınca zorlayıcı moda geçilir. Toplayıcı olmadan "enforce" etmek, siteyi tanımadığın bir ihlalle kırmaktır.
curl -X POST "https://api.blesyum.com/api/v1/site/csp-report" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}key⚠ Bot dolduran formda sessizce BAŞARILI dönülür: botun hangi alanın onu yakaladığını öğrenmesi, honeypot'u bir sonraki denemede işe yaramaz kılar.
curl -X POST "https://api.blesyum.com/api/v1/site/form/<key>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}🔴 `.docx`/`.doc` KABUL EDİLMEZ: makro taşıyan bir ofis belgesini kovaya alıp İK'ya açtırmak, kendi ekibimize saldırı yüzeyi açmaktır. PDF de risksiz değildir ama `validate_upload` türü SİHİRLİ BAYTLA doğrular (istemcinin `Content-Type`'ıyla değil) ve dosya sunucunun ürettiği anahtarla saklanır.
curl -X POST "https://api.blesyum.com/api/v1/site/form/career/cv" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}⚠ Yanıt `no-store` + `noindex` taşımak zorunda; istemci bunu uygular. Önbelleklenebilir bir taslak, arama motoruna düşen bir taslaktır.
curl -X GET "https://api.blesyum.com/api/v1/site/preview" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}⚠ Liste PUBLIC'tir ve olmalı: içinde sır yok, yalnız "hangi eski adres nereye gidiyor" bilgisi var — ve o bilgi zaten HTTP yanıtından okunabilir.
curl -X GET "https://api.blesyum.com/api/v1/site/redirects" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}