---
title: クイックスタート
description: Docker で Human Plugin と PostgreSQL データベースを実行し、Human Token のプロセスを作成して curl で読み取ります。
canonical: https://developer.unico.io/ja/human-plugin/get-started/quickstart
locale: ja
generated_by: markdown-export
---

# クイックスタート

空のホストから、最初のプロセスの作成と取得まで、数分で完了します。

このページでは、お客様の環境ですばやく試すために、使い捨ての PostgreSQL コンテナと一緒に Human Plugin を実行します。デプロイについては [Docker Compose](/ja/human-plugin/self-hosting/docker-compose) または [Kubernetes](/ja/human-plugin/self-hosting/kubernetes) を参照してください。

## 前提条件

- `linux/amd64` または `linux/arm64` 上の Docker 24 以降（macOS の Docker Desktop でも動作します）。
- Unico から提供されたレジストリの認証情報とアクセスキー。[前提条件とアクセス](/ja/human-plugin/get-started/prerequisites)を参照してください。

## 1. イメージを取得する

ホストごとに一度、ユーザー名とトークンで Unico のレジストリにログインします。

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

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

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

シェルにアクセスキーを設定してから、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` は、このローカルデータベースでのみ使用します。それ以外のデータベースでは、デフォルトの `require` のままにしてください。[設定](/ja/human-plugin/self-hosting/configuration)を参照してください。

Human Plugin の準備ができていることを確認します。

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

`{"status":"ok"}` と表示されれば成功です。コマンドが失敗した場合は、`docker logs human-plugin` で原因を確認できます。

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

## 3. プロセスを作成する

[フロー](/ja/human-plugin/api-reference/create-process#flows)のいずれかを選びます。`clientId`、`correlationId`、`credential` は、どのフローでも共通です。

### humantoken（本人がキャプチャする）

本人がキャプチャジャーニーで自撮り写真を撮影します。レスポンスには、そのジャーニーへの `link` が含まれます。

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

`link` をスマートフォンで開いて自撮り写真を撮影します。`token` と `link` はここでのみ返されます。Human Plugin はこれらを保存しません。

### api+humantoken（自撮り写真を送信する）

バックエンドがすでに自撮り写真を持っている場合は、`imageBase64` で送信します。レスポンスは最終結果で、Human Token とインテリジェンスが含まれます。

```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` は Human Plugin が割り当てたプロセス固有の ID です。後でプロセスを読み取る唯一の手段なので、保存しておいてください。
- `correlationId` はお客様側の参照用で、一意である必要があります。再利用すると `409 CORRELATION_ID_ALREADY_USED` が返されます。
- `credential` は本人のドキュメントです。ない場合は `null` を送信してください。使用できるタイプは[属性カタログ](/ja/human-plugin/additional-resources/attribute-catalog)にあります。
- `data.humanToken` は本人が誰であるかを示し、`data.ndocs` は本人のインテリジェンス、つまりお客様の環境でこれまでに何を行ったかを示します。[インテリジェンス](/ja/human-plugin/get-started/intelligence)を参照してください。
- Journey の場合、完了したプロセスには `data.liveness` も含まれます。キャプチャが実在の人物によるものなら `live`、そうでなければ `not_live` です。[`data` に含まれる結果](/ja/human-plugin/api-reference/create-process#result)を参照してください。

## 4. 結果を読み取る

ID は、お客様のレスポンスに含まれる ID に置き換えてください。

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

Journey は、本人がキャプチャを完了するまで `PROCESS_STATE_CREATED` のままです。完了後にもう一度読み取ってください。レスポンスは `PROCESS_STATE_FINISHED` になり、`data.humanToken`、`data.liveness`、`data.ndocs` が含まれます。結果を信頼する前に、`data.liveness.value` が `live` であることを確認してください。

## 5. クリーンアップ

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

## 次へ

- [フロー](/ja/human-plugin/api-reference/create-process#flows): どのフローを使うか、各フローに何が必要か。
- [プロセスを作成する](/ja/human-plugin/api-reference/create-process): すべてのフィールドとルール。
- [バックエンドを統合する](/ja/human-plugin/integrations/backend): 何を保存し、失敗をどう処理するか。
- [Human Token Journey](/ja/human-plugin/integrations/human-token-journey): キャプチャジャーニー。
- [Web](/ja/human-plugin/integrations/web)、[Android](/ja/human-plugin/integrations/android)、[iOS](/ja/human-plugin/integrations/ios)、[Ionic](/ja/human-plugin/integrations/ionic)、[React Native](/ja/human-plugin/integrations/react-native)、[Flutter](/ja/human-plugin/integrations/flutter) のキャプチャガイド: キャプチャのフロントエンド側。
- [お客様のインフラストラクチャで Human Plugin を実行する](/ja/human-plugin/self-hosting/overview)