---
title: Inicio rápido
description: Ejecute Human Plugin y una base de datos PostgreSQL con Docker, cree un proceso de Human Token y léalo con curl.
canonical: https://developer.unico.io/es/human-plugin/get-started/quickstart
locale: es
generated_by: markdown-export
---

# Inicio rápido

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](/es/human-plugin/self-hosting/docker-compose) o [Kubernetes](/es/human-plugin/self-hosting/kubernetes).

## Requisitos previos

- Docker 24 o superior, en `linux/amd64` o `linux/arm64` (Docker Desktop en macOS funciona).
- Las credenciales del registry y la clave de acceso de Unico. Consulte [Requisitos previos y acceso](/es/human-plugin/get-started/prerequisites).

## 1. Obtenga la imagen

Inicie sesión en el registry de Unico con su usuario y token, una vez por host:

```bash
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
```

```bash
docker pull pkg.unico.run/human-plugin-api:latest
```

## 2. Inicie PostgreSQL y Human Plugin

```bash
docker network create human-plugin
```

```bash
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:

```bash
export HUMAN_API_ACCESS_KEY='<your access key>'
```

```bash
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](/es/human-plugin/self-hosting/configuration).

Verifique que Human Plugin esté listo:

```bash
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.

<a id="3-create-a-process"></a>

## 3. Cree un proceso

Elija uno de los [flujos](/es/human-plugin/api-reference/create-process#flows). `clientId`, `correlationId` y `credential` son iguales en todos los flujos.

### humantoken (la persona captura)

La persona se toma la selfie en el Journey de captura. La respuesta incluye el `link` para acceder a él.

```bash
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"
  }'
```

```json
{
  "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.

### api+humantoken (usted envía la selfie)

Su back-end ya tiene la selfie y la envía en `imageBase64`. La respuesta es final, con el Human Token y la inteligencia.

```bash
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>"
  }'
```

```json
{
  "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` es el id propio de Human Plugin para el proceso. Consérvelo: es la única forma de leer el proceso más adelante.
- `correlationId` es su referencia y debe ser único. Reutilizar uno devuelve `409 CORRELATION_ID_ALREADY_USED`.
- `credential` es el documento de la persona. Envíe `null` cuando no haya ninguno. Los tipos que puede usar están en el [catálogo de atributos](/es/human-plugin/additional-resources/attribute-catalog).
- `data.humanToken` indica quién es la persona, y `data.ndocs` es la inteligencia de la persona: qué ha hecho con usted. Consulte [Inteligencia](/es/human-plugin/get-started/intelligence).
- Con un Journey, el proceso finalizado también incluye `data.liveness`: `live` cuando la captura provino de una persona real, `not_live` cuando no. Consulte [El resultado en `data`](/es/human-plugin/api-reference/create-process#result).

## 4. Léalo de nuevo

Reemplace el id por el de su respuesta:

```bash
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

```bash
docker rm -f human-plugin human-plugin-db && docker network rm human-plugin
```

## Siguientes pasos

- [Flujos](/es/human-plugin/api-reference/create-process#flows): qué flujo usar y qué necesita cada uno.
- [Crear un proceso](/es/human-plugin/api-reference/create-process): todos los campos y reglas.
- [Integre su backend](/es/human-plugin/integrations/backend): qué almacenar y cómo manejar los fallos.
- [Human Token Journey](/es/human-plugin/integrations/human-token-journey): el Journey de captura.
- Guías de captura para [Web](/es/human-plugin/integrations/web), [Android](/es/human-plugin/integrations/android), [iOS](/es/human-plugin/integrations/ios), [Ionic](/es/human-plugin/integrations/ionic), [React Native](/es/human-plugin/integrations/react-native) y [Flutter](/es/human-plugin/integrations/flutter): el lado del front-end de la captura.
- [Ejecute Human Plugin en su infraestructura](/es/human-plugin/self-hosting/overview)