Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Current »


Сервіс перевірки автентичності особи на фото.


Сервіс дозволяє аналізувати фотографії клієнтів в кредитних заявках:

  • верифікація клієнта (підтвердження особи),

  • запобігання шахрайству,

  • виявлення фактів крадіжки особистості - злочин, при якому персональні дані людини використовуються для незаконного отримання матеріальної вигоди (окремі випадки: фальсифікація і підробка документів, в найпростішому випадку - заміна фото в паспорті).

В основі сервісу фотоверифікаціі УБКІ - Microsoft Face API


Схема роботи сервісу фотоверифікаціі

Звіт містить такі компоненти:

Вимоги до фотографії

 Детальніше

1. Максимальний розмір запиту із закодованою фотографією - 2 МБ.

2. Тип файлу - jpeg/jpg

3. XML запит - фото base64

4. Більш висока якість зображення особи означає кращу точність розпізнавання: фронтальний, прозорий і розмір особи - 200x200 пікселів (100 пікселів між очима) або більше.

5. Площа особи на фотографії повинна становити максимальну можливу частку від усього зображення;

6. Фотографія повинна бути чітка, не розмита;

7. Колір і яскравість фону повинні забезпечувати надійне визначення контуру голови.

8. Розташування та освітлення:

- Розташування голови - без поворотів, прямо, погляд спрямований строго на камеру. Нахили або повороти голови в будь-якому напрямку або зміни фокуса особи приведуть до спотворення результатів порівняння;

- На фоні не повинно бути тіней від голови, не повинно бути тіней на обличчі або будь-яких предметів;

- На зображеннях особи не рекомендується закритих очей; волосся, що закривають очі і обличчя;

- На зображеннях осіб не рекомендується світлових відблисків і тіней;

- Не рекомендуються фото з фоном: вулиця, машина, паркани, дерева та ін.

9. Окуляри і головні убори:

- На зображеннях не рекомендуються елементи одягу, що закривають (частково або повністю) особу, тобто капелюхів, хусток і т.д .; товстих оправ окулярів, які деформують риси обличчя;

- На зображеннях не рекомендується відображення спалахів або підсвічуваних відображень в склах лінз або окулярів.

10. Вираз і кадр:

- За зображенням обличчя не рекомендується наявність осіб інших людей;

- Погляд на камеру повинен бути з нейтральним виразом обличчя і закритим ротом.

Request JSON

  body:

{

"doc": {

"ubki": {

"req_envelope": {

"req_xml": {

"request": {

"i": {

"ident": {

"okpo": "РНОКПП (ІПН) (для фіз.осіб)"

},

"photocheck": {

"photo": "base64(Фото)",

"photoext": "Розширення до фото вхідної заявки (jpeg/jpg)"

},

"reqlng": "Мова критеріїв пошуку (Код із дов.23)"

},

"version": "1.0",

"reqtype": "Код шаблону (Код із дов.49): Звіт 'Фотоверифікація LIGHT' - 43",

"reqreason": "Мета подання запиту (Код із дов.24)"

},

"descr": "Об'єкт запиту"

},

"descr": "Конверт запиту"

},

"sessid": "Сесійний ключ (отримуємо із API авторизації)"

}

}

}

Response JSON

 body:

{

"ubkidata": {

"tech": {

"trace": {

"step": {

"name": "Найменування кроку",

"stm": "Дата штамп старту кроку",

"ftm": "Дата штамп фінішу кроку"

}

},

"error": {

"errtype": "Код помилки(Код із дов.0)",

"errtext": "Текст помилки(Значення із дов.0)"

},

"reqinfo": {

"reqid": "Вихідний ІД запиту, згенерований УБКІ"

},

"billing": {

"balance": {

"value": "Сума балансу",

"date": "Дата",

"time": "Час"

}

}

},

"comp": [

{

"pret": {

"pretension": {

"inn": "РНОКПП (ІПН) (для фіз.осіб)/ЄДРПОУ (для юр.осіб)",

"crdeal": "Ідентифікатор угоди (референс)",

"source": "Вид оскарження (Код із дов.48)",

"sourceref": "Вид оскарження (Значення із дов.48)",

"claim": "Предмет оскарження (Код із дов.69)",

"claimref": "Предмет оскарження (Значення із дов.69)",

"vdate": "Дата створення заявки"

},

"commentcki": {

"comment": "Коментар суб'єкта кредитної історії",

"vdate": "Дата створення коментаря"

},

"plost": {

"pser": "Серія паспорта, заявлено СКІ як загублений (крадіжка)",

"pnom": "Номер паспорта, заявлено СКІ як загублений (крадіжка)",

"crdate": "Дата створення заявки на втрату/крадіжку паспорта СКІ в УБКІ",

"ldate": "Зазначена в заявці дата втрати/крадіжки паспорта СКІ в УБКІ"

},

"changedeal": {

"crdeal": "Ідентифікатор угоди (референс)",

"changecode": "Код причини коригування/видалення даних (Код із дов.62)",

"changeref": "Текст причини коригування/видалення даних (Значення із дов.62)",

"vdate": "Дата коригування/видалення даних"

},

"freezedate": "Дата підключення опції FREEZE",

"nonewdealcomment": "Коментар",

"nonewdeal": "Ознака небажання оформлювати нові кредитні продукти, статус підключення опції FREEZE: 0 - не включена, 1 - включена",

"nonewdealref": "Значення ознаки небажання оформлювати нові кредитні продукти, статус підключення опції FREEZE - 0-ні (не підключена опція), 1-так (підключена опція)",

"inn": "РНОКПП (ІПН) (для фіз.осіб)/ЄДРПОУ (для юр.осіб)"

},

"id": "18",

"descr": "Назва компоненти"

},

{

"photocheck": {

"resultsearch": {

"state": "Статус фіз.особи (missed- зниклий безвісти, wanted - особа, які переховуються від органів влади (в розшуку))",

"category": "Класифікація статусу фіз.особи в текстовому вигляді",

"lnameua": "Прізвище українською",

"fnameua": "Ім'я українською",

"mnameua": "По батькові українською",

"lnameru": "Прізвище російською",

"fnameru": "Ім'я російською",

"mnameru": "По батькові російською",

"bdate": "Дата народження",

"lostdate": "Дата зникнення",

"lostplace": "Місце зникнення",

"restraint": "Запобіжний захід",

"contact": "Контакти для інформування",

"confidence": "Міра схожості осіб при порівнянні з фото з бази зниклих безвісти",

"foto": "base64 (Фото) фотографія особи з бази зниклих безвісти",

"fotoext": "Розширення до фото особи з бази зниклих безвісти"

},

"okpo": "РНОКПП(ІПН) (для фіз.осіб)",

"bdfd": "Ознака перевірки по БД фото скомпрометованих осіб (Код із дов.47)",

"commentfd": "Коментар за результатами порівняння",

"confidencefd": "Міра схожості осіб при порівнянні з фото скомпрометованої особи",

"verifclient": "Ознака збігу фото (Код із дов.47)",

"commentvc": "Коментар за результатами порівняння з еталонною фотографією",

"confidencevc": "Міра схожості осіб на фотографіях клієнтів"

},

"id": "65",

"descr": "Назва компоненти"

},

{

"person": {

"bdate": "Дата народження",

"lngref": "Мова надання блоку (Значення із дов.23)",

"lng": "Мова надання блоку (Код із дов.23)",

"mname": "По батькові",

"fname": "Ім'я",

"lname": "Прізвище",

"inn ": "РНОКПП (ІПН) СКІ",

},

"id": "72",

"descr": "Пошук по ПІБ+ДР при результаті більше 1 особи (Наявність компоненти визначається знаходженням більше 1 людини у разі пошуку за ПІБ+ДР)"

}

]

}

}

Request XML

  body:

<?xml version="1.0" encoding="utf-8"?>

<doc>

<ubki sessid="Сесійний ключ (отримуємо із API авторизації)">

<req_envelope descr="Конверт запиту">

<req_xml descr="Об'єкт запиту">

<!-- Параметри запиту -->

<request version="1.0" reqtype="Код шаблону (Код із дов.49): Звіт 'Фотоверифікація LIGHT' - 43" reqreason="Мета подання запиту (Код із дов.24)">

<!-- Параметри, що описують критерії пошуку-->

<i reqlng="Мова критеріїв пошуку (Код із дов.23)">

<!-- Параметри ідентифікації суб'єкта-->

<ident okpo="РНОКПП (ІПН) (для фіз.осіб)" />

<!-- Параметри для фотоверифікації-->

<photocheck photo="base64(Фото)"

photoext="Розширення до фото вхідної заявки (jpeg/jpg)" />

</i>

</request>

</req_xml>

</req_envelope>

</ubki>

</doc>

Response XML

 body:

<?xml version="1.0" encoding="utf-8"?>

<ubkidata>

<!-- Блок системної інформації -->

<tech>

<trace>

<step name="Найменування кроку" stm="Дата штамп старту кроку" ftm="Дата штамп фінішу кроку">

<!-- Блок trace містить метрики таймінгу кроків формування компонентів -->

</step>

</trace>

<error errtype="Код помилки (Код із дов.0)" errtext="Текст помилки (Значення із дов.0)">

</error>

<reqinfo reqid="Вихідний ІД запиту, згенерований УБКІ">

</reqinfo>

<!-- Блок інформації щодо поточного стану рахунку припейд-->

<billing>

<balance value="Сума балансу" date="Дата" time="Час" />

</billing>

</tech>

<!-- Попередження -->

<comp id="18" descr="Назва компоненти">

<pret nonewdeal="Ознака небажання оформлювати нові кредитні продукти, статус підключення опції FREEZE: 0 - не включена, 1 - включена"

nonewdealref="Значення ознаки небажання оформлювати нові кредитні продукти, статус підключення опції FREEZE - 0-ні (не підключена опція), 1-так (підключена опція)"

nonewdealcomment="Коментар"

freezedate="Дата підключення опції FREEZE"

inn="РНОКПП (ІПН) (для фіз.осіб)/ЄДРПОУ (для юр.осіб)">

<pretension inn="РНОКПП (ІПН) (для фіз.осіб)/ЄДРПОУ (для юр.осіб)"

crdeal="Ідентифікатор угоди (референс)"

source="Вид оскарження (Код із дов.48)"

sourceref="Вид оскарження (Значення із дов.48)"

claim="Предмет оскарження (Код із дов.69)"

claimref="Предмет оскарження (Значення із дов.69)"

vdate="Дата створення заявки" />

<commentcki comment="Коментар суб'єкта кредитної історії"

vdate="Дата створення коментаря" />

<plost pser="Серія паспорта, заявлено СКІ як загублений (крадіжка)"

pnom="Номер паспорта, заявлено СКІ як загублений (крадіжка)"

crdate="Дата створення заявки на втрату/крадіжку паспорта СКІ в УБКІ"

ldate="Зазначена в заявці дата втрати/крадіжки паспорта СКІ в УБКІ" />

<changedeal crdeal="Ідентифікатор угоди (референс)"

changecode="Код причини коригування/видалення даних (Код із дов.62)"

changeref="Текст причини коригування/видалення даних (Значення із дов.62)"

vdate="Дата коригування/видалення даних" />

</pret>

</comp>

<!-- Блок "фотоверифікації LIGHT" -->

<comp id="65" descr="Назва компоненти">

<photocheck okpo="РНОКПП(ІПН) (для фіз.осіб)"

bdfd="Ознака перевірки по БД фото скомпрометованих осіб (Код із дов.47)"

commentfd="Коментар за результатами порівняння"

confidencefd="Міра схожості осіб при порівнянні з фото скомпрометованої особи"

verifclient="Ознака збігу фото (Код із дов.47)"

commentvc="Коментар за результатами порівняння з еталонною фотографією"

confidencevc="Міра схожості осіб на фотографіях клієнтів">

<!-- Блок "Пошук в базі зниклих безвісти і осіб, та тих, які переховуються від органів влади" -->

<resultsearch state="Статус фіз.особи (missed- зниклий безвісти, wanted - особа, які переховуються від органів влади (в розшуку))"

category="Класифікація статусу фіз.особи в текстовому вигляді"

lnameua="Прізвище українською"

fnameua="Ім'я українською"

mnameua="По батькові українською"

lnameru="Прізвище російською"

fnameru="Ім'я російською"

mnameru="По батькові російською"

bdate="Дата народження"

lostdate="Дата зникнення"

lostplace="Місце зникнення"

restraint="Запобіжний захід"

contact="Контакти для інформування"

confidence="Міра схожості осіб при порівнянні з фото з бази зниклих безвісти"

foto="base64 (Фото) фотографія особи з бази зниклих безвісти"

fotoext="Розширення до фото особи з бази зниклих безвісти" />

</photocheck>

</comp>

<!-- Пошук по ПІБ+ДР при результаті більше 1 особи (Наявність компоненти визначається знаходженням більше 1 людини у разі пошуку за ПІБ+ДР)-->

<comp id="72" descr="Пошук по ПІБ+ДР при результаті більше 1 особи">

<person bdate="Дата народження"

lngref="Мова надання блоку (Значення із дов.23)"

lng="Мова надання блоку (Код із дов.23)"

mname="По батькові"

fname="Ім'я"

lname="Прізвище"

inn="РНОКПП (ІПН) СКІ" />

</comp>

</ubkidata>

Приклад

Request JSON

{
	"doc": {
		"ubki": {
			"req_envelope": {
				"req_xml": {
					"request": {
						"i": {
							"ident": {
								"okpo": "3278508288"
							},
							"photocheck": {
								"photo": "/9j/4AAQSkZJRgABAQEASABI",
								"photoext": "jpg"
							},
							"reqlng": "1"
						},
						"version": "1.0",
						"reqtype": "43",
						"reqreason": "2"
					},
					"descr": "Об'єкт запиту"
				},
				"descr": "Конверт запиту"
			},
			"sessid": "7BD7E136E3BF470EAA2CFE2E000000ED"
		}
	}
}

Response JSON

{
	"ubkidata": {
		"tech": {
			"trace": {
				"step": {
					"name": "build report",
					"stm": "2022-01-09 21:52:29.631",
					"ftm": "2022-01-09 21:52:29.699"
				}
			},
			"reqinfo": {
				"reqid": "req2#000002008590"
			}
		},
		"comp": [
			{
				"pret": {
					"inn": "3278508288",
					"nonewdeal": "0",
					"nonewdealref": "Ні",
					"nonewdealcomment": "",
					"freezedate":""
				},
				"id": "18",
				"descr": "Попередження"
			},
			{
				"photocheck": {
					"okpo": "3278508288",
					"bdfd": "1",
					"commentfd": "Підозра по фото підтверджується",
					"confidencefd": "0.73668",
					"verifclient": "2",
					"commentvc": "Підозра по фото не підтверджується",
					"confidencevc": "0.90923"
				},
				"id": "65",
				"descr": "Фотоверифікація LIGHT"
			}
		]
	}
}

Request XML

<?xml version="1.0" encoding="UTF-8"?>
<doc>
  <ubki sessid="7BD7E136E3BF470EAA2CFE2E000000ED">
    <req_envelope descr="Конверт запиту">
      <req_xml descr="Об'єкт запиту">
        <request version="1.0" reqtype="43" reqreason="2">
          <i reqlng="1">
            <ident okpo="3278508288" />
            <photocheck photo="/9j/4AAQSkZJRgABAQEASABI" photoext="jpg" />
          </i>
        </request>
      </req_xml>
    </req_envelope>
  </ubki>
</doc>

Response XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ubkidata>
  <tech>
    <trace>
      <step name="build report" stm="2022-01-09 21:52:29.631" ftm="2022-01-09 21:52:29.699" />
    </trace>
    <reqinfo reqid="req2#000002008590" />
  </tech>
  <comp id="18" descr="Попередження">
    <pret inn="3278508288" nonewdeal="0" nonewdealref="Ні" nonewdealcomment="" freezedate="" />
  </comp>
  <comp id="65" descr="Фотоверифікація LIGHT">
    <photocheck okpo="3278508288" bdfd="1" commentfd="Підозра по фото підтверджується" confidencefd="0.73668" verifclient="2" commentvc="Підозра по фото не підтверджується" confidencevc="0.90923" />
  </comp>
</ubkidata>

Test URL

https://test.ubki.ua/b2_api_xml/ubki/xml

Test data

photocheck: okpo = "один із прикладів нижче", photo = "будь-яке, що проходить правила валідації", photoext = "jpg / jpeg"

  • 3112579786

  • 3333312110

  • 2111118724

  • 3233312116

  • 3332643095

  • 2726020593

  • 2972566397

  • 3278508288

<comp id="72" descr="Пошук по ПІБ+ДР при результаті більше 1 особи">

  • bdate="1985-03-20" mname="НИКИФОРОВНА" fname="АННА" lname="ЯРЦЕВА"

  • No labels