İstek Arşivi¶
Amaç¶
REQUEST_ARCHIVE_ENABLED=true iken her canlı inbound iş emri HTTP denemesi MongoDB api_request_archive koleksiyonuna arşivlenir.
Kapsanan endpointler:
POST /api/v1/inbound/work-orders(mode: live)
Kapsanmayanlar:
POST /api/v1/inbound/work-orders/test(halka açık format doğrulama; arşiv yazmaz)- Token endpoint
- GET endpointler
- Handler çalışmadan önceki kimlik doğrulama
401redleri
Deneme başına kayıt¶
Her HTTP denemesinin kendi request_id değeri ve kendi arşiv belgesi vardır.
Replay denemeleri yeni bir arşiv belgesi oluşturur. original_request_id ilk işlenen denemeyi gösterir.
Saklanan alanlar (whitelist)¶
Yalnızca güvenli metadata:
content_type,accept,content_length,user_agent,remote_ipraw_body(gövde limiti içinde veREQUEST_ARCHIVE_STORE_RAW_BODY=trueiken)raw_body_sha256,canonical_request_sha256- sonuç alanları (
http_status,success,error_code,archive_status, süreler)
Güvenlik hariç tutmaları¶
Asla arşivlenmez veya loglanmaz:
Authorizationbaşlığı- Bearer / access token
- Client secret
- JWT secret
- Cookie başlıkları
- Maskelenmemiş MongoDB URI
- Tam istek header haritaları
Aşırı büyük gövdeler¶
Mevcut inbound gövde limitleri korunur. Aşırı büyük canlı istekler 413 döner ve body_truncated: true ile archive_status: body_rejected olan yalnızca metadata arşivi oluşturabilir. Tam aşırı büyük gövdeler yazılmaz.
Zorunlu arşiv davranışı¶
REQUEST_ARCHIVE_REQUIRED=true ve ilk arşiv insert başarısız olursa:
- Canlı business işleme başlamaz
- HTTP
503/REQUEST_ARCHIVE_UNAVAILABLE
Format-only test endpointi arşiv erişilebilirliğinden etkilenmez ve REQUEST_ARCHIVE_UNAVAILABLE dönmez.
REQUEST_ARCHIVE_ENABLED=false iken arşivleme atlanır (yalnızca sorun giderme; üretim için önerilmez).
Business sonrası arşiv update başarısız olursa API yine tamamlanmış business yanıtını döner ve yapılandırılmış ERROR log yazar. Idempotency completion birincil güvenlik kaydı olarak kalır.
Test endpoint semantiği¶
| Store | Yazma sayısı |
|---|---|
| Business koleksiyonları (projects/products/…) | 0 |
api_idempotency_records |
0 |
api_request_archive |
0 |
write_performed: false, database_accessed: false ve archive_written: false format endpointinin kalıcılık yan etkisi üretmediğini doğrular.
Saklama süresi¶
REQUEST_ARCHIVE_RETENTION_DAYS (varsayılan 90) belge expires_at değerini ayarlar. TTL index expireAfterSeconds: 0 kullanır.