---
# System prepended metadata

title: Mobil Onay
tags: [ready]

---

# Mobil Onay

###### tags: `ready`

Organizasyon kullanıcılarının banka tarafından kullanılan uygulamalarda  kullandığı Mobil Internet Bankacılığı uygulamacılığı üzerinden onay verebileceği bir alt yapıdır.

İki bileşenli doğrulama sağlandığı için kullanıcılar için yeterli güvenlik seviyesine ulaşılır.


## Temel Hedefler
* Kullanıcı Mobil İnternet Bankacılığına bireysel hakları ile giriş yapacaktır.
* Mobil İnternet Bankacılığı eğer kullanıcı çalışan ise *Ürün ve Hizmetler* menüsü altına **Çalışan** kutusu ekleyecek. Ve altına da **Bekleyen Onaylar** menüsü ekleyecek. 
* Temel Bankacılık maker/checker durumundaki işlemlere onay verilebilecek
* Ek olarak farklı uygulamalar için (Azure DevOps vs.) onay mekanizması  ekleme yetkinliği sunacak.
* Onay verilecek konu ile ilgili dinamik olarak içerik sunulabilecek.
* Onay verilecek konu ile ilgili birden fazla aksiyon (Onay, Ret, Şartlı Onay gibi.) verilebilecek.


## Servisler

### **GET** /is-staff/approval/list/{TCKN}*?page={page}&page-size={page-size}*

Bir çalışana ait bekleyen onayları getirir.

Farlı kaynaklardan toparlanan ve kullanıcıdan onay bekleyen tüm işlemler liste olarak döner.

Sayfalama için **page** parametresi bulunmaktadır. İlk sayfa için **1** geçilir. Gönderilmediği takdirde varsayılan değer **1** kaul edilir.
**page-size** ile sayfa boyutu belirlenir. Gönderilmediği takdirde **10** kabul edilir.  

Dönüş değeri bir listedir;

```json=
{
  "item": [
    {
      "id": "16725",
      "process": "EFT Limit Aşım Onayı",
      "state": "GMY Onayı",
      "summary": "Ahmet Paralı - 2,000,000 TL"
    },
    {
      "id": "16db97df-efe7-49e6-8377-eaeda60739e1",
      "process": "Code Review Onayı",
      "state": "Approve",
      "summary": "Pusula Branch Merge - İYS Entegrasyonu"
    }
  ],
  "has-next-page": false
}
```

* **id**: Onaylar için tekil numaradır. Süreç özelinde tekil olmalıdır.
* **process**: Onaylanacak işlemin kaynağını tanımlar, sistem adı olabileceği gibi sistem içeriisndeki sürecin adı da olabilir.
* **state**: İşlemin bulunduğu aşamadır. Bir işlem için birden fazla aşamada onay verilebilir. Bu yüzden aşama bilgisi gereklidir.
* **summary**: listeleme ekranında bir kısa birsatır olarak gösterilecek işlem ile ilgili detay bilgi.
* **has-next-page**: Sayfalama amaçlı kullanılacak bilgi. True olduğu sürece sayfa kaydırıldığında kayıtlar yüklenmeye devam eder.

### **GET** /is-staff/approval/details/{process}/{id}

Onaylanacak işlemle ilgili detay biglieri getirir. İşlemin süreci ve süreç içerisindeki tekil numarası geçilerek gerekli bilgiler istenir.

Dönüş değeri işlemin içerdiği bilgileri ve işlemle ilgili alınabilecek aksiyonları belirler.

```json=
{
  "id": "6986585",
  "process": "EFT İşlem Onayı",
  "properties": [
    {
      "label": "Talep Tarihi",
      "value": "11 Kasım 2020"
    },
    {
      "label": "Müşteri No",
      "value": "999666999"
    },
    {
      "label": "Müşteri Adı",
      "value": "Uğur KARATAŞ"
    },
    {
      "label": "Tutar",
      "value": "12.500 TL"
    }
  ],
  "actions": [
    {
      "action": "Onay",
      "button-type": "default-positive",
      "is-description-required": false
    },
    {
      "action": "Ret",
      "button-type": "negative",
      "is-description-required": true
    },
    {
      "action": "Şartlı Onay",
      "button-type": "positive",
      "is-description-required": true
    }
  ]
}
```

**properties** dizin şeklinde kayıtla ilgili bildileri döner
* **label** alanı verinin ne olduğu bilgisini 
* **value** alanı verinin kendisinin içerir*

**actions** dizin şeklinde kayıtla ilgili aksiyonları döner. Bu bilgiler ile kullanıcı arabiriminde **button**'lar oluşturulur.

* **action** Button ile gerçekleşecek eylemi ve aynı zamanda button üzerine yazılacak metni içerir.
* **button-type** Button'un görününde kullanılacak stili belirler. Olası değerler: *positive,negative,default-positive,default-negative*
* **is-description-required** alanı ile button seçilirse açıklama girilme zorunluğu kontrol edilir. 


### **POST** /is-staff/approval

Bu servis ile kullanıcının aksiyonu alınır ve gerekli sistemlere aktarılır.

```json=
{
  "id": "6986585",
  "process": "EFT İşlem Onayı",
  "action": "Onay",
  "description": "Güle güle harca :)"
}
```