Müşteri Belgeleri
Müşterinin gönderdiği belgeleri okuyan, onaylayan ya da reddeden ve hazır red nedenlerini yöneten altı uç.
Genel Bakış
Müşteri, belge şemasının istediği alanları doldurup gönderir; bu uçlar o gönderimleri okur ve karara bağlar. Şemanın kendisi ayrı bir iştir ve Belge Şeması makalesinde anlatılır.
Her kayıt tek bir alana karşılık gelir ve kendi durumunu taşır. Bir müşterinin bazı belgeleri onaylı, bazıları beklemede olabilir.
Referans
Belgeleri Getirme
Müşterinin gönderdiği belge kayıtlarını döndürür. Kayıtlar alan kimliğine bağlıdır, filtrelerin tamamı birleşik gelir.
[{ id, name }].input, textarea, selectbox, radio, checkbox, file.awaiting, verified ya da unverified.curl 'https://panel.ornek.com/api/v1/admin/clients/42/documents' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/documents', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
const waiting = body.data.records.filter((r) => r.status === 'awaiting');$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/documents');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->GetClientDocuments(['id' => 42]);
$waiting = [];
foreach ($response['data']['records'] as $record) {
if ($record['status'] === 'awaiting') {
$waiting[] = $record['id'];
}
}Belgeleri İnceleme
Kayıtların doğrulama durumunu toplu günceller. Durumu değişen her kayıt için müşteriye bildirim gönderilir.
{"<recordId>": {"status": …, "message": …}}.verified, unverified ya da awaiting. Başka bir değer taşıyan kayıt sessizce atlanır.curl -X PATCH 'https://panel.ornek.com/api/v1/admin/clients/42/documents' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"statuses":{"51":{"status":"verified"},"52":{"status":"unverified","message":"Belge okunmuyor, lutfen daha net bir kopya gonderin"}}}'const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/documents', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
statuses: {
51: { status: 'verified' },
52: { status: 'unverified', message: 'Belge okunmuyor, lutfen daha net bir kopya gonderin' },
},
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/documents');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'statuses' => [
51 => ['status' => 'verified'],
52 => ['status' => 'unverified', 'message' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin'],
],
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->ReviewClientDocuments([
'id' => 42,
'statuses' => [
51 => ['status' => 'verified'],
52 => ['status' => 'unverified', 'message' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin'],
],
]);
$rejected = $response['data']['rejected'] ?? 0;{
"data": {
"reviewed": true,
"verified": 1,
"rejected": 1
}
}Belge Kaydını Silme
Müşterinin belge gönderimini siler: o müşterinin bütün doğrulama kayıtları, yüklediği dosyalarla birlikte gider. record_id gönderimi belirtir ve yoldaki müşteriye ait olmalıdır.
record_id değeri.curl -X DELETE 'https://panel.ornek.com/api/v1/admin/clients/42/documents/51' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/documents/51', {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/documents/51');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->DeleteClientDocument([
'id' => 42,
'record_id' => 51,
]);Red Nedenlerini Listeleme
Hazır red nedenlerini döndürür. Bunlar inceleme sırasında kullanılan sabit metinlerdir.
curl 'https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->GetDocumentRejectionReasons();Red Nedeni Ekleme
Listeye yeni bir hazır neden ekler.
value boş.curl -X POST 'https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"value":"Belge okunmuyor, lutfen daha net bir kopya gonderin"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ value: 'Belge okunmuyor, lutfen daha net bir kopya gonderin' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['value' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->AddDocumentRejectionReason(['value' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin']);Red Nedeni Silme
Bir nedeni listeden çıkarır. Kimlik değil, metnin kendisi gönderilir.
value boş.curl -X DELETE 'https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"value":"Belge okunmuyor, lutfen daha net bir kopya gonderin"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ value: 'Belge okunmuyor, lutfen daha net bir kopya gonderin' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/document-rejection-reasons');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['value' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->DeleteDocumentRejectionReason(['value' => 'Belge okunmuyor, lutfen daha net bir kopya gonderin']);Tuzaklar
Getirme ucu salt okuma değildir: çağırdığınızda kayıtlar okundu sayılır. Panelde bekleyen belge rozetini izleyen bir entegrasyon, listeyi her yoklamada o rozeti düşürür.
Durumu değişen her kayıt için onay ya da red bildirimi gider. Aynı durumu ikinci kez göndermek değişiklik saymaz, ama bir kaydı yanlışlıkla reddedip düzeltmek iki bildirim üretir.
Silme isteği kimlik değil value alır ve metin birebir eşleşmelidir. Bir boşluk farkı bile kaydı bulamaz.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.