# Documents Kurum içerisinde kullanılan tüm belge ve evrak tanımlarını yönetir. ## Hedefler * Kurum içinde kullanılan tüm kıymetli evrak ve müşteriden alınan belge tanımları için tek bir altyapı oluşturmak. * Belge tanımlarında şema desteği sunmak. * Hem anlık talep (*SMS veya Push*) hem de uygulamalara girişte (*on-logon*) alınacak şekilde iş emri oluşturabilmesi. ## Belge Tanımları Kulanıcılar tarafından onaylanacak tüm belge tiplerinin sistem üzerinde tanımlıdır. * **name** Belge tipidir. Version ile birlikte tekildir. * **title** belgenin kullanıcı arabirimlerinde gösterilecek adıdır. * **version** belgenin versiyonu [semantic versioning](https://semver.org) olarak kayıt edilir. Sorgulamalarda tilde ve range desteği sağlar. * **min-version** belgenin minimum versiyonunu belirler. Kişi özelinde müşterinin var olan sözleşmeleri incelenerek var olan sözleşmeler için yeniden sözleşme almamak için uygulanan kontrol verisidir. * **template** belge dönüşümü yapılacak içeriği taşır. Template engine tarafından tanımlı belge adı kullanılır. * **allow-to-sign** Belgenin fiziksel olarak imzalanıp imzalanamacağı bilgisidir. ```json { "id": "2c66921c-02f4-42fc-9b19-378ee0f4decd", "status": "A", "name": "retail-digital-bhs", "title": "Bireysel Hizmet Sözleşmesi", "version": "8.0.0", "min-version": ">=6.x.x", "template": "retail-digital-bhs-8-0-0", "allow-to-sign": false } ``` ### GET : /documents/document-type Servisi ile sorgulanan tüm belge kayıtlarına erişilir. #### Query Parameter ```json "page-index": 1 "page-size": 10 "name": "retail-digital%" "version": "latest" "id":"15802b18-cc2f-4b79-808f-e35b6023782c" "reference.name":"loan-account" "reference.id":"TR330006100519786457841326" "status":"A" "active-process.id":"" "active-process.name":"" ``` **name** parametresinde SQL Like benzeri parçalı arama yapılabilir. **version** parametresi ile range, comparison (*>5.0.0 gibi*) verilerek arama yapilabilir. ### POST : /contract-approval/document-type > **Zeebe Init Message** : document_type_new Servisi ile yeni bir belge tipi kaydı oluşturulur. #### Body ```json { "name": "retail-digital-bhs", "title": "Bireysel Hizmet Sözleşmesi 8.0", "version": "8.1.0", "min-version":">=6.x.x", "template": "retail-digital-bhs-8-1-0" } ``` ### PATCH : /contract-approval/document-type/{id} > **Zeebe Init Message** : document_type_update Servisi ile var olan belge tipi güncelenir. #### Body ```json { "min-version":">=6.x.x", "template": "retail-digital-bhs-8-1-0" } ``` ### DELETE : /contract-approval/document-type/{id} > Message** : document_type_update Servisi ile var olan belge tipi güncelenir.