D'un hôte vide à votre premier processus créé puis récupéré, en quelques minutes.
Cette page exécute Human Plugin avec un conteneur PostgreSQL jetable pour un démarrage rapide dans votre environnement. Pour le déployer, voir Docker Compose ou Kubernetes.
Prérequis
- Docker 24 ou version ultérieure, sur
linux/amd64oulinux/arm64(Docker Desktop sur macOS fonctionne). - Les identifiants du registre et la clé d'accès fournis par Unico. Voir Prérequis et accès.
1. Récupérer l'image
Connectez-vous au registre de Unico avec votre nom d'utilisateur et votre token, une fois par hôte :
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
docker pull pkg.unico.run/human-plugin-api:latest
2. Démarrer PostgreSQL et 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
Définissez votre clé d'accès dans le shell, puis démarrez 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 ne convient qu'à cette base locale. Conservez la valeur par défaut, require, pour toute autre base. Voir Configuration.
Vérifiez que Human Plugin est prêt :
curl --fail http://127.0.0.1:8080/health/ready
Vous devriez voir {"status":"ok"}. Si la commande échoue, docker logs human-plugin en indique la cause.
3. Créer un processus
Choisissez l'un des flux. clientId, correlationId et credential sont identiques dans tous les flux.
- humantoken (la personne capture)
- api+humantoken (vous envoyez le selfie)
La personne prend le selfie dans le parcours de capture. La réponse contient le link vers ce parcours.
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://…"
}
Ouvrez le link sur un téléphone et prenez le selfie. Le token et le link ne sont renvoyés qu'ici : Human Plugin ne les stocke pas.
Votre back-end dispose déjà du selfie et l'envoie dans imageBase64. La réponse est définitive, avec le Human Token et l'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 }
]
}
}
}
idest l'identifiant propre à Human Plugin pour le processus. Conservez-le : c'est le seul moyen de relire le processus plus tard.correlationIdest votre référence et doit être unique. En réutiliser un renvoie409 CORRELATION_ID_ALREADY_USED.credentialest le document de la personne. Envoyeznulls'il n'y en a pas. Les types utilisables figurent dans le catalogue d'attributs.data.humanTokenindique qui est la personne, etdata.ndocsest l'intelligence sur la personne : ce qu'elle a fait chez vous. Voir Intelligence.- Avec un Journey, le processus terminé contient aussi
data.liveness:livelorsque la capture provient d'une personne réelle,not_livedans le cas contraire. Voir Le résultat dansdata.
4. Le relire
Remplacez l'identifiant par celui de votre réponse :
curl -s http://127.0.0.1:8080/v1/processes/b063041c-7529-4e70-a2b4-c71c00f19801
Un Journey reste en PROCESS_STATE_CREATED tant que la personne n'a pas terminé la capture. Relisez-le ensuite : la réponse passe à PROCESS_STATE_FINISHED, avec data.humanToken, data.liveness et data.ndocs. Vérifiez que data.liveness.value vaut live avant de vous fier au résultat.
5. Nettoyer
docker rm -f human-plugin human-plugin-db && docker network rm human-plugin
Suite
- Flux : quel flux utiliser et ce que chacun requiert.
- Créer un processus : tous les champs et toutes les règles.
- Intégrer votre back-end : quoi stocker et comment gérer les échecs.
- Human Token Journey : le parcours de capture.
- Guides de capture pour Web, Android, iOS, Ionic, React Native et Flutter : le côté front-end de la capture.
- Exécuter Human Plugin dans votre infrastructure