> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# واجهة صورة التوقيع: تنزيل التوقيع المعتمد بصيغة PNG

> نزّل التوقيع أو الأحرف الأولى التي وقّعها الموقّع في حقل من مستند التوقيع الإلكتروني بصيغة PNG عبر Didit.

تُعيد الصورة بصيغة PNG التوقيع أو الأحرف الأولى التي وضعها الموقّع على أحد الحقول. المسار موجود في `image_url` الخاص بالحقل ضمن `signatures[].documents[].fields[]`، لذا لا حاجة لإنشائه بنفسك. يتطلب هذا المسار الصلاحية `read:sessions`.

```bash theme={null}
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/fields/{field_id}/image/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -o signature.png
```

التوقيع المرسوم هو الصورة التي رسمها الموقّع، وهي الصورة نفسها المختومة في ملف PDF الموقّع. أما التوقيع المكتوب فهو اسم الموقّع المُتحقَّق منه بنمط الخط الذي اختاره، ويحمله ملف PDF الموقّع كنص بالنمط نفسه. لإثبات التوقيع نفسه، استخدم [المستند الموقّع](https://docs.didit.me/ar/sessions-api/electronic-signature/download-signed-document.md) و[الأدلة](https://docs.didit.me/ar/sessions-api/electronic-signature/download-evidence.md).

يُعيد الحقل الذي لا يخص الموقّع، أو الذي لا يحتوي على توقيع أو أحرف أولى مُطبّقة، الاستجابة `404` مع `signature_field_not_found`. أما الصورة المخزّنة التي لم تعد تطابق قيمة SHA-256 المسجّلة لها فتُعيد `400` مع `signature_document_changed`. بعد أن [تحذف الجلسة](https://docs.didit.me/ar/sessions-api/delete-session.md)، يُعيد المسار `404`.

## ذات صلة

* [الحقول في المستند](https://docs.didit.me/ar/core-technology/electronic-signature/overview.md#الحقول-على-المستند)
* [تقرير التوقيع الإلكتروني](https://docs.didit.me/ar/core-technology/electronic-signature/report-electronic-signature.md#الحقول)


## OpenAPI

````yaml ar/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API التحقق من الهوية. قم بالمصادقة باستخدام الرأس x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/:
    get:
      tags:
        - Sessions
      summary: تنزيل صورة التوقيع
      description: >-
        تنزيل التوقيع أو الأحرف الأولى التي وضعها الموقِّع على حقل ما، بصيغة
        PNG. استخدم `image_url` للحقل في `signatures[].documents[].fields[]`.
        يتطلب `read:sessions`؛ ومفتاح API الخاص بك يعمل.
      operationId: get_v3_session_signature_field_image
      parameters:
        - name: sessionId
          in: path
          required: true
          description: جلسة التحقق من المستخدمين (KYC) أو التحقق من الشركات (KYB).
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: nodeId
          in: path
          required: true
          description: 'خطوة التوقيع الإلكتروني: `node_id` الخاص بالعنصر في `signatures[]`.'
          schema:
            type: string
            example: feature_signature
        - name: fieldId
          in: path
          required: true
          description: >-
            الحقل الموجود في نسخة هذا الموقّع، كما هو في `image_url` الخاص
            بالحقل.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: الصورة.
          content:
            image/png:
              schema:
                type: string
                format: binary
        '400':
          description: الصورة المخزنة لم تعد تطابق تجزئة SHA-256 المسجلة لها.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                code: signature_document_changed
                detail: signature_document_changed
        '403':
          description: >-
            بيانات اعتماد مفقودة، أو بيانات اعتماد لا يمكنها قراءة هذه الجلسة.
            يؤدي المفتاح المفقود إلى إرجاع `403`؛ بينما يؤدي المفتاح الخاطئ أو
            الملغى أو منتهي الصلاحية إلى إرجاع `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: You do not have permission to perform this action.
        '404':
          description: >-
            لا توجد صورة مطابقة: الجلسة أو الخطوة أو الحقل غير موجود، أو تم
            حذفه، أو لا يحتوي على توقيع أو أحرف أولى مطبقة.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Unknown field:
                  summary: لا يوجد حقل كهذا
                  value:
                    code: signature_field_not_found
                    detail: signature_field_not_found
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            content = client.sessions.signatures.download_field_image(
                "11111111-2222-3333-4444-555555555555",
                "feature_signature",
                "11111111-2222-3333-4444-555555555555",
            )
            with open("download.png", "wb") as file:
                file.write(content)
        - lang: javascript
          label: Node.js
          source: >-
            import { writeFile } from "node:fs/promises";

            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            const content = await didit.sessions.signatures.downloadFieldImage(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              "11111111-2222-3333-4444-555555555555",
            );

            await writeFile("download.png", Buffer.from(await
            content.arrayBuffer()));
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresp, err := client.Sessions.Signatures.DownloadFieldImage(ctx, \"11111111-2222-3333-4444-555555555555\", \"feature_signature\", \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\ndefer resp.Body.Close()\nfile, err := os.Create(\"download.png\")\nif err != nil {\n\tlog.Fatal(err)\n}\ndefer file.Close()\nif _, err := io.Copy(file, resp.Body); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: >-
            import java.nio.file.Path;

            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            client.sessions().signatures().downloadFieldImage("11111111-2222-3333-4444-555555555555",
            "feature_signature", "11111111-2222-3333-4444-555555555555")
                    .writeTo(Path.of("download.png"));
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $content =
            $didit->sessions->signatures->downloadFieldImage('11111111-2222-3333-4444-555555555555',
            'feature_signature', '11111111-2222-3333-4444-555555555555');

            $content->saveTo('download.png');
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            content = didit.sessions.signatures.download_field_image(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              "11111111-2222-3333-4444-555555555555"
            )
            File.binwrite("download.png", content)
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var content = await
            client.Sessions.Signatures.DownloadFieldImageAsync("11111111-2222-3333-4444-555555555555",
            "feature_signature", "11111111-2222-3333-4444-555555555555");

            await content.SaveToAsync("download.png");
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.