De un host vacío a su primer proceso creado y consultado, en pocos minutos.
Esta página ejecuta Human Plugin junto con un contenedor PostgreSQL desechable para un arranque rápido en su entorno. Para desplegarlo, consulte Docker Compose o Kubernetes.
Requisitos previos
- Docker 24 o superior, en
linux/amd64olinux/arm64(Docker Desktop en macOS funciona). - Las credenciales del registry y la clave de acceso de Unico. Consulte Requisitos previos y acceso.
1. Obtenga la imagen
Inicie sesión en el registry de Unico con su usuario y token, una vez por host:
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
docker pull pkg.unico.run/human-plugin-api:latest
2. Inicie PostgreSQL y 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
Defina su clave de acceso en el shell y luego inicie 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 es solo para esta base de datos local. Mantenga el valor predeterminado, require, para cualquier otra. Consulte Configuración.
Verifique que Human Plugin esté listo:
curl --fail http://127.0.0.1:8080/health/ready
Debería ver {"status":"ok"}. Si el comando falla, docker logs human-plugin indica el motivo.
3. Cree un proceso
Elija uno de los flujos. clientId, correlationId y credential son iguales en todos los flujos.
- humantoken (la persona captura)
- api+humantoken (usted envía la selfie)
La persona se toma la selfie en el Journey de captura. La respuesta incluye el link para acceder a él.
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://…"
}
Abra el link en un teléfono y tómese la selfie. El token y el link se devuelven solo aquí: Human Plugin no los almacena.
Su back-end ya tiene la selfie y la envía en imageBase64. La respuesta es final, con el Human Token y la inteligencia.
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 }
]
}
}
}
ides el id propio de Human Plugin para el proceso. Consérvelo: es la única forma de leer el proceso más adelante.correlationIdes su referencia y debe ser único. Reutilizar uno devuelve409 CORRELATION_ID_ALREADY_USED.credentiales el documento de la persona. Envíenullcuando no haya ninguno. Los tipos que puede usar están en el catálogo de atributos.data.humanTokenindica quién es la persona, ydata.ndocses la inteligencia de la persona: qué ha hecho con usted. Consulte Inteligencia.- Con un Journey, el proceso finalizado también incluye
data.liveness:livecuando la captura provino de una persona real,not_livecuando no. Consulte El resultado endata.
4. Léalo de nuevo
Reemplace el id por el de su respuesta:
curl -s http://127.0.0.1:8080/v1/processes/b063041c-7529-4e70-a2b4-c71c00f19801
Un Journey permanece en PROCESS_STATE_CREATED hasta que la persona termina la captura. Léalo de nuevo después de eso: la respuesta pasa a PROCESS_STATE_FINISHED, con data.humanToken, data.liveness y data.ndocs. Verifique que data.liveness.value sea live antes de confiar en el resultado.
5. Limpieza
docker rm -f human-plugin human-plugin-db && docker network rm human-plugin
Siguientes pasos
- Flujos: qué flujo usar y qué necesita cada uno.
- Crear un proceso: todos los campos y reglas.
- Integre su backend: qué almacenar y cómo manejar los fallos.
- Human Token Journey: el Journey de captura.
- Guías de captura para Web, Android, iOS, Ionic, React Native y Flutter: el lado del front-end de la captura.
- Ejecute Human Plugin en su infraestructura