# e-KYC Entegrasyon
###### tags: `draft`
Müşterilerle ve potansiyel müşterilerle yapılacak müşteri tanıma süreç çözümü ile entegrasyon servilerini tanımlarıdır.
## Talep İletme
e-KYC Akış başlatılabilir süreçler tarafından temel akış bilgileri ile kişi bilgilerinin birlikte verildiği servistir.
Bu servis ile e-KYC yönetim uygulaması talebi almış olur ve müşterinin istediği zaman müşteri ile etkileşir.
:::info
Talep içerisinden müşteri doğrulama için gerekli tüm veriler sağlanır.
:::
### POST /e-kyc/register
:::warning
Bu method firma tarafından sağlanır.
:::
Body:
```json
{
"id": "625e9167-137b-4991-8fb7-8091928b6a93",
"source": "Web Kredi Başvuru",
"medium": "Kurumsal Web Sitesi",
"campaign": "Default",
"description": "Ekşisözlük reklamından yönlendirilmiş başvuru.",
"started-at": "20201211T140000.911Z",
"available-for": "24",
"extended-data":[ "key": "value", "Vip Müşteri mi": "Evet"],
"person": {
"citizenship-number": "385520690XX",
"name": "Lucky",
"surname": "Blackstone",
"father-name": "Bill",
"mother-name": "Jill",
"birth-place": 66,
"birth-date": "19780101",
"gender": "Male|Female",
"registration-place-family-row": 117,
"registration-place-personal-row": 65,
"identification-card-serial": 56858,
"Identification-card-record": 669696,
"card-type": "id-certificate (Nufüs Cüzdanı) | id-card (TC Kimlik Kartı)",
"valid-till": "20250101",
"issue-date": "20210226",
"device-id": "12514511254521"
}
}
```
Her talep temel talep bilgilerini içerir.
- **id** guid formatında sistem genelinde tekil numaradır. Tüm talepler bir anahtar ile gönderilir ve durumu sorgulanır.
- **source** metin formatında talep sahibi süreç yada işi belirtir.
- **medium** metin formatında talep ile ilgili *varsa* kırılım bilgisini belirtir.
- **campaign** metin formatında talep ile ilgili *varsa* kampanya bilgisini belirtir.
- **description** metin formatında talep ile ilgili *varsa* açıklama uyarı, dikkat edilecek husurlar gibi ek bilgileri içerir.
- **started-at** talepte bulunan sürecin ISO8601 standardında başlangıç zamanını verir.
- **available-for** talebin tamamlanmak için geçerli olabileceği süreyi saat biriminden verir. Zamanında tamamlanmayan süreçler otomatik olarak sonlandırılarak bildirimleri yapılır.
- **extended-data** Müşteri veya süreç ile ilgili görüşen perseonelin görmesini istedimiz bilgileri göndermek için kullanılır.
- **person** doğrulaması yapılacak müşterinin Mernis ve varsa cihaz bilgilerini içerir.
### GET /e-kyc/status/{id}
:::warning
Bu method firma tarafından sağlanır.
:::
Bir talebin akıbeti hakkında bilgi almak için kullanılır.
Response:
```json
{
"status": "queue | progress | control | success | failed",
"images": [
{
"type": "identity-front | identity-back | face | face-with-identity | document | document-with-id",
"id": "0e27da26-9548-416e-a211-8dd2ad12a76b"
},
{
"type": "face",
"id": "0e27da26-9548-416e-a211-8dd2ad12a76b"
}
],
"history": [
{
"status-from": "queue",
"status-to": "progress",
"reason": "Started by customer",
"at": "20201211T140000",
"by": "ebt\\u04655"
},
{
"status-from": "progress",
"status-to": "queue",
"reason": "Interupted by customer",
"at": "20201211T140000",
"by": "ebt\\u04655"
},
{
"status-from": "queue",
"status-to": "progress",
"reason": "Started by customer",
"at": "20201211T140000",
"by": "ebt\\u04657"
},
{
"status-from": "progress",
"status-to": "control",
"reason": "Completed",
"at": "20201211T140000",
"by": "ebt\\u04655"
},
{
"status-from": "control",
"status-to": "success",
"reason": "Approved",
"at": "20201211T140000",
"by": "ebt\\u04655"
}
]
}
```
**status** akışın genel durumu hakkında bilgi verir. Olası değerler;
- queue : talebin işlenmek için havuzda beklediğini belirtir.
- progress : doğrulama sürecinde olduğunu belirtir.
- control : doğrulan bir talebin kontrol beklediğini belirtir.
- success : başarı ile doğrulandığını belirtir.
- failed : doğrulamanın başarısız şekilde sonlandığını belirtir.
**images** dizininde görüşmede elde edilen görüntü listesine ulaşılır. Görüntünün tipi ve guid olarak anahtarı bulunur.
**history** dizininde talebin her bir statü değişimi kayıt altına alınır. Her bir değişimde
- *status-from* hangi aşamadan
- *status-to* hangi aşamaya geçtiği,
- *reason* ile geçerken sistem veya kullanıcı tarafından verilen detay bilgiyi
- *at* ile hangi zamanda
- *by* ile kim tarafından yapıldığı bilgileri yer alır.
### GET /e-kyc/document/{id}
:::warning
Bu method firma tarafından sağlanır.
:::
Görüntünün anahtarı ile görüntü istenir.
Görüntü **base64/jpg** formatında döner.
:+1: DYS beslenmesi için bu servis çağrılıp müşteri ve süreçle ilişkili olarak kayıtları tamamlanır.
### POST /e-kyc/result
:::warning
Bu method banka tarafından sağlanır.
:::
Akışı sonlanan her bir talep için sistem bu methodu çağırır.
Body;
```json
{
"id":"9548c494-88d5-42c9-8635-afb9e61bbd4e",
"status": "success | failed",
"identity-type": "id-certificate (Nufüs Cuzdanı) | id-card (TC Kimlik Kartı) | passport | driver lisance"
"reason": "failed-timeout | failed-fraud-attempt | failed-low-quality | failed-technical | success-with-nfc | success-without-nfc"
"reason-detail": "Nokia 5110; No front camera detected"
}
```
### GET /e-kyc/person/{citizenship-number}
:::warning
Bu method firma tarafından sağlanır.
:::
Bir kişinin yaptığı veya yapacağı tüm doğrulama taleplerini statüleri ile getirir.
Müşteri mobil uygulamasında bekleyen e-kyc süreçleri için bu servis ile çağrım yapılır.
:+1: Uygulamaya girişte aktif akışı var mı konrol edilip, var ise direkt yönlendirme yapılabilir.
Response;
```json
[
{
"id": "725e9167-137b-4991-8fb7-8091928b6a93",
"source": "Web Kredi Başvuru",
"medium": "Kurumsal Web Sitesi",
"campaign": "N11",
"status": "success"
},
{
"id": "625e9167-137b-4991-8fb7-8091928b6a93",
"source": "Web Kredi Başvuru",
"medium": "Kurumsal Web Sitesi",
"campaign": "Default",
"status": "queue"
},
{
"id": "325e9167-137b-4991-8fb7-8091928b6a93",
"source": ":Şifre Yenileme",
"medium": "Mobil Uygulama",
"campaign": "",
"status": "failed"
}
]
```