> ## 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.

# تصدير ملفات الجلسة: الحالة ورابط التنزيل عبر API

> في Didit، اقرأ حالة تصدير ملفات الجلسة واحصل على رابط تنزيل موقّع لملف ZIP فور جاهزيته (GET /v3/session/{id}/files-export/{export_id}/).

اقرأ تصديرًا بدأته باستخدام [تصدير الملفات](https://docs.didit.me/ar/sessions-api/export-files.md).

* `PENDING` و`PROCESSING`: يجري إعداد ملف ZIP. اقرأ التصدير مرة أخرى بعد بضع ثوانٍ.
* `READY`: `download_url` رابط موقّع إلى ملف ZIP يبقى صالحًا لمدة قصيرة. اقرأ التصدير مرة أخرى للحصول على رابط جديد حتى `expires_at`.
* `FAILED`: تعذّر إعداد ملف ZIP. ابدأ تصديرًا جديدًا.
* `EXPIRED`: تم حذف ملف ZIP. ابدأ تصديرًا جديدًا.

يُسجَّل كل استعلام يُرجع رابط تنزيل في سجل تدقيق الجلسة. يُرجع تصدير جلسة محذوفة الرمز `404`.


## OpenAPI

````yaml ar/openapi-25.json GET /v3/session/{sessionId}/files-export/{exportId}/
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}/files-export/{exportId}/:
    get:
      tags:
        - Sessions
      summary: الحصول على تصدير ملفات الجلسة
      description: >-
        تقدم عملية التصدير التي بدأت باستخدام `POST
        /v3/session/{sessionId}/files-export/`. بمجرد أن تصبح `status` هي
        `READY`، يكون `download_url` عبارة عن عنوان URL موقّع لملف ZIP يظل
        صالحاً لفترة قصيرة؛ اقرأ عملية التصدير مرة أخرى للحصول على رابط جديد حتى
        `expires_at`. تُسجَّل كل عملية قراءة تمنح رابط تنزيل في سجل التدقيق
        الخاص بالجلسة. وتصدير جلسة محذوفة يعيد `404`.
      operationId: get_v3_session_files_export
      parameters:
        - name: sessionId
          in: path
          required: true
          description: >-
            معرّف UUID لجلسة التحقق (`session_id` الذي تم إرجاعه بواسطة `POST
            /v3/session/`). يقبل معرّفات جلسات التحقق من المستخدمين (KYC)
            والتحقق من الشركات (KYB). تُرجع الجلسة المحذوفة `404`.
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: exportId
          in: path
          required: true
          description: >-
            معرّف `export_id` الذي تم إرجاعه بواسطة `POST
            /v3/session/{sessionId}/files-export/`.
          schema:
            type: string
            format: uuid
            example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
      responses:
        '200':
          description: التصدير.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionFilesExport'
              example:
                export_id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                session_id: 11111111-2222-3333-4444-555555555555
                status: READY
                file_count: 9
                size_bytes: 18734120
                download_url: >-
                  https://storage.example.com/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/session-42-files.zip?X-Amz-Signature=...
                expires_at: '2026-10-30T12:00:41Z'
                error: null
                created_at: '2026-10-29T12:00:03Z'
                completed_at: '2026-10-29T12:00:41Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.get_files_export(
                "11111111-2222-3333-4444-555555555555",
                "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.sessions.getFilesExport(
              "11111111-2222-3333-4444-555555555555",
              "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
            );
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.GetFilesExport(ctx, \"11111111-2222-3333-4444-555555555555\", \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().getFilesExport("11111111-2222-3333-4444-555555555555",
            "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");

            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->sessions->getFilesExport('11111111-2222-3333-4444-555555555555',
            'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.sessions.get_files_export(
              "11111111-2222-3333-4444-555555555555",
              "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.Sessions.GetFilesExportAsync("11111111-2222-3333-4444-555555555555",
            "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SessionFilesExport:
      type: object
      description: ملف ZIP واحد يحتوي على كل ملفات الجلسة، بالجودة الأصلية.
      required:
        - export_id
        - session_id
        - status
        - file_count
        - size_bytes
        - download_url
        - expires_at
        - error
        - created_at
        - completed_at
      properties:
        export_id:
          type: string
          format: uuid
          description: >-
            معرّف التصدير. مرره إلى `GET
            /v3/session/{sessionId}/files-export/{exportId}/`.
        session_id:
          type: string
          format: uuid
          description: الجلسة التي تنتمي إليها الملفات.
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - READY
            - FAILED
            - EXPIRED
          description: >-
            `PENDING` و`PROCESSING` أثناء إعداد ملف ZIP، و`READY` بمجرد أن يصبح
            قابلاً للتنزيل، و`FAILED` عندما يتعذر إعداده (اطلب عملية تصدير
            جديدة)، و`EXPIRED` بمجرد حذف ملف ZIP.
        file_count:
          type: integer
          nullable: true
          description: >-
            الملفات الموجودة في ملف ZIP. تُعيّن فقط عندما تكون `status` هي
            `READY`.
        size_bytes:
          type: integer
          format: int64
          nullable: true
          description: حجم ملف ZIP بالبايت. يُعيَّن فقط عندما تكون `status` هي `READY`.
        download_url:
          type: string
          format: uri
          nullable: true
          description: >-
            رابط URL موقّع لملف ZIP، صالح لفترة قصيرة. يُعيَّن فقط عندما تكون
            `status` هي `READY`؛ اقرأ التصدير مجدداً للحصول على رابط جديد.
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            وقت حذف ملف ZIP، بعد 24 ساعة من جاهزيته. لا يُعيَّن إلا عندما تكون
            `status` هي `READY`.
        error:
          type: string
          nullable: true
          description: سبب فشل التصدير، عندما تكون قيمة `status` هي `FAILED`.
        created_at:
          type: string
          format: date-time
          description: وقت طلب التصدير.
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: وقت جاهزية ملف ZIP أو فشل التصدير.
  responses:
    Unauthorized:
      description: غير مصرح به
      content:
        application/json:
          examples:
            Invalid API Key:
              summary: مفتاح API غير صالح
              value:
                detail: Invalid API Key.
    Forbidden:
      description: محظور
      content:
        application/json:
          examples:
            No Permission:
              summary: لا يوجد إذن
              value:
                detail: You do not have permission to perform this action.
            Not Enough Credits:
              summary: الرصيد غير كافٍ
              value:
                error: >-
                  You don't have enough credits to perform this request. Please
                  top up at https://business.didit.me
    NotFound:
      description: غير موجود
      content:
        application/json:
          examples:
            Not Found:
              summary: غير موجود
              value:
                detail: Resource not found.
  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.