---
# System prepended metadata

title: Scope

---

###### tags: resource

# Scope

**Kök tanımdır.** 
Kullanıcılar ve yetkilendirme mekanizmaları bu yapının üzerine kurgulanır.
Çözüm içerisinde kullanıcıların dahil olduğu organizasyon ve grup tanımlarını içerir.

Scope tanımları
* Bankamız tanımını
* Müşteri tanımları
* İş ortağı tanımları
* Kullanıcısı bulunan resmi kurum ve kuruluş tanımları

içerir.

Kullanıcılar birden fazla **Scope** ile farklı rolerle yetkili olabilirler.

## Örnek Veri

| id                                   | Title                 | Reference   | Tags               | Role Group           | State  |
| ------------------------------------ | --------------------- | ----------- | ------------------ | -------------------- | ------ |
| 12fa4b83-b1ce-4016-9586-179b98c93f28 | Uğur KARATAŞ          | 30052069000 | retail-customer    | Bireysel Müşteri     | Active |
| 42852aca-a9ad-4bca-8749-90b016619a3e | Burgan                | 5652514541  | burgan-bank,       | Banka                | Active |
| 62852aca-a9ad-4bca-8749-90b016619a3e | Burgan Bank           | 5652514541  | corporate-customer | Banka                | Active |
| 6ea0b9ad-484f-40d0-851b-c35a4ef6c1bd | Karaoğulları Hafriyat | 7625145411  | corporate-customer | Kurumsal Müşteri (1) | Active |
| 3e8f2f63-464e-4dd0-8ff8-689de168603f | Migros                | 6625145411  | loan-partner       | Kurumsal Müşteri (2) | Active |

* **Id** sistem tarafından oluşturulan evrensel tekil Guid bir alandır.
* **Title** tagler vasıtası ile doldurulan bir alandır. Değer Tag verisi ile otomatik olarak doldurulur. Bu mekanizma ile Tag verisi güncellendiğinde ilgili Title alanıda güncellenir. Sadece okunabilir bir alandır.
* **Reference** Tekil ikincil anahtardır.
* **Tags** İlgili kayda veri sağlayabilecek, kaydı etiketleyecek Tag değerleridir.
* **Role Group** ilgili kayıt için kullanıbilir erişim ve yetkilendirme profilleri için baz oluşturur.


## Konfigürasyon

### Title Source

Scope kayıtlarının Title bilgisinin edinileceği Tag belirteçleri sırasıyla tanımlanır. Bir kayıt birden fazla **Tag** içeriyorsa, order parametresine göre öncelikli Tag verisi Title içerisine atanır.


```jsonld!
{
  "title-source": [
    {
      "order": 1,
      "tag": "burgan-bank",
      "data": "response.data.bank-name"
    },
    {
      "order": 2,
      "tag": "corporate-customer",
      "data": "response.data.name"
    },
    {
      "order": 3,
      "tag": "retail-customer",
      "data": "response.data.fullname"
    },
    {
      "order": 4,
      "tag": "loan-partner",
      "data": "response.data.name"
    }
  ]
}
```

### States & Events

Kayıtların statüleri kendi üzerlerinde bulunan **State** alanından takip edilir. Statüler ve statülerin izin verdiği eylemler iş ihtiyaçlarına göre konfigüre edilebilir.

Statü değişimlerinde ise **Zeebe** üzerinde tanımlanmış *atomic workflow* akışları kullanır.

Kayıt oluşumunda ve kayıt statü değişimlerinde evente bağlı workflow varsa çağrılarak ek iş süreçleri işletilebilir. 




## Servisler

### Definition
#### GET /scope?keyword=migros
**Association** kayıtlarını döner. Sayfalama ve free text arama özellikleri sağlar.

#### POST /scope
Id'ye göre varolan bir **scope** kaydını günceller veya yenisini oluşturur.


Kayıt yaratılırken veya güncellenirken her zaman event verilerek iş akışı üzerindeki tanımlı aksiyonlardan faydalanılır.

Payload parametresi ise iş akışına parametre olarak iletilir. IDM altyapısının işleyişinde etkin değildir.


```jsonld!
{
  "reference": "38552069008",
  "tags": [
    "retail-customer"
  ],
  "role-group": "bireysel-musteri",
  "event": "Activate",
  "payload": {
    "param1": "ekyc",
    "param2": "retail customer system"
  }
}
```

Bu adımda örnek olarak sadece bir statü değişimi yapılıyor. İş akışı için payload verilmemiş durumda. 

```jsonld!
{
  "reference": "38552069008",
  "event": "Activate",
}
```

#### GET /scope/{id}
İstenen kayıt ile ilgili detaylı kayıt bilgilerini döner.

