空のホストから、最初のプロセスの作成と取得まで、数分で完了します。
このページでは、お客様の環境ですばやく試すために、使い捨ての PostgreSQL コンテナと一緒に Human Plugin を実行します。デプロイについては Docker Compose または Kubernetes を参照してください。
前提条件
linux/amd64またはlinux/arm64上の Docker 24 以降(macOS の Docker Desktop でも動作します)。- Unico から提供されたレジストリの認証情報とアクセスキー。前提条件とアクセスを参照してください。
1. イメージを取得する
ホストごとに一度、ユーザー名とトークンで Unico のレジストリにログインします。
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
docker pull pkg.unico.run/human-plugin-api:latest
2. PostgreSQL と Human Plugin を起動する
docker network create human-plugin
docker run -d --name human-plugin-db --network human-plugin \
-e POSTGRES_USER=human_plugin -e POSTGRES_PASSWORD=human_plugin -e POSTGRES_DB=human_plugin \
postgres:16
シェルにアクセスキーを設定してから、Human Plugin を起動します。
export HUMAN_API_ACCESS_KEY='<your access key>'
docker run -d --name human-plugin --network human-plugin --stop-timeout 60 -p 127.0.0.1:8080:8080 \
-e HUMAN_API_ACCESS_KEY \
-e POSTGRES_ADDRESS_HOST=human-plugin-db \
-e POSTGRES_USER=human_plugin \
-e POSTGRES_PASSWORD=human_plugin \
-e POSTGRES_SSL_MODE=disable \
pkg.unico.run/human-plugin-api:latest
POSTGRES_SSL_MODE=disable は、このローカルデータベースでのみ使用します。それ以外のデータベースでは、デフォルトの require のままにしてください。設定を参照してください。
Human Plugin の準備ができていることを確認します。
curl --fail http://127.0.0.1:8080/health/ready
{"status":"ok"} と表示されれば成功です。コマンドが失敗した場合は、docker logs human-plugin で原因を確認できます。
3. プロセスを作成する
フローのいずれかを選びます。clientId、correlationId、credential は、どのフローでも共通です。
- humantoken(本人がキャプチャする)
- api+humantoken(自撮り写真を送信する)
本人がキャプチャジャーニーで自撮り写真を撮影します。レスポンスには、そのジャーニーへの link が含まれます。
curl -s -X POST http://127.0.0.1:8080/v1/processes \
-H 'Content-Type: application/json' \
-d '{
"flow": "humantoken",
"clientId": "client-a",
"correlationId": "quickstart-001",
"credential": { "type": "DUI_TYPE_NG_BVN", "value": "<document number>" },
"callbackUri": "https://example.com/callback"
}'
{
"id": "b063041c-7529-4e70-a2b4-c71c00f19801",
"state": "PROCESS_STATE_CREATED",
"token": "<SDK token>",
"link": "https://…"
}
link をスマートフォンで開いて自撮り写真を撮影します。token と link はここでのみ返されます。Human Plugin はこれらを保存しません。
バックエンドがすでに自撮り写真を持っている場合は、imageBase64 で送信します。レスポンスは最終結果で、Human Token とインテリジェンスが含まれます。
curl -s -X POST http://127.0.0.1:8080/v1/processes \
-H 'Content-Type: application/json' \
-d '{
"flow": "api+humantoken",
"clientId": "client-a",
"correlationId": "quickstart-002",
"credential": { "type": "DUI_TYPE_NG_BVN", "value": "<document number>" },
"imageBase64": "<base64 selfie>"
}'
{
"id": "5d1f7c2e-1b8a-4e0f-9a4b-2f6c3d9e8a71",
"state": "PROCESS_STATE_FINISHED",
"data": {
"humanToken": { "value": "6d3d71…", "status": "validated" },
"ndocs": {
"distinctClientsCount": 1,
"transactionsCount": 1,
"firstSeen": "2026-11-03",
"lastSeen": "2026-11-03",
"credentials": [
{ "type": "DUI_TYPE_NG_BVN", "countryCode": "NGA", "distinctCredentialCount": 1 }
]
}
}
}
idは Human Plugin が割り当てたプロセス固有の ID です。後でプロセスを読み取る唯一の手段なので、保存しておいてください。correlationIdはお客様側の参照用で、一意である必要があります。再利用すると409 CORRELATION_ID_ALREADY_USEDが返されます。credentialは本人のドキュメントです。ない場合はnullを送信してください。使用できるタイプは属性カタログにあります。data.humanTokenは本人が誰であるかを示し、data.ndocsは本人のインテリジェンス、つまりお客様の環境でこれまでに何を行ったかを示します。インテリジェンスを参照してください。- Journey の場合、完了したプロセスには
data.livenessも含まれます。キャプチャが実在の人物によるものならlive、そうでなければnot_liveです。dataに含まれる結果を参照してください。
4. 結果を読み取る
ID は、お客様のレスポンスに含まれる ID に置き換えてください。
curl -s http://127.0.0.1:8080/v1/processes/b063041c-7529-4e70-a2b4-c71c00f19801
Journey は、本人がキャプチャを完了するまで PROCESS_STATE_CREATED のままです。完了後にもう一度読み取ってください。レスポンスは PROCESS_STATE_FINISHED になり、data.humanToken、data.liveness、data.ndocs が含まれます。結果を信頼する前に、data.liveness.value が live であることを確認してください。
5. クリーンアップ
docker rm -f human-plugin human-plugin-db && docker network rm human-plugin
次へ
- フロー: どのフローを使うか、各フローに何が必要か。
- プロセスを作成する: すべてのフィールドとルール 。
- バックエンドを統合する: 何を保存し、失敗をどう処理するか。
- Human Token Journey: キャプチャジャーニー。
- Web、Android、iOS、Ionic、React Native、Flutter のキャプチャガイド: キャプチャのフロントエンド側。
- お客様のインフラストラクチャで Human Plugin を実行する