# Дополнительные API-запросы
# GET Получение результатов проверки на дубликаты (похожие пользователи)
С помощью этого запроса можно получить список анкет с похожими на конкретного пользователя данными. Все поля ответа могут быть пустыми (null).
GET /resources/checks/latest?type=SIMILAR_SEARCH&applicantId={applicantId}
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
type | String | Да | Значение SIMILAR_SEARCH. |
Ответ
Ответ представляет собой список результатов проверки на дубликаты, содержащих информацию о найденных похожих пользователях.
| Название | Тип | Описание |
|---|---|---|
answer | String | Результат проверки на дубликаты (GREEN/RED/YELLOW). |
createdAt | Date | Дата и время последней проверки (GMT). |
similarSearchInfo | Object | Информация о выполненном поиске похожих пользователей. |
Поля элемента similarSearchInfo
| Название | Тип | Описание |
|---|---|---|
answer | String | Результат проверки на дубликаты (GREEN/RED/YELLOW). |
duplicateApplicantHits | List of Objects | Список данных о конкретном совпадении. |
Поля элемента duplicateApplicantHits
| Название | Тип | Описание |
|---|---|---|
applicantId | String | Идентификатор пользователя. |
matchedFields | List of Strings | Список совпадающих JSON-полей с информацией о пользователе. |
types | List of Strings | Тип совпадения (Данные - text, фотография - image). |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/checks/latest?type=SIMILAR_SEARCH&applicantId=5eea3f5204f940217bcbc03d'
{
"checks": [
{
"answer": "RED",
"createdAt": "2023-01-17 13:17:38",
"similarSearchInfo": {
"answer": "RED",
"duplicateApplicantHits": [
{
"applicantId": "61badd2937955c000144613d",
"matchedFields": [
"info.lastName",
"info.firstName",
"info.idDocs.ID_CARD",
"info.dob"
],
"types": [
"text",
"image"
]
}
]
}
}
]
}
# GET Получение результата проверки ИНН
При помощи этого запроса вы можете получить данные, которые были извлечены из внешних источников с помощью ИНН пользователя.
GET /resources/checks/latest?type=TIN&applicantId={applicantId}
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
type | String | Да | Значение TIN. |
Ответ
Ответ представляет собой одиночный список проверок checks.
| Название | Тип | Описание |
|---|---|---|
answer | String | Результат проверки ИНН пользователя (GREEN/RED/YELLOW). |
createdAt | Date | Время и дата последнего результата проверки ИНН (GMT). |
extractedDoc | Object | Внешняя проверка исходных данных. |
Поля элемента extractedDoc
| Название | Тип | Описание |
|---|---|---|
addresses | List of Objects | Список адресов, извлеченных из внешних источников проверки ИНН. |
Поля элемента addresses
| Название | Тип | Описание |
|---|---|---|
country | String | Трехбуквенный код страны Альфа-3 (например RUS). |
postCode | String | Почтовый индекс. |
town | String | Название города или населенного пункта. |
street | String | Название улицы или полный адрес в зависимости от формата в документе. |
buildingNumber | String | Номер дома. |
subStreet | String | Дополнительная информация об улице. |
state | String | Название области (округа/республики/штата и т.д.). |
startDate | Date | Дата начала проживания по адресу. |
endDate | Date | Дата изменения адреса проживания. |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/checks/latest?type=TIN&applicantId=5eea3f5204f940217bcbc03d'
{
"checks": [
{
"answer": "GREEN",
"createdAt": "2023-04-17 12:47:21",
"extractedDoc": [{
"street": "1157 BOLENS CREEC RD",
"state": "NC",
"buildingNumber": "1157",
"town": "BURNSVILLE",
"postCode": "28714-7602",
"startDate": "1996-03-01 00:00:00",
"endDate": "2016-10-07 00:00:00",
"country": "USA",
}]
}
]
}
# POST Генерация внешней ссылки WebSDK
POST /resources/sdkIntegrations/levels/{levelName}/websdkLink?externalUserId={externalUserId}
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
levelName | String | Да | Уровень проверки, который вы можете задать в разделе «Уровни проверок» Дешборда. |
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
externalUserId | String | Нет | Внешний идентификатор пользователя – уникальный идентификатор пользователя на вашей стороне. Требуется, если нужно создать ссылку для конкретной анкеты пользователя. |
externalActionId | String | Нет | Внешний идентификатор действия пользователя. Требуется только для создания ссылки на действие пользователя. |
locale | String | Нет | Язык WebSDK в формате ISO 639-1. |
ttlInSecs | Integer | Нет | Продолжительность жизни соединения в секундах (по умолчанию — 1800). |
Ответ
| Название | Тип | Описание |
|---|---|---|
url | String | Ссылка на прохождение проверки. |
Пример
curl -X POST \
'https://api.cyberity.ru/resources/sdkIntegrations/levels/basic-kyc-level/websdkLink?externalUserId=304775ty'
{
"url": "https://api.cyberity.ru/idensic/l/#/lPDnIKwzmxPfDohk"
}
# POST Отправка письма со статусом проверки пользователю
Приведенный ниже способ отправит письмо о текущем статусе проверки на указанный внутри анкеты пользователя адрес электронной почты.
POST /resources/applicants/{applicantId}/verificationStatusEmail
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
Пример
curl -X POST \
'https://api.cyberity.ru/resources/applicants/60b8ce73460647000145384e/verificationStatusEmail'
{
"ok": 1
}
# GET Получение журнала событий в анкете пользователя
При помощи этого запроса вы можете проследить за активностью конкретного пользователя.
GET /resources/applicantTimeline/{applicantId}
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
Ответ
| Название | Тип | Описание |
|---|---|---|
applicantId | String | Идентификатор пользователя. |
items | Array of objects | Данные событий активности. |
Поля элемента items
| Название | Тип | Описание |
|---|---|---|
ts | String | Временная метка события. |
activity | String | Тип события, повлиявший на статус анкеты. |
ipInfo | Object | IP-адрес и местоположение. |
trackingData | Object | IP-адрес и источник активности (WebSDK, MobileSDK, Дешборд). |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/applicantTimeline/60b8ce73460647000145384e'
{
"applicantId" : "60b8ce73460647000145384e",
"items" : [ {
"id" : "60cb2bb54152840001b09b8a",
"ts" : "2021-06-17 11:02:13",
"activity" : "moderator:completed:review",
"subjectName" : "Backoffice",
"country" : "SWE",
"reviewAnswer" : "GREEN",
"elapsedSincePendingMs" : 148469
}, {
"id" : "60cb2b207bbfc20001ff8336",
"ts" : "2021-06-17 10:59:44",
"trackingData" : {
"ip" : "217.211.151.118",
"xClientId" : "WebSDK"
},
"ipInfo" : {
"ip" : "217.211.151.118",
"countryCode2" : "SE",
"countryCode3" : "SWE",
"city" : "Bromma",
"zipCode" : "168 54",
"lat" : 59.35,
"lon" : 17.9167,
"asn" : 3301,
"asnOrg" : "Telia Company AB",
"riskyAsn" : false
},
"userAgentInfo" : {
"uaPlatform" : "Android",
"uaBrowser" : "Chrome",
"uaDeviceType" : "Mobile Phone",
"uaBrowserVersion" : "0.0"
},
"activity" : "applicant:changed:status",
"subjectName" : "UserId",
"country" : "SWE",
"status" : "pending"
}, {
"id" : "60cb2b1d4152840001b0883f",
"ts" : "2021-06-17 10:59:41",
"trackingData" : {
"ip" : "217.211.151.118",
"xClientId" : "WebSDK"
},
"ipInfo" : {
"ip" : "217.211.151.118",
"countryCode2" : "SE",
"countryCode3" : "SWE",
"city" : "Bromma",
"zipCode" : "168 54",
"lat" : 59.35,
"lon" : 17.9167,
"asn" : 3301,
"asnOrg" : "Telia Company AB",
"riskyAsn" : false
},
"userAgentInfo" : {
"uaPlatform" : "Android",
"uaBrowser" : "Chrome",
"uaDeviceType" : "Mobile Phone",
"uaBrowserVersion" : "0.0"
},
"activity" : "user:added:idDoc",
"subjectName" : "UserId",
"country" : "SWE",
"imageId" : "665222684",
"idDocType" : "SELFIE"
}, {
"id" : "60cb2af46623af0001798a4c",
"ts" : "2021-06-17 10:59:00",
"trackingData" : {
"ip" : "217.211.151.118",
"xClientId" : "WebSDK"
},
"ipInfo" : {
"ip" : "217.211.151.118",
"countryCode2" : "SE",
"countryCode3" : "SWE",
"city" : "Bromma",
"zipCode" : "168 54",
"lat" : 59.35,
"lon" : 17.9167,
"asn" : 3301,
"asnOrg" : "Telia Company AB",
"riskyAsn" : false
},
"userAgentInfo" : {
"uaPlatform" : "Android",
"uaBrowser" : "Chrome",
"uaDeviceType" : "Mobile Phone",
"uaBrowserVersion" : "0.0"
},
"activity" : "user:added:idDoc",
"subjectName" : "UserId",
"country" : "SWE",
"imageId" : "750640317",
"idDocType" : "PASSPORT"
}, {
"id" : "60cb2ada44894a000169bb34",
"ts" : "2021-06-17 10:58:34",
"trackingData" : {
"ip" : "104.248.138.23",
"xClientId" : "API"
},
"ipInfo" : {
"ip" : "104.248.138.23",
"countryCode2" : "DE",
"countryCode3" : "DEU",
"city" : "Frankfurt am Main",
"zipCode" : "60313",
"lat" : 50.1188,
"lon" : 8.6843,
"asn" : 14061,
"asnOrg" : "DIGITALOCEAN-ASN",
"riskyAsn" : true
},
"userAgentInfo" : {
"uaPlatform" : "Unknown",
"uaBrowser" : "Guzzle Http Client",
"uaDeviceType" : "Unknown",
"uaBrowserVersion" : "0.0"
},
"activity" : "user:created:applicant",
"subjectName" : "APP-Token Api",
"country" : "SWE"
} ]
}
# GET Получение отчета о проверке пользователя в формате PDF
Этот запрос позволяет сгенерировать и получить отчет о проверке пользователей в формате PDF. Убедитесь, что получили ответ на первый запрос, прежде чем делать новый.
GET /resources/applicants/{applicantId}/summary/report?report={reportType}&lang={en}
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
reportType | Integer | Да | Тип отчета, который зависит от типа проверяемого пользователя (для физических лиц - applicantReport, для компаний - companyReport). |
lang | String | Да | Язык отчета в формате ISO 639-1. |
Ответ
Ответом является двоичный файл в формате PDF, содержащий сгенерированный отчет.
Пример
curl -X GET \
'https://api.cyberity.ru/resources/applicants/60f6f9ab7bbfc20001eca91d/summary/report?report=applicantReport&lang=en'
# GET Получение списка доступных уровней
Чтобы получить полный и структурированный список уровней проверки через API, вам следует использовать следующий эндпоинт.
GET /resources/applicants/-/levels
Ответ
JSON-представление списка уровней проверки с его настройками.
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
items | Array of objects | Да | Каждый объект соответствует определенному уровню проверки. |
totalItems | Integer | Да | Общее количество всех уровней проверки. |
Поля элемента items
В таблице перечислены поля внутри каждого объекта items, которые описывают параметры конфигурации уровней проверки. Наличие некоторых полей зависит от типа и настроек конкретного уровня.
| Поле | Тип | Описание |
|---|---|---|
id | String | Уникальный идентификатор уровня. |
name | String | Название уровня, заданное при создании (нельзя изменить позже). |
desc | String | Описание уровня (если добавлено при создании). |
requiredIdDocs | Object | Набор необходимых для проверки пользователя документов и данных (например, шаги IDENTITY, SELFIE и соответствующие им документы: PASSPORT, ID_CARD и т.д.). |
websdkFlowId | String | Идентификатор кастомизации WebSDK (если добавлена к уровню). |
msdkFlowId | String | Идентификатор кастомизации MobileSDK (если добавлена к уровню). |
createdAt | Date | Дата и время создания уровня (GMT). |
createdBy | String | Аккаунт, который создал уровень. Значение Service означает, что уровень создан поддержкой IDnGO. |
modifiedAt | Date | Дата и время последнего изменения уровня (GMT). |
customPrivacyNoteText | String | Текст согласия на обработку данных пользователя, отображаемый в WebSDK (если указан). |
watchListCheckSettings | Object | Настройки уровня, связанные с AML-проверкой. |
useCustomWatchListCheckSettings | Boolean | Используются особенные настройки AML-проверки. |
useCustomIdDocSettings | Boolean | Используются особенные настройки для поддерживаемых документов. |
applicantInsightSettings | Array of booleans | Включает поля: advancedEmailCheckEnabled, advancedPhoneCheckEnabled, advancedIpCheckEnabled, advancedIdentityEnrichmentEnabled. Поля сообщают, включены ли соответствующие проверки. |
type | Enum | Тип уровня, заданный при его создании: standalone — стандартная проверка; actions — дополнительные действия; module — только проверка Liveness и Face match. |
actionType | Enum | Доступно, если тип уровня — actions. Возможные значения: paymentMethod, faceEnrollment. |
applicantType | Enum | Тип пользователя: individual (физ. лицо), company (юр. лицо). |
Поля элемента requiredIdDocs
Объект requiredIdDocs описывает шаги, необходимые для прохождения проверки, а также нужные документы и данные.
| Поле | Тип | Описание |
|---|---|---|
docSets | Array of objects | Набор типов документов и их параметры. |
Поля массива docSets
| Поле | Тип | Описание |
|---|---|---|
idDocSetType | String | Идентификатор типа документа, например: IDENTITY, SELFIE, PROOF_OF_RESIDENCE и т.д. |
fields | Array of objects | Описывает поля, которые должны быть заполнены. Каждый объект содержит: name (название поля), required (обязательность поля). |
types | Array of strings | Типы документов, которые необходимы для конкретного idDocSetType. |
videoRequired | String | Способ прохождения шага загрузки документа:
|
captureMode | String | Режим съемки при использовании способа
|
uploaderMode | String | Режим загрузки фото:
|
paymentMethods | Array of objects | Настройки проверки способа оплаты (если они есть в уровне). |
questionnaireDefId | String | Идентификатор опросника (если он есть в уровне). |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/applicants/-/levels'
{
"list" : {
"items" : [ {
"id" : "608febf45814660009e22a14",
"name" : "basic-kyc-level",
"requiredIdDocs" : {
"docSets" : [ {
"idDocSetType" : "IDENTITY",
"types" : [ "ID_CARD", "DRIVERS", "PASSPORT", "RESIDENCE_PERMIT" ],
"subTypes" : [ "FRONT_SIDE", "BACK_SIDE" ]
}, {
"idDocSetType" : "SELFIE",
"types" : [ "SELFIE" ],
"videoRequired" : "passiveLiveness"
} ]
},
"websdkFlowId" : "608febf45814660009e22a16",
"msdkFlowId" : "608febf45814660009e22a18",
"createdAt" : "2021-05-03 12:26:28",
"createdBy" : "Service",
"modifiedAt" : "2021-09-08 09:18:53"
} ],
"totalItems" : 1
}
}
# PATCH Изменение данных пользователя
Если вы хотите изменить данные пользователя, следует использовать метод PATCH вместо того, чтобы создавать нового пользователя. Этот эндпоинт исправляет поля в info пользователя.
PATCH /resources/applicants/{applicantId}/info
Параметры запроса
Тело должно содержать только те поля, которые вы собираетесь изменить. Отсутствующие поля будут проигнорированы. Если вы хотите сбросить некоторые поля, укажите их в параметре запроса unsetFields.
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
unsetFields | String | Нет | Список полей для сброса, разделенный запятыми. |
Тело запроса
Поля элемента info, которые должны быть изменены.
Ответ
Исправление данных пользователя info может создать проблему при неправильном использовании, пожалуйста, проверьте, что эндпоинт выдает ожидаемые результаты в Тестовом окружении (Sandbox).
Пример
curl -X PATCH \
'https://api.cyberity.ru/resources/applicants/5b76df770a975a1404cbcb60/info' \
-H 'Content-Type: application/json' \
-d '{
"firstName" : "Andrew",
"dob" : "1990-05-01"
}'
{
"firstName": "Andrew",
"dob": "1990-05-01",
"country": "GBR",
"idDocs": [
{
"idDocType": "PASSPORT",
"country": "GBR",
"number": ""
},
{
"idDocType": "DRIVERS",
"country": "GBR"
}
]
}
# GET Получение результата проверки живости (liveness)
Если вы хотите получить результат проверки живости (Liveness) конкретного пользователя, используйте данный запрос.
GET /resources/checks/latest?type=FACE_LIVELINESS&applicantId={applicantId}
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
type | String | Да | Значение FACE_LIVELINESS. |
Ответ
Содержит список проверок живости в реальном времени (Liveness).
| Название | Тип | Описание |
|---|---|---|
checks | Array of objects | Список объектов, содержащих результаты проверки живости (Liveness). |
Поля элемента checks
| Название | Тип | Описание |
|---|---|---|
answer | String | Результат проверки живости (Liveness). Доступные значения GREEN/RED/ERROR. |
id | String | Идентификатор проверки живости (Liveness). |
createdAt | Date | Время и дата создания пользователя (GMT). |
checkType | String | Тип проверки FACE_LIVELINESS. |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/checks/latest?type=FACE_LIVELINESS&applicantId=5b76df770a975a1404cbcb60'
{
"checks": [
{
"answer": "GREEN",
"checkType": "FACE_LIVELINESS",
"createdAt": "2023-02-17 10:06:44",
"id": "800c2988-15ab-4b26-a633-9fef4b16d7b6"
}
]
}
# GET Получение видео (liveness)
Если вам нужен видеофрагмент с пользователя (liveness) из проверки, воспользуйтесь этим эндпоинтом.
GET /resources/applicants/{applicantId}/info/facemap/video?checkId={checkId}
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
Query-параметры
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
checkId | String | Да | Идентификатор проверки живости (Liveness). |
Ответ
Двоичное содержимое, представляющее собой видео (в большинстве случаев формат video/mp4). Заголовок ответа Content-Type точно описывает медиа-тип ответа.
Если во время проверки живости был зафиксирован только один кадр или меньше, выполнение запроса завершится с ошибкой.
Пример
curl -X GET \
'https://api.cyberity.ru/resources/applicants/5b76df770a975a1404cbcb60/info/facemap/video?checkId=800c2988-15ab-4b26-a633-9fef4b16d7b6'
# GET Получение похожих пользователей
При помощи этого запроса вы можете получить список пользователей с похожими текстовыми или визуальными данными выбранного пользователя.
GET /resources/applicants/{applicantId}/similar/byTextAndFace
Если вы хотите получить список похожих пользователей, найденных только по текстовой информации, вы можете вызвать:
GET /resources/applicants/{applicantId}/similar/byText
Обязательно учитывайте фактор ограничения скорости для этих эндпоинтов:
/similar/byTextAndFace- 7 запросов в 10 секунд,/similar/byText- 10 запросов за 10 секунд.
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
Ответ
| Название | Тип | Описание |
|---|---|---|
applicant | Object | Содержит данные аналогичного пользователя. |
matchedFields | Array | Совпадающие поля данных пользователя (например info.lastName). |
exactMatch | Boolean | Если данные точно совпадают — true. |
blacklisted | Boolean | Есть ли этот пользователь в нашем чёрном списке или нет. |
types | Array | Тип совпадения (text – совпадение текстовых данных, image – совпадение с фотографией). |
Пример
curl -X GET \
'https://api.cyberity.ru/resources/applicants/5eea3f5204f940217bcbc03d/byTextAndFace'
{
"similarApplicants": [
{
"applicant": {
"id": "5ee8ff2453d48655913daa60",
"createdAt": "2020-06-16 17:19:32",
"key": "VMQFJZRXEVHTQWF",
"clientId": "coolclientid",
"inspectionId": "5ee8ff2453d48655913daa61",
"externalUserId": "032ebe8b-957d-48b5-8faf-5156bfc8924e",
"info": {
"firstName": "JOHN",
"firstNameEn": "JOHN",
"middleName": "SMITH",
"middleNameEn": "SMITH",
"dob": "1998-04-21",
"country": "GBR",
"idDocs": [
{
"idDocType": "PASSPORT",
"country": "PHL",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"middleName": "SMITH",
"middleNameEn": "SMITH",
"issuedDate": "2018-01-15",
"validUntil": "2028-01-14",
"number": "P5614709A"
}
]
},
"requiredIdDocs": {
"docSets": [
{
"idDocSetType": "IDENTITY",
"types": [
"PASSPORT",
"DRIVERS",
"ID_CARD"
]
},
{
"idDocSetType": "SELFIE",
"types": [
"SELFIE"
]
}
]
},
"review": {
"elapsedSincePendingMs": 217181,
"elapsedSinceQueuedMs": 182368,
"reprocessing": true,
"createDate": "2020-06-18 19:09:54+0000",
"reviewDate": "2020-06-18 19:13:31+0000",
"startDate": "2020-06-18 19:10:29+0000",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"priority": 0,
"autoChecked": false
},
"type": "individual"
},
"matchedFields": [
"info.lastName",
"info.firstName",
"info.idDocs.PASSPORT"
],
"exactMatch": true,
"blacklisted": false,
"types": [
"text",
"image"
]
},
{
"applicant": {
"id": "5eebf94404f940217bdfb336",
"createdAt": "2020-06-18 23:31:16",
"key": "VMQFJZRXEVHTQWF",
"clientId": "coolclientid",
"inspectionId": "5eebf94404f940217bdfb337",
"externalUserId": "231aa876-91e2-4dbb-98c3-ce39a6aa8ace",
"info": {
"country": "GBR",
"idDocs": [
{
"idDocType": "PASSPORT",
"country": "PHL",
"firstName": "JOHN SMITH",
"firstNameEn": "JOHN SMITH",
"issuedDate": "2018-01-15",
"issueAuthority": "DFA MANILA",
"validUntil": "2028-01-14",
"number": "P5614709A",
"dob": "1998-04-21"
}
]
},
"applicantPlatform": "Unknown",
"requiredIdDocs": {
"docSets": [
{
"idDocSetType": "IDENTITY",
"types": [
"PASSPORT",
"DRIVERS",
"ID_CARD"
]
},
{
"idDocSetType": "SELFIE",
"types": [
"SELFIE"
]
}
]
},
"review": {
"elapsedSincePendingMs": 307881,
"elapsedSinceQueuedMs": 150777,
"reprocessing": true,
"createDate": "2020-06-18 23:32:16+0000",
"reviewDate": "2020-06-18 23:37:24+0000",
"startDate": "2020-06-18 23:34:53+0000",
"reviewResult": {
"moderationComment": "Your application was rejected because you have already submitted your documents on another account. Please, contact our support team: support@getbabb.com",
"clientComment": "Duplicate.",
"reviewAnswer": "RED",
"rejectLabels": [
"REGULATIONS_VIOLATIONS",
"DUPLICATE"
],
"reviewRejectType": "FINAL"
},
"reviewStatus": "completed",
"priority": 0,
"autoChecked": false
},
"type": "individual"
},
"matchedFields": [
"info.idDocs.PASSPORT"
],
"exactMatch": true,
"blacklisted": false,
"types": [
"text",
"image"
]
},
{
"applicant": {
"id": "5ed9d6a8206111453d4d3f81",
"createdAt": "2020-06-05 05:22:48",
"key": "VMQFJZRXEVHTQWF",
"clientId": "coolclientid",
"inspectionId": "5ed9d6a8206111453d4d3f82",
"externalUserId": "a6362071-456b-4b64-ae74-a12a372a14c9",
"info": {
"firstName": "John",
"firstNameEn": "John",
"lastName": "Smith",
"lastNameEn": "Smith",
"dob": "1990-12-25",
"country": "CAN",
"idDocs": [
{
"idDocType": "ID_CARD",
"country": "CAN",
"firstName": "John",
"firstNameEn": "John ",
"lastName": "Smith",
"lastNameEn": "Smith",
"issuedDate": "2018-08-18",
"validUntil": "2020-08-18",
"number": "6446244946",
"dob": "1990-12-25"
}
]
},
"requiredIdDocs": {
"docSets": [
{
"idDocSetType": "IDENTITY",
"types": [
"PASSPORT",
"DRIVERS",
"ID_CARD"
]
},
{
"idDocSetType": "SELFIE",
"types": [
"SELFIE"
]
}
]
},
"review": {
"elapsedSincePendingMs": 7442550,
"elapsedSinceQueuedMs": 1082209,
"reprocessing": true,
"createDate": "2020-06-07 07:56:57+0000",
"reviewDate": "2020-06-07 10:00:59+0000",
"startDate": "2020-06-07 09:42:57+0000",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"priority": 0,
"autoChecked": false
},
"type": "individual"
},
"matchedFields": [],
"exactMatch": false,
"blacklisted": false,
"types": [
"text",
"image"
]
}
],
"totalCnt": 3
}
# POST Импорт пользователя из zip-архива
Этот запрос позволяет импортировать данные, изображения, результаты проверки анкеты пользователя и т. д. из *.zip архива.
Ограничение частоты запросов: 10 запросов за 10 секунд.
POST /resources/applicants/-/applicantImport
Тело запроса
| Название | Тип | Описание |
|---|---|---|
RAW_BODY | file | *.zip архив с данными для импорта. |
Заголовки запроса
| Название | Тип | Значение |
|---|---|---|
Content-Type | String | application/zip |
Содержание zip-архива
- Файл
applicant.jsonсодержащий результат проверки всей анкеты пользователя. - Папки, содержащие данные об отдельных шагах проверки:
- изображения (в формате
.jpeg/.jpg/png) или видео (.mp4) для проверки живости (liveness), - файл
applicantIdDoc.json, содержащий информацию о шаге проверки.
- изображения (в формате
Количество и тип папок зависит от необходимых шагов, настроенных для уровня проверки.
Внимание:
В файле applicantIdDoc.json всегда должны присутствовать параметры idDocType и country.
Пример структуры архива для создания анкеты пользователя с шагами проверки удостоверения личности (два разворота) и фотографии пользователя.

Содержание файла applicant.json
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
externalUserId | String | Да | Внешний идентификатор пользователя – уникальный идентификатор пользователя на вашей стороне. |
info | Object | Да | Данные пользователя, извлеченные из документов пользователя. |
review | Object | Да | Подробная информация о результате проверки |
Поля элемента info
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
firstName | String | Да | Имя. |
lastName | String | Да | Фамилия. |
middleName | String | Нет | Второе имя/отчество. |
legalName | String | Нет | Имя по паспорту. |
gender | String | Нет | Пол человека (M или F). |
dob | String | Нет | Дата рождения (форма YYYY-mm-dd). |
placeOfBirth | String | Нет | Место рождения. |
countryOfBirth | String | Нет | Страна рождения. |
stateOfBirth | String | Нет | Область/штат рождения. |
country | String | Да | Трехбуквенный код страны Альфа-3 (например RUS). |
nationality | String | Нет | Трехбуквенный код страны Альфа-3 (например RUS). |
addresses | Array | Нет | Список адресов. |
tin | String | Нет | Идентификационный номер налогоплательщика (ИНН). |
Поля элемента addresses
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
country | String | Нет | Трехбуквенный код страны Альфа-3 (например RUS). |
postCode | String | Нет | Почтовый индекс. |
town | String | Нет | Название города или населенного пункта. |
street | String | Нет | Название улицы или полный адрес в зависимости от формата в документе. |
subStreet | String | Нет | Дополнительная информация об улице. |
state | String | Нет | Название области (округа/республики/штата и т.д.). |
buildingName | String | Нет | Номер дома. |
flatNumber | String | Нет | Номер квартиры. |
buildingNumber | String | Нет | Номер здания. |
Поля элемента review
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
createDate | Date | Да | Дата создания анкеты пользователя (формат yyyy-MM-dd HH:mm:ss+0000). |
reviewDate | Date | Нет | Дата окончания проверки (формат yyyy-MM-dd HH:mm:ss+0000). |
levelName | String | Да | Название уровня проверки. |
reviewResult | Object | Да | Дополнительные сведения о результатах проверки анкеты пользователя. |
reviewStatus | String | Да | Текущий статус проверки пользователя. |
Поля элемента reviewResult
| Название | Тип | Описание |
|---|---|---|
moderationComment | String | Нет |
clientComment | String | Нет |
reviewAnswer | String | Результат проверки GREEN |
Внимание:
Значение reviewAnswer обязательно должно быть GREEN, так как этот эндпоинт используется для импорта только одобренных пользователей.
Пример содержания файла applicant.json
{
"externalUserId": "someClientUserId",
"info": {
"firstName": "John",
"lastName": "Snow",
"country": "GBR"
},
"review": {
"createDate": "2022-11-21 08:25:32+0000",
"reviewDate": "2022-11-21 08:25:36+0000",
"levelName": "basic-kyc-level",
"reviewResult": {
"moderationComment": "",
"clientComment": "",
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed"
}
}
Содержание файла applicantIdDoc.json
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
idDocType | String | Да | Тип документа. |
idDocSubType | String | Нет | FRONT_SIDE, BACK_SIDE или null. |
country | String | Да | Трехбуквенный код страны Альфа-3 (например RUS). |
firstName | String | Нет | Имя. |
middleName | String | Нет | Второе имя/отчество. |
lastName | String | Нет | Фамилия. |
issuedDate | String | Нет | Дата выдачи (формат YYYY-mm-dd). |
validUntil | String | Нет | Срок действия (формат YYYY-mm-dd). |
number | String | Нет | Номер документа. |
dob | String | Нет | Дата рождения. |
placeOfBirth | String | Нет | Место рождения. |
Пример содержания файла applicantIdDoc.json
{
"idDocType": "ID_CARD",
"country": "GBR",
"firstName": "John",
"lastName": "Doe",
"issuedDate": "2020-09-25",
"number": "1234567890",
"dob": "1985-01-23"
}
Ответ
Ответ представляет собой JSON, содержащий информацию об анкете пользователя.
Пример
curl -X POST \
'https://api.cyberity.ru/resources/applicants/-/applicantImport' \
-H 'Content-Type: application/zip' \
-d 'An archive file.'
# PATCH Деактивировать анкету пользователя
Этот эндпоинт используется для деактивации (удаления) определенной анкеты. Анкета пользователя остается в базе данных, но ее данные будут игнорироваться во время проверки на дубликаты при регистрации новых пользователей.
При необходимости вы всегда сможете вернуть анкету в активный статус, указав вместо {status} значение activated.
Система не позволяет деактивировать анкеты, которые в данный момент проверяются (статусы pending, queued, или prechecked).
PATCH /resources/applicants/{applicantId}/presence/{status}
Параметры запроса
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
applicantId | String | Да | Идентификатор пользователя. |
status | String | Да | Присвоенный статус: deactivated (по умолчанию) — удалить анкету, activated — для возврата анкеты в активное состояние. |
Ответ
Ответ представляет собой JSON-файл, содержащий массив объектов с данными пользователя. Набор данных зависит от ваших прав доступа в системе.
Внимание:
Параметр deleted указывает на результат запроса:
true— анкета пользователя деактивирована.
false — анкета пользователя активна.
Пример
curl -X PATCH \
'https://api.cyberity.ru/resources/applicants/686f891c0697c54324df516f/presence/deactivated'
{
"id": "686f891c0697c54324df516f",
"createdAt": "2025-07-10 09:34:20",
"key": "JNXLCGBSVDJVXR",
"clientId": "tech_writer_dev",
"inspectionId": "686f891c0697c54324df5170",
"externalUserId": "level-7e02e3c0-b237-4263-83a3-273b17a60886",
"fixedInfo": {
"firstName": "Иван",
"firstNameEn": "Ivan",
"lastName": "Иванов",
"lastNameEn": "Ivanov",
"dob": "1990-01-01"
},
"applicantPlatform": "Web",
"agreement": {
"createdAt": "2025-07-10 09:57:09",
"acceptedAt": "2025-07-10 09:57:09",
"source": "WebSDK",
"targets": [
"constConsentRu_v4"
]
},
"requiredIdDocs": {
"docSets": [
{
"idDocSetType": "IDENTITY",
"types": [
"ID_CARD",
"PASSPORT",
"RESIDENCE_PERMIT",
"DRIVERS"
],
"subTypes": [
"FRONT_SIDE",
"BACK_SIDE"
]
},
{
"idDocSetType": "SELFIE",
"types": [
"SELFIE"
],
"videoRequired": "passiveLiveness"
}
]
},
"deleted": true,
"review": {
"reviewId": "CSmqd",
"attemptId": "QvaBi",
"attemptCnt": 0,
"reprocessing": false,
"levelName": "basic-kyc-level",
"levelAutoCheckMode": null,
"createDate": "2025-07-10 09:34:20+0000",
"reviewStatus": "init",
"priority": 0
},
"lang": "ru",
"type": "individual"
}