概要
ZOLOZ SaaS API は言語に依存しません。つまり、API を任意の言語と統合できます。ただし、ZOLOZ ゲートウェイプロトコルを完全に理解し、リクエストを適切に作成してレスポンスを処理する必要があります。または、プロジェクトが Java で記述されている場合は、ZOLOZ が提供する既存の API SDK を使用して API を統合することもできます。この章では、Java API SDK と統合する方法のみを示します。
API SDK の導入
プロジェクトの POM ファイルに次の依存関係を追加して、ライブラリをプロジェクトに導入します。
<dependency>
<groupId>com.zoloz.api.sdk</groupId>
<artifactId>zoloz-api-sdk</artifactId>
<version>0.1.0</version>
</dependency>
API の使用
API SDK クライアントのインスタンス化と構成
// OpenApiClient を初期化します
String clientId = "<クライアント ID>";
String zolozPublicKey = "<Base64 でエンコードされた ZOLOZ の公開鍵コンテンツ>";
String merchantPrivateKey = "<Base64 でエンコードされた加盟店の秘密鍵コンテンツ>";
OpenApiClient client = new OpenApiClient(); // デフォルトで署名と暗号化を使用して構築します
client.setHostUrl("https://sg-production-api.zoloz.com");
client.setClientId(clientId);
client.setMerchantPrivateKey(merchantPrivateKey);
client.setOpenApiPublicKey(zolozPublicKey);
//client.setSigned(false); // レスポンスの署名検証をオフにすることができます
//client.setEncrypted(false); // 暗号化をオフにすることができます
FaceCompare プロダクトの使用
// API クライアントを作成します
FaceCompareAPI faceCompareApi = new FaceCompareAPI(client);
// API リクエストを準備します
String face1ImgPath = "<1 つ目の顔画像のファイルパス>";
String face2ImgPath = "<2 つ目の顔画像のファイルパス>";
FaceCompareRequest request = new FaceCompareRequest();
request.setBizId("biz-id-12345"); // 追跡のために、グローバル一意識別子を使用することをお勧めします
request.getFace1().setContent(getBase64ImageContent(face1ImgPath));
request.getFace2().setContent(getBase64ImageContent(face2ImgPath));
// API を呼び出します
FaceCompareResponse response = faceCompareApi.compare(request);
if ("S".equals(response.getResult().getResultStatus())) {
System.out.println(String.format(
"2 つの顔は %s のもので、類似度は %2f です",
response.getSamePerson() ? "同一人物" : "別人",
response.getScore()
));
}
else {
System.out.println(String.format(
"[エラー] %s: %s",
response.getResult().getResultCode(),
response.getResult().getResultMessage()
));
}
IdRecognize プロダクトの使用
// API クライアントを作成します
DocRecognitionAPI docRecognitionAPI = new DocRecognitionAPI(client);
// API リクエストを準備します
String imagePath = cmd.getOptionValue("f");
DocRecognitionRequest request=new DocRecognitionRequest();
request.setBizId("biz-id-12345"); // 追跡のために、グローバル一意識別子を使用することをお勧めします
request.setDocType("00000001003");
request.setFrontPageImage(getBase64ImageContent(imagePath));
// API を呼び出します
DocRecognitionResponse response = docRecognitionAPI.recognition(request);
if ("S".equals(response.getResult().getResultStatus())) {
if ("Y".equals(response.getRecognitionResult())) {
System.out.println("ID が検出されました。\n");
if (response.getSpoofResult() != null && !response.getSpoofResult().isEmpty()) {
System.out.println("なりすまし検出:");
response.getOcrResult().forEach((key, value) -> {
System.out.println(String.format(" -%s: %s", key, value));
});
}
System.out.println("OCR 結果:");
response.getOcrResult().forEach((key, value) -> {
System.out.println(String.format(" -%s: %s", key, value));
});
System.out.println(String.format(
"[エラー] %s: %s",
response.getResult().getResultCode(),
response.getResult().getResultMessage()
));
}
else {
System.out.println(String.format(
"画像を認識できません: %s",
response.getRecognitionErrorCode()
));
}
}
else {
System.out.println(String.format(
"[エラー] %s: %s",
response.getResult().getResultCode(),
response.getResult().getResultMessage()
));
}
使用例
GitHub リポジトリのオープンソースの例をご確認ください。