Перейти к основному содержимому
Быстрый старт

От пустого хоста до первого созданного и полученного процесса за несколько минут.

Markdown

На этой странице Human Plugin запускается вместе с временным контейнером PostgreSQL для быстрого старта в вашей среде. Для развертывания см. Docker Compose или Kubernetes.

Требования​

  • Docker 24 или новее на linux/amd64 или linux/arm64 (Docker Desktop на macOS подходит).
  • Учетные данные реестра и ключ доступа от Unico. См. Требования и доступ.

1. Получите образ​

Войдите в реестр Unico с вашим именем пользователя и токеном, один раз на каждый хост:

echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
docker pull pkg.unico.run/human-plugin-api:latest

2. Запустите PostgreSQL и 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

Задайте ключ доступа в оболочке, затем запустите 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 подходит только для этой локальной базы данных. Для любой другой оставьте значение по умолчанию, require. См. Конфигурация.

Проверьте, что Human Plugin готов:

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

Вы должны увидеть {"status":"ok"}. Если команда завершилась ошибкой, причину покажет docker logs human-plugin.

3. Создайте процесс​

Выберите один из потоков. clientId, correlationId и credential одинаковы во всех потоках.

Человек делает селфи в журнее захвата (capture journey). Ответ содержит link на него.

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

Откройте link на телефоне и сделайте селфи. token и link возвращаются только здесь: Human Plugin их не хранит.

  • id — собственный идентификатор процесса в Human Plugin. Сохраните его: это единственный способ прочитать процесс позже.
  • correlationId — ваша ссылка, и он должен быть уникальным. Повторное использование возвращает 409 CORRELATION_ID_ALREADY_USED.
  • credential — документ человека. Передайте null, если документа нет. Допустимые типы перечислены в каталоге атрибутов.
  • data.humanToken — кто этот человек, а data.ndocs — аналитика о человеке: что он делал у вас. См. Аналитика.
  • При использовании Journey завершенный процесс содержит также data.liveness: live, если захват выполнил живой человек, и not_live, если нет. См. Результат в data.

4. Прочитайте процесс​

Замените идентификатор на тот, что в вашем ответе:

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. Очистка​

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

Дальше​