Onfido предоставляет Java API, который генерируется по открытому API. К сожалению, сгенерированный код на 100% типизирован для объектов, имеющих аналогичную структуру. Вложенная разбивка, результат и другая потенциальная разбивка имеют свой собственный тип: DocumentBreakdownDataValidation, DocumentBreakdownDataValidationBreakdown, ...
Фрагмент структуры json:
Код: Выделить всё
{
"check_id": "3caa70ef-6ac8-489b-aa60-0907fe2bb22c",
"name": "document",
"properties": {
"first_name": "JOHN",
"last_name": "DOE",
"issuing_country": "BE"
},
"result": "consider",
"status": "complete",
"sub_result": "caution",
"breakdown": {
"data_comparison": {
"result": "clear",
"breakdown": {
"date_of_expiry": {
"result": null,
"properties": {}
},
"issuing_country": {
"result": null,
"properties": {}
}
}
},
"compromised_document": {
"result": "clear"
},
"data_consistency": {
"result": "clear",
"breakdown": {
"last_name": {
"result": "clear",
"properties": {}
},
"first_name": {
"result": "clear",
"properties": {}
},
}
},
"image_integrity": {
"result": "consider",
"breakdown": {
"conclusive_document_quality": {
"result": "consider",
"properties": {
"missing_back": "clear",
"digital_document": "clear",
"abnormal_document_features": "consider"
}
},
"supported_document": {
"result": "clear",
"properties": {}
},
"image_quality": {
"result": "clear",
"properties": {}
},
"colour_picture": {
"result": "clear",
"properties": {}
}
}
},
"visual_authenticity": {
"result": "clear",
"breakdown": {
"other": {
"result": "clear",
"properties": {}
}
}
}
}
}
Код: Выделить всё
DocumentBreakdown breakdown = documentReport.getBreakdown();
DocumentBreakdownDataValidation dataValidation = breakdown.getDataValidation();
DocumentBreakdownDataValidationBreakdown dataValidationbBreakdown = dataValidation.getBreakdown();
dataValidationbBreakdown.getBarcode().getResult();
dataValidationbBreakdown.getGender().getResult();
Результатом метода будет иметь список всех ошибок, например:
Код: Выделить всё
["abnormal_document_features"]
Я просмотрел API, и мне кажется, что эта функция не существует, что мне кажется немного странным, поскольку я думаю, что все, кто использует Onfido, хотели бы дать пользователю некоторую информацию о том, почему проверка не удалась, и ее необходимо проанализировать. весь этот документ.
https://documentation.onfido.com/api/
Подробнее здесь: https://stackoverflow.com/questions/792 ... lt-in-java
Мобильная версия