---
title: Panduan mulai cepat
description: Jalankan Human Plugin dan database PostgreSQL dengan Docker, buat proses Human Token, lalu baca kembali dengan curl.
canonical: https://developer.unico.io/id/human-plugin/get-started/quickstart
locale: id
generated_by: markdown-export
---

# Panduan mulai cepat

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

## Prasyarat

- Docker 24 atau lebih baru, pada `linux/amd64` atau `linux/arm64` (Docker Desktop di macOS dapat digunakan).
- Kredensial registry dan access key dari Unico. Lihat [Prasyarat dan akses](/id/human-plugin/get-started/prerequisites).

## 1. Ambil image

Masuk ke registry Unico dengan username dan token Anda, sekali per host:

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

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

## 2. Jalankan PostgreSQL dan 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
```

Atur access key Anda di shell, lalu jalankan 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` hanya untuk database lokal ini. Pertahankan nilai bawaan, `require`, untuk database lainnya. Lihat [Konfigurasi](/id/human-plugin/self-hosting/configuration).

Pastikan Human Plugin sudah siap:

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

Anda akan melihat `{"status":"ok"}`. Jika perintah gagal, `docker logs human-plugin` menjelaskan penyebabnya.

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

## 3. Buat proses

Pilih salah satu [flow](/id/human-plugin/api-reference/create-process#flows). `clientId`, `correlationId`, dan `credential` sama di setiap flow.

### humantoken (orang tersebut yang melakukan pengambilan)

Orang tersebut mengambil selfie di capture journey. Respons berisi `link` menuju journey itu.

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

Buka `link` di ponsel dan ambil selfie. `token` dan `link` hanya dikembalikan di sini: Human Plugin tidak menyimpannya.

### api+humantoken (Anda yang mengirim selfie)

Back-end Anda sudah memiliki selfie dan mengirimkannya di `imageBase64`. Jawabannya final, lengkap dengan Human Token dan 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` adalah id proses milik Human Plugin sendiri. Simpan: itu satu-satunya cara untuk membaca proses tersebut nanti.
- `correlationId` adalah referensi Anda dan harus unik. Menggunakan ulang nilai yang sama mengembalikan `409 CORRELATION_ID_ALREADY_USED`.
- `credential` adalah dokumen orang tersebut. Kirim `null` jika tidak ada. Tipe yang dapat digunakan ada di [katalog atribut](/id/human-plugin/additional-resources/attribute-catalog).
- `data.humanToken` adalah siapa orang tersebut, dan `data.ndocs` adalah intelligence tentang orang itu: apa saja yang pernah dilakukannya bersama Anda. Lihat [Intelligence](/id/human-plugin/get-started/intelligence).
- Dengan Journey, proses yang selesai juga memiliki `data.liveness`: `live` jika pengambilan berasal dari orang yang hidup, `not_live` jika tidak. Lihat [Hasil di `data`](/id/human-plugin/api-reference/create-process#result).

## 4. Baca kembali

Ganti id dengan id dari respons Anda:

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

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

## Selanjutnya

- [Flow](/id/human-plugin/api-reference/create-process#flows): flow mana yang digunakan dan apa yang dibutuhkan masing-masing.
- [Buat proses](/id/human-plugin/api-reference/create-process): setiap field dan aturannya.
- [Integrasikan back-end Anda](/id/human-plugin/integrations/backend): apa yang perlu disimpan dan cara menangani kegagalan.
- [Human Token Journey](/id/human-plugin/integrations/human-token-journey): capture journey.
- Panduan pengambilan untuk [Web](/id/human-plugin/integrations/web), [Android](/id/human-plugin/integrations/android), [iOS](/id/human-plugin/integrations/ios), [Ionic](/id/human-plugin/integrations/ionic), [React Native](/id/human-plugin/integrations/react-native) dan [Flutter](/id/human-plugin/integrations/flutter): sisi front-end dari pengambilan.
- [Jalankan Human Plugin di infrastruktur Anda](/id/human-plugin/self-hosting/overview)