Получить список результатов отчета о документах Onfido в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получить список результатов отчета о документах Onfido в Java

Сообщение Anonymous »

Я пытаюсь найти лучший способ получить список всех «непонятных» результатов из отчета документа Onfido.
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": {}
}
}
}
}
}
Используя только API onfido, у меня есть класс Java с более чем 300 строками кода, например:

Код: Выделить всё

    DocumentBreakdown breakdown = documentReport.getBreakdown();
DocumentBreakdownDataValidation dataValidation = breakdown.getDataValidation();
DocumentBreakdownDataValidationBreakdown dataValidationbBreakdown = dataValidation.getBreakdown();
dataValidationbBreakdown.getBarcode().getResult();
dataValidationbBreakdown.getGender().getResult();
Я застрял в поиске лучшего подхода. Либо разветвление и изменение схемы Onfido openAPI и создание другой библиотеки с дженериками, либо сериализация и десериализация объекта в другой тип объекта, которым я управляю с помощью интерфейса, который я могу использовать в рекурсивном методе. Последнее решение кажется странным, поскольку данные отправляются в формате JSON -> анализируются Onfido-api -> обратно в json -> десериализуются как мой объект.
Результатом метода будет иметь список всех ошибок, например:

Код: Выделить всё

["abnormal_document_features"]
Мне нужен этот список, чтобы я мог сообщить моему интерфейсу, чтобы он показал пользователю и посоветовал ему сделать снимок получше или использовать другой документ, ...
Я просмотрел API, и мне кажется, что эта функция не существует, что мне кажется немного странным, поскольку я думаю, что все, кто использует Onfido, хотели бы дать пользователю некоторую информацию о том, почему проверка не удалась, и ее необходимо проанализировать. весь этот документ.
https://documentation.onfido.com/api/

Подробнее здесь: https://stackoverflow.com/questions/792 ... lt-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»