---
title: البدء السريع
description: شغّل Human Plugin وقاعدة بيانات PostgreSQL باستخدام Docker، ثم أنشئ عملية Human Token واقرأها باستخدام curl.
canonical: https://developer.unico.io/ar/human-plugin/get-started/quickstart
locale: ar
generated_by: markdown-export
---

# البدء السريع

من مضيف فارغ إلى أول عملية تنشئها وتسترجعها، في بضع دقائق.

تشغّل هذه الصفحة Human Plugin إلى جانب حاوية PostgreSQL مؤقتة لبداية سريعة في بيئتك. للنشر، راجع [Docker Compose](/ar/human-plugin/self-hosting/docker-compose) أو [Kubernetes](/ar/human-plugin/self-hosting/kubernetes).

## المتطلبات الأساسية

- Docker 24 أو أحدث، على `linux/amd64` أو `linux/arm64` (يعمل Docker Desktop على macOS).
- بيانات اعتماد السجل ومفتاح الوصول من Unico. راجع [المتطلبات الأساسية والوصول](/ar/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
```

اضبط مفتاح الوصول في الصدفة (shell)، ثم شغّل 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` لأي قاعدة أخرى. راجع [الإعدادات](/ar/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. أنشئ عملية

اختر أحد [التدفقات](/ar/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 الخاص بالعملية. احتفظ به: فهو الطريقة الوحيدة لقراءة العملية لاحقاً.
- `correlationId` هو مرجعك الخاص ويجب أن يكون فريداً. إعادة استخدامه تُرجع `409 CORRELATION_ID_ALREADY_USED`.
- `credential` هي وثيقة الشخص. أرسل `null` عند عدم وجودها. الأنواع التي يمكنك استخدامها موجودة في [فهرس السمات](/ar/human-plugin/additional-resources/attribute-catalog).
- `data.humanToken` هو من يكون الشخص، و`data.ndocs` هي رؤى الشخص: ما فعله معك. راجع [الرؤى](/ar/human-plugin/get-started/intelligence).
- مع Journey، تحتوي العملية المنتهية أيضاً على `data.liveness`: القيمة `live` عندما يأتي الالتقاط من شخص حي، و`not_live` عندما لا يكون كذلك. راجع [النتيجة في `data`](/ar/human-plugin/api-reference/create-process#result).

## 4. اقرأها من جديد

استبدل المعرّف بالمعرّف الموجود في استجابتك:

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

## التالي

- [التدفقات](/ar/human-plugin/api-reference/create-process#flows): أي تدفق تستخدم وما يحتاجه كل منها.
- [إنشاء عملية](/ar/human-plugin/api-reference/create-process): كل حقل وكل قاعدة.
- [دمج الواجهة الخلفية](/ar/human-plugin/integrations/backend): ما يجب تخزينه وكيفية التعامل مع الإخفاقات.
- [Human Token Journey](/ar/human-plugin/integrations/human-token-journey): رحلة الالتقاط.
- أدلة الالتقاط لـ [Web](/ar/human-plugin/integrations/web) و[Android](/ar/human-plugin/integrations/android) و[iOS](/ar/human-plugin/integrations/ios) و[Ionic](/ar/human-plugin/integrations/ionic) و[React Native](/ar/human-plugin/integrations/react-native) و[Flutter](/ar/human-plugin/integrations/flutter): جانب الواجهة الأمامية من الالتقاط.
- [تشغيل Human Plugin في بنيتك التحتية](/ar/human-plugin/self-hosting/overview)