Dari host kosong hingga proses pertama yang dibuat dan diambil, dalam beberapa menit.
Halaman ini menjalankan Human Plugin bersama container PostgreSQL sementara agar Anda dapat mulai dengan cepat di lingkungan Anda. Untuk men-deploy-nya, lihat Docker Compose atau Kubernetes.
Prasyarat
- Docker 24 atau lebih baru, pada
linux/amd64ataulinux/arm64(Docker Desktop di macOS dapat digunakan). - Kredensial registry dan access key dari Unico. Lihat Prasyarat dan akses.
1. Ambil image
Masuk ke registry Unico dengan username dan token Anda, sekali per host:
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
docker pull pkg.unico.run/human-plugin-api:latest
2. Jalankan PostgreSQL dan 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
Atur access key Anda di shell, lalu jalankan 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 hanya untuk database lokal ini. Pertahankan nilai bawaan, require, untuk database lainnya. Lihat Konfigurasi.
Pastikan Human Plugin sudah siap:
curl --fail http://127.0.0.1:8080/health/ready
Anda akan melihat {"status":"ok"}. Jika perintah gagal, docker logs human-plugin menjelaskan penyebabnya.
3. Buat proses
Pilih salah satu flow. clientId, correlationId, dan credential sama di setiap flow.
- humantoken (orang tersebut yang melakukan pengambilan)
- api+humantoken (Anda yang mengirim selfie)
Orang tersebut mengambil selfie di capture journey. Respons berisi link menuju journey itu.
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://…"
}
Buka link di ponsel dan ambil selfie. token dan link hanya dikembalikan di sini: Human Plugin tidak menyimpannya.
Back-end Anda sudah memiliki selfie dan mengirimkannya di imageBase64. Jawabannya final, lengkap dengan Human Token dan intelligence.
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 }
]
}
}
}
idadalah id proses milik Human Plugin sendiri. Simpan: itu satu-satunya cara untuk membaca proses tersebut nanti.correlationIdadalah referensi Anda dan harus unik. Menggunakan ulang nilai yang sama mengembalikan409 CORRELATION_ID_ALREADY_USED.credentialadalah dokumen orang tersebut. Kirimnulljika tidak ada. Tipe yang dapat digunakan ada di katalog atribut.data.humanTokenadalah siapa orang tersebut, dandata.ndocsadalah intelligence tentang orang itu: apa saja yang pernah dilakukannya bersama Anda. Lihat Intelligence.- Dengan Journey, proses yang selesai juga memiliki
data.liveness:livejika pengambilan berasal dari orang yang hidup,not_livejika tidak. Lihat Hasil didata.
4. Baca kembali
Ganti id dengan id dari respons Anda:
curl -s http://127.0.0.1:8080/v1/processes/b063041c-7529-4e70-a2b4-c71c00f19801
Journey tetap PROCESS_STATE_CREATED sampai orang tersebut menyelesaikan pengambilan. Baca lagi setelah itu: jawabannya berubah menjadi PROCESS_STATE_FINISHED, dengan data.humanToken, data.liveness, dan data.ndocs. Pastikan data.liveness.value adalah live sebelum Anda memercayai hasilnya.
5. Bersihkan
docker rm -f human-plugin human-plugin-db && docker network rm human-plugin
Selanjutnya
- Flow: flow mana yang digunakan dan apa yang dibutuhkan masing-masing.
- Buat proses: setiap field dan aturannya.
- Integrasikan back-end Anda: apa yang perlu disimpan dan cara menangani kegagalan.
- Human Token Journey: capture journey.
- Panduan pengambilan untuk Web, Android, iOS, Ionic, React Native dan Flutter: sisi front-end dari pengambilan.
- Jalankan Human Plugin di infrastruktur Anda