---
title: Quickstart
description: Starten Sie Human Plugin und eine PostgreSQL-Datenbank mit Docker, erstellen Sie einen Human-Token-Prozess und lesen Sie ihn mit curl wieder aus.
canonical: https://developer.unico.io/de/human-plugin/get-started/quickstart
locale: de
generated_by: markdown-export
---

# Quickstart

Von einem leeren Host bis zum ersten erstellten und abgerufenen Prozess in wenigen Minuten.

Diese Seite startet Human Plugin zusammen mit einem Wegwerf-PostgreSQL-Container für einen schnellen Einstieg in Ihrer Umgebung. Zur Bereitstellung siehe [Docker Compose](/de/human-plugin/self-hosting/docker-compose) oder [Kubernetes](/de/human-plugin/self-hosting/kubernetes).

## Voraussetzungen

- Docker 24 oder neuer, auf `linux/amd64` oder `linux/arm64` (Docker Desktop unter macOS funktioniert).
- Die Registry-Zugangsdaten und der Access Key von Unico. Siehe [Voraussetzungen und Zugang](/de/human-plugin/get-started/prerequisites).

## 1. Das Image abrufen

Melden Sie sich einmal pro Host mit Ihrem Benutzernamen und Token bei der Registry von Unico an:

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

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

## 2. PostgreSQL und Human Plugin starten

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

Setzen Sie Ihren Access Key in der Shell und starten Sie dann 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` gilt nur für diese lokale Datenbank. Behalten Sie für jede andere den Standardwert `require` bei. Siehe [Konfiguration](/de/human-plugin/self-hosting/configuration).

Prüfen Sie, ob Human Plugin bereit ist:

```bash
curl --fail http://127.0.0.1:8080/health/ready
```

Sie sollten `{"status":"ok"}` sehen. Wenn der Befehl fehlschlägt, nennt `docker logs human-plugin` den Grund.

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

## 3. Einen Prozess erstellen

Wählen Sie einen der [Flows](/de/human-plugin/api-reference/create-process#flows). `clientId`, `correlationId` und `credential` sind in jedem Flow gleich.

### humantoken (die Person nimmt auf)

Die Person nimmt das Selfie in der Capture Journey auf. Die Antwort enthält den `link` dorthin.

```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://…"
}
```

Öffnen Sie den `link` auf einem Smartphone und nehmen Sie das Selfie auf. Der `token` und der `link` werden nur hier zurückgegeben: Human Plugin speichert sie nicht.

### api+humantoken (Sie senden das Selfie)

Ihr Back-End hat das Selfie bereits und sendet es in `imageBase64`. Die Antwort ist endgültig, mit dem Human Token und der Intelligence.

```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` ist die eigene ID von Human Plugin für den Prozess. Bewahren Sie sie auf: Nur damit können Sie den Prozess später lesen.
- `correlationId` ist Ihre Referenz und muss eindeutig sein. Die Wiederverwendung liefert `409 CORRELATION_ID_ALREADY_USED`.
- `credential` ist das Dokument der Person. Senden Sie `null`, wenn es keines gibt. Die verwendbaren Typen finden Sie im [Attributkatalog](/de/human-plugin/additional-resources/attribute-catalog).
- `data.humanToken` sagt, wer die Person ist, und `data.ndocs` ist die Intelligence zur Person: was sie bei Ihnen getan hat. Siehe [Intelligence](/de/human-plugin/get-started/intelligence).
- Bei einer Journey enthält der abgeschlossene Prozess außerdem `data.liveness`: `live`, wenn die Aufnahme von einer lebenden Person stammt, `not_live`, wenn nicht. Siehe [Das Ergebnis in `data`](/de/human-plugin/api-reference/create-process#result).

## 4. Wieder auslesen

Ersetzen Sie die ID durch die aus Ihrer Antwort:

```bash
curl -s http://127.0.0.1:8080/v1/processes/b063041c-7529-4e70-a2b4-c71c00f19801
```

Eine Journey bleibt `PROCESS_STATE_CREATED`, bis die Person die Aufnahme abschließt. Lesen Sie sie danach erneut: Die Antwort wechselt zu `PROCESS_STATE_FINISHED`, mit `data.humanToken`, `data.liveness` und `data.ndocs`. Prüfen Sie, dass `data.liveness.value` `live` ist, bevor Sie dem Ergebnis vertrauen.

## 5. Aufräumen

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

## Weiter

- [Flows](/de/human-plugin/api-reference/create-process#flows): welchen Flow Sie verwenden und was jeder benötigt.
- [Einen Prozess erstellen](/de/human-plugin/api-reference/create-process): jedes Feld und jede Regel.
- [Ihr Back-End integrieren](/de/human-plugin/integrations/backend): was zu speichern ist und wie Fehler behandelt werden.
- [Human Token Journey](/de/human-plugin/integrations/human-token-journey): die Capture Journey.
- Capture-Anleitungen für [Web](/de/human-plugin/integrations/web), [Android](/de/human-plugin/integrations/android), [iOS](/de/human-plugin/integrations/ios), [Ionic](/de/human-plugin/integrations/ionic), [React Native](/de/human-plugin/integrations/react-native) und [Flutter](/de/human-plugin/integrations/flutter): die Front-End-Seite der Aufnahme.
- [Human Plugin in Ihrer Infrastruktur betreiben](/de/human-plugin/self-hosting/overview)