diff --git a/src/main/scala/com/particeep/api/KycClient.scala b/src/main/scala/com/particeep/api/KycClient.scala index 4f35a67..5d8d438 100644 --- a/src/main/scala/com/particeep/api/KycClient.scala +++ b/src/main/scala/com/particeep/api/KycClient.scala @@ -2,7 +2,7 @@ package com.particeep.api import com.particeep.api.core._ import com.particeep.api.models.ErrorResult -import com.particeep.api.models.kyc.{ KycCreation, KycGroup, KycsEdition } +import com.particeep.api.models.kyc._ import play.api.libs.json.Json import scala.concurrent.{ ExecutionContext, Future } @@ -19,6 +19,8 @@ object KycClient { private implicit val group_format = KycGroup.format private implicit val creation_format = KycCreation.format private implicit val edition_format = KycsEdition.format + private implicit val kyc_ask_validation_format = KycAskValidation.format + private implicit val kyc_validation_format = KycValidation.format } class KycClient(val ws: WSClient, val credentials: Option[ApiCredential] = None) extends WithWS with WithCredentials with EntityClient { @@ -62,4 +64,8 @@ class KycClient(val ws: WSClient, val credentials: Option[ApiCredential] = None) ws.delete[List[KycGroup]](s"$endPoint/cancel/owner/$owner_id/$owner_type", timeout, Json.toJson("")) ) } + + def validate(kyc_ask_validation: KycAskValidation, timeout: Long = 50000)(implicit exec: ExecutionContext): Future[Either[ErrorResult, KycValidation]] = { + ws.post[KycValidation](s"$endPoint/document/validate", timeout, Json.toJson(kyc_ask_validation)) + } } diff --git a/src/main/scala/com/particeep/api/models/kyc/KycAskValidation.scala b/src/main/scala/com/particeep/api/models/kyc/KycAskValidation.scala new file mode 100644 index 0000000..971031f --- /dev/null +++ b/src/main/scala/com/particeep/api/models/kyc/KycAskValidation.scala @@ -0,0 +1,11 @@ +package com.particeep.api.models.kyc + +import play.api.libs.json.Json + +case class KycAskValidation( + url: String +) + +object KycAskValidation { + val format = Json.format[KycAskValidation] +} diff --git a/src/main/scala/com/particeep/api/models/kyc/KycValidation.scala b/src/main/scala/com/particeep/api/models/kyc/KycValidation.scala new file mode 100644 index 0000000..6e2f499 --- /dev/null +++ b/src/main/scala/com/particeep/api/models/kyc/KycValidation.scala @@ -0,0 +1,14 @@ +package com.particeep.api.models.kyc + +import play.api.libs.json.{JsValue, Json} + +case class KycValidation( + is_valid: Boolean = false, + external_id: String = "", + service_name: String = "", + service_response: JsValue = Json.parse("{}") +) + +object KycValidation { + val format = Json.format[KycValidation] +}