---
sitemap:
  changefreq: yearly
  priority: 0.5
type: docs
group: "التكاملات"
g_num: 6
o_num: 1
title: "مرجع واجهة برمجة التطبيقات REST – وثائق مطوري Procurize.AI"
description: "مرجع كامل لواجهة برمجة التطبيقات REST لـ Procurize.AI. تعلّم كيفية الوصول برمجيًا إلى المستندات، الاستبيانات، RAG، والتقارير باستخدام رموز API. يتضمن المصادقة، نقاط النهاية، وأمثلة."
breadcrumb: "مرجع واجهة برمجة التطبيقات REST"
index_title: "مرجع واجهة برمجة التطبيقات REST"
brief: "مرجع كامل لواجهة برمجة التطبيقات REST لـ Procurize.AI. وصول برمجي إلى المستندات، الاستبيانات، RAG، الملفات، والتقارير باستخدام رمز API الخاص بك. يتضمن المصادقة، جميع الوحدات المدعومة، وأمثلة على الطلب/الاستجابة."
---
# مرجع واجهة برمجة التطبيقات REST لـ Procurize.AI

**الوصول برمجيًا إلى قاعدة معرفتك – المستندات، الاستبيانات، RAG، والتقارير – باستخدام رمز API الخاص بك.**

> **ينطبق على:** واجهة Procurize.AI API الإصدار 1  
> **المصادقة:** مفتاح API عبر رأس `X-API-Key` (انظر [رموز API](/api-tokens/) لإدارة الرموز)  
> **عنوان URL الأساسي:** `https://api.procurize.com`

## نظرة عامة

توفر واجهة REST API الخاصة بـ Procurize.AI وصولًا برمجيًا إلى ميزات المنصة الأساسية. تمكّنك من دمج Procurize.AI مع أنظمتك الداخلية، أتمتة إدارة قاعدة المعرفة، وبناء تدفقات عمل مخصصة.

**الوحدات المدعومة (مع المصادقة عبر الرمز):**

- [**RagArticle**](#ragarticle) – إدارة المستندات  
- [**RagFaq**](#ragfaq) – إدارة مدخلات الأسئلة المتكررة  
- [**RagQuery**](#ragquery) – تنفيذ استعلامات RAG  

## المصادقة

جميع نقاط النهاية التي تتطلب مصادقة تحتاج إلى رمز API يُمرَّر في رأس الطلب.

| الرأس | القيمة |
|-------|--------|
| `X-API-Key` | `<YOUR_API_TOKEN>` |

**مثال:**
```bash
curl -X GET "https://api.procurize.com/v1/..." \
  -H "X-API-Key: your-api-token-here"

💡 الرموز مرتبطة بمنظمتك – لا تحتاج إلى تحديد معرف المنظمة في الطلب.

عنوان URL الأساسي#

جميع نقاط نهاية REST API تُقدَّم تحت:

https://api.procurize.com

معالجة الأخطاء#

تستخدم الواجهة رموز حالة HTTP القياسية.

الرمزالمعنى
200 OKتمّ تنفيذ الطلب بنجاح
201 Createdتم إنشاء المورد بنجاح
204 No Contentتمّ تنفيذ الطلب بنجاح، لا يوجد جسم استجابة
400 Bad Requestمعلمات غير صالحة أو طلب غير مُنسَّق
401 Unauthorizedرمز API مفقود أو غير صالح
403 Forbiddenالرمز لا يملك صلاحية لهذا الإجراء
404 Not Foundالمورد غير موجود
500 Internal Server Errorخطأ غير متوقع في الخادم

تتضمن استجابات الأخطاء رمز خطأ قابل للقراءة آليًا ورسالة قابلة للقراءة بشريًا.

مرجع الوحدات#

RagArticle#

GET /questionnaire/rag/articles/summary#

ملخص: ملخص للصفحة الرئيسية

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
projquerystring (uuid)لامعرف المشروع.

الاستجابة (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

ملخص: عدد المقالات

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
qquerystringلاتصفية حسب اسم أو رمز المقال.
statequeryarrayلاتصفية حسب الحالات.
projectqueryarrayلاتصفية حسب المشاريع.
typequeryarrayلاتصفية حسب أنواع المستندات.

الاستجابة (200):

42

GET /questionnaire/rag/articles/list#

ملخص: الحصول على قائمة المقالات

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
qquerystringلاتصفية حسب اسم أو رمز المقال.
statequeryarrayلاتصفية حسب الحالات.
projectqueryarrayلاتصفية حسب المشاريع.
typequeryarrayلاتصفية حسب أنواع المستندات.
squerystringلاحقل الترتيب.
ascquerybooleanلاترتيب تصاعدي.
psqueryinteger (int32)لاحجم الصفحة.
pqueryinteger (int32)لارقم الصفحة (بدءًا من 1).

الاستجابة (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 42,
    "totalPages": 5
  },
  "items": [
    {
      "code": "ART-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "عنوان المقال",
      "description": "وصف المقال",
      "documentTypes": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "اسم النوع",
          "plural": "أسماء الأنواع",
          "count": 5
        }
      ],
      "size": 150,
      "revision": {
        "id": "00000000-0000-0000-0000-000000000000",
        "collectionId": "00000000-0000-0000-0000-000000000000",
        "rev": 3,
        "date": "2025-01-15T10:30:00Z",
        "author": {
          "id": "user123",
          "name": "John Doe",
          "email": "john.doe@example.com",
          "login": "johndoe",
          "ra": true
        },
        "authorName": "John Doe",
        "analysisSummary": {
          "id": "00000000-0000-0000-0000-000000000000",
          "initiator": {
            "id": "user123",
            "name": "John Doe",
            "email": "john.doe@example.com",
            "login": "johndoe",
            "ra": true
          },
          "created": "2025-01-15T10:30:00Z",
          "state": "Completed",
          "stateDate": "2025-01-15T10:35:00Z",
          "stateDetails": "Analysis completed successfully",
          "operationId": "op-12345"
        }
      },
      "type": "Article",
      "state": "Active",
      "projects": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "items": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "isShared": false
    }
  ]
}

POST /questionnaire/rag/file-to-md#

ملخص: إرجاع محتوى Markdown من الملف

جسم الطلب (multipart/form-data):

{
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

الاستجابة (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

ملخص: إنشاء مقال

جسم الطلب (multipart/form-data):

{
  "code": "ART-001",
  "name": "عنوان المقال",
  "description": "وصف المقال",
  "content": "# محتوى المقال\n\nهذا هو محتوى المقال.",
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

الاستجابة (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "عنوان المقال",
  "description": "وصف المقال",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article/check#

ملخص: التحقق من وجود المقال.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

الاستجابة (200):

true

GET /questionnaire/rag/article-info#

ملخص: الحصول على معلومات المقال حسب الرمز.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

الاستجابة (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "عنوان المقال",
  "description": "وصف المقال",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article#

ملخص: الحصول على محتوى المقال حسب الرمز

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.
formatquerystringلاإذا كان true، تُرجع المحتوى بصيغة HTML في جسم الاستجابة. وإلا تُرجع المحتوى بصيغة Markdown.
splitquerybooleanلاإذا كان true، تُرجع المحتوى مفصولًا بعناصر RAG.
cssquerybooleanلاإذا كان true، تُرجع محتوى HTML/PDF مع CSS.

الاستجابة (200):

"# عنوان المقال\n\nهذا هو محتوى المقال بصيغة Markdown."

POST /questionnaire/rag/article#

ملخص: تحديث بيانات تعريف المقال

جسم الطلب:

{
  "code": "ART-001",
  "name": "عنوان المقال المحدث",
  "description": "وصف محدث",
  "projects": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "documentTypes": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "اسم النوع",
      "plural": "أسماء الأنواع"
    }
  ],
  "isShared": true,
  "state": "Active"
}

الاستجابة (200):

{}

DELETE /questionnaire/rag/article#

ملخص: حذف مقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

GET /questionnaire/rag/article/pdf#

ملخص: الحصول على المقال بصيغة PDF حسب الرمز

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

الاستجابة (200):

(pdf binary)

GET /questionnaire/rag/article/content#

ملخص: الحصول على محتوى المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

الاستجابة (200):

{
  "content": "# عنوان المقال\n\nالمحتوى هنا."
}

POST /questionnaire/rag/article/content#

ملخص: تحديث محتوى المقال

جسم الطلب (multipart/form-data):

{
  "code": "ART-001",
  "content": "# محتوى محدث",
  "file": "binary"
}

POST /questionnaire/rag/plural#

ملخص: الحصول على صيغة الجمع للاسم

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
nounquerystringلاالاسم المطلوب جمعه.

الاستجابة (200):

{
  "plural": "Articles"
}

POST /questionnaire/rag/article/find-types#

ملخص: تحليل المقال باستخدام الذكاء الاصطناعي وإرجاع أنواعه

جسم الطلب (multipart/form-data):

{
  "code": "ART-001",
  "content": "# محتوى المقال"
}

الاستجابة (200):

[
  {
    "plural": "Types"
  }
]

POST /questionnaire/rag/article/format-with-ai#

ملخص: تنسيق محتوى المقال باستخدام الذكاء الاصطناعي

جسم الطلب (multipart/form-data):

{
  "code": "ART-001",
  "content": "# محتوى المقال"
}

الاستجابة (200):

{
  "formattedContent": "# Formatted Article Content"
}

POST /questionnaire/rag/article/improve-on-suggestions#

ملخص: تحسين المستند بناءً على الاقتراحات

جسم الطلب (multipart/form-data):

{
  "suggestions": [
    {
      "sectionTitle": "Introduction",
      "suggestion": "Add more details here."
    }
  ],
  "code": "ART-001",
  "content": "# محتوى المقال"
}

الاستجابة (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

ملخص: إرجاع قائمة أجزاء المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idqueryarrayنعمقائمة بأجزاء المقال.

الاستجابة (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "part-1",
    "title": "Introduction",
    "orderNumber": 1,
    "content": "Introduction content."
  }
]

GET /questionnaire/rag/article/revisions#

ملخص: إرجاع قائمة مراجعات المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.

الاستجابة (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "collectionId": "00000000-0000-0000-0000-000000000000",
    "rev": 1,
    "date": "2025-01-15T10:30:00Z",
    "author": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "authorName": "John Doe",
    "analysisSummary": {
      "id": "00000000-0000-0000-0000-000000000000",
      "initiator": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "created": "2025-01-15T10:30:00Z",
      "state": "Completed",
      "stateDate": "2025-01-15T10:35:00Z",
      "stateDetails": "Analysis completed",
      "operationId": "op-12345"
    }
  }
]

GET /questionnaire/rag/article/revisions/info/{id}#

ملخص: الحصول على معلومات مراجعة المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idpathstring (uuid)نعممعرف المراجعة.

الاستجابة (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "collectionId": "00000000-0000-0000-0000-000000000000",
  "rev": 1,
  "date": "2025-01-15T10:30:00Z",
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "authorName": "John Doe",
  "analysisSummary": {
    "id": "00000000-0000-0000-0000-000000000000",
    "initiator": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "created": "2025-01-15T10:30:00Z",
    "state": "Completed",
    "stateDate": "2025-01-15T10:35:00Z",
    "stateDetails": "Analysis completed",
    "operationId": "op-12345"
  }
}

GET /questionnaire/rag/article/revisions/{id}#

ملخص: الحصول على محتوى مراجعة المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idpathstring (uuid)نعممعرف المراجعة.

الاستجابة (200):

"# Article Revision Content\n\nPrevious version."

GET /questionnaire/rag/article/analyze#

ملخص: تحليل محتوى المقال باستخدام الذكاء الاصطناعي

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المقال.
revqueryinteger (int32)لارقم المراجعة.
forcequerybooleanلاإجبار إنشاء تحليل جديد وحذف نتيجة التحليل غير المكتملة إذا وجدت.

الاستجابة (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345"
}

GET /questionnaire/rag/article/analyze/{id}#

ملخص: الحصول على نتيجة تحليل المقال

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idpathstring (uuid)نعممعرف التحليل.

الاستجابة (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345",
  "fragments": [
    "fragment-1",
    "fragment-2"
  ],
  "ownInconcies": "Own inconsistencies found",
  "ragInconcies": "RAG inconsistencies found",
  "proposals": "Improvement proposals"
}

GET /questionnaire/rag/messages/list#

ملخص: سرد جميع الرسائل

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idquerystring (uuid)نعممعرف مجموعة RAG.
itemquerystring (uuid)لامعرف عنصر RAG.
messagequerystring (uuid)لامعرف الرسالة.
ascquerybooleanلاترتيب تصاعدي.
psqueryinteger (int32)لاحجم الصفحة.
pqueryinteger (int32)لارقم الصفحة (بدءًا من 1).

الاستجابة (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "replyTo": null,
      "questionnaire": null,
      "section": null,
      "question": null,
      "ragCollection": "00000000-0000-0000-0000-000000000000",
      "ragItem": "00000000-0000-0000-0000-000000000000",
      "targetId": "00000000-0000-0000-0000-000000000000",
      "targetType": "Question",
      "targetNum": 1,
      "author": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "text": "Message content",
      "created": "2025-01-15T10:30:00Z",
      "updated": "2025-01-15T10:30:00Z",
      "replies": 0
    }
  ]
}

POST /questionnaire/rag/messages/add#

ملخص: إضافة رسالة جديدة

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idquerystring (uuid)نعممعرف مجموعة RAG.
itemquerystring (uuid)لامعرف عنصر RAG.
messagequerystring (uuid)لامعرف الرسالة للرد عليها.

جسم الطلب:

{
  "text": "New message content"
}

الاستجابة (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "New message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:30:00Z",
  "replies": 0
}

POST /questionnaire/rag/message#

ملخص: تحديث رسالة موجودة

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
cquerystring (uuid)نعممعرف مجموعة RAG.
idquerystring (uuid)نعممعرف الرسالة.

جسم الطلب:

{
  "text": "Updated message content"
}

الاستجابة (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "Updated message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:45:00Z",
  "replies": 0
}

DELETE /questionnaire/rag/message#

ملخص: حذف رسالة موجودة

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
idquerystring (uuid)نعممعرف الرسالة.

الاستجابة (200):

{}

RagFaq#

GET /questionnaire/rag/faq-collections/summary#

ملخص: ملخص للصفحة الرئيسية

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
projquerystring (uuid)لامعرف المشروع.

الاستجابة (200):

{
  "active": 3
}

GET /questionnaire/rag/faq-collections/total#

ملخص: عدد مجموعات الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
qquerystringلاتصفية حسب اسم أو رمز المجموعة.
statequeryarrayلاتصفية حسب الحالات.
projectqueryarrayلاتصفية حسب المشاريع.

الاستجابة (200):

3

GET /questionnaire/rag/faq-collections/list#

ملخص: الحصول على قائمة مجموعات الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
qquerystringلاتصفية حسب اسم أو رمز المجموعة.
statequeryarrayلاتصفية حسب الحالات.
projectqueryarrayلاتصفية حسب المشاريع.
squerystringلاحقل الترتيب.
ascquerybooleanلاترتيب تصاعدي.
psqueryinteger (int32)لاحجم الصفحة.
pqueryinteger (int32)لارقم الصفحة (بدءًا من 1).

الاستجابة (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 3,
    "totalPages": 1
  },
  "items": [
    {
      "code": "FAQ-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "FAQ Collection",
      "description": "FAQ collection description",
      "documentTypes": null,
      "size": 5,
      "revision": null,
      "type": "Faq",
      "state": "Active",
      "projects": null,
      "items": null,
      "isShared": false
    }
  ]
}

GET /questionnaire/rag/faq-collections/find-items#

ملخص: العثور على عناصر الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
qquerystringنعمتصفية حسب السؤال.
projectquerystring (uuid)لاتصفية حسب المشروع.
psqueryinteger (int32)لاحجم الصفحة.
pqueryinteger (int32)لارقم الصفحة (بدءًا من 1).

الاستجابة (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/create#

ملخص: إنشاء مجموعة أسئلة متكررة جديدة.

جسم الطلب (multipart/form-data):

{
  "code": "FAQ-001",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "content": "Content here",
  "file": "binary"
}

الاستجابة (200):

{
  "code": "FAQ-001",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

POST /questionnaire/rag/faq-collection#

ملخص: تحديث بيانات تعريف مجموعة الأسئلة المتكررة.

جسم الطلب:

{
  "code": "FAQ-001",
  "name": "Updated FAQ Collection",
  "description": "Updated description",
  "projects": null,
  "documentTypes": null,
  "isShared": false,
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection#

ملخص: حذف مجموعة الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.

GET /questionnaire/rag/faq-collection#

ملخص: الحصول على مجموعة الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.

الاستجابة (200):

{
  "code": "FAQ-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/faq-collection/check#

ملخص: التحقق من وجود مجموعة الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.

الاستجابة (200):

true

GET /questionnaire/rag/faq-collection/items-total#

ملخص: عدد عناصر الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.
qquerystringلاتصفية حسب محتوى العنصر.

جسم الطلب:

["Active", "Default"]

الاستجابة (200):

5

GET /questionnaire/rag/faq-collection/items#

ملخص: الحصول على قائمة عناصر الأسئلة المتكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.
qquerystringلاتصفية حسب محتوى العنصر.
statequeryarrayلاتصفية حسب الحالات.
squerystringلاحقل الترتيب.
ascquerybooleanلاترتيب تصاعدي.
psqueryinteger (int32)لاحجم الصفحة.
pqueryinteger (int32)لارقم الصفحة (بدءًا من 1).

الاستجابة (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/item/create#

ملخص: إنشاء عنصر أسئلة متكررة جديد.

جسم الطلب:

{
  "code": "FAQ-001",
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

الاستجابة (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

GET /questionnaire/rag/faq-collection/item#

ملخص: الحصول على عنصر أسئلة متكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.
indexqueryinteger (int32)نعمالفهرس الصفري للعنصر داخل المجموعة.

الاستجابة (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

POST /questionnaire/rag/faq-collection/item#

ملخص: تحديث عنصر أسئلة متكررة.

جسم الطلب:

{
  "code": "FAQ-001",
  "index": 0,
  "newIndex": 1,
  "question": "Updated question?",
  "answer": "Updated answer.",
  "comment": "Updated comment",
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection/item#

ملخص: حذف عنصر أسئلة متكررة.

المعلمات:

الاسمالموقعالنوعإلزاميالوصف
codequerystringنعمرمز المجموعة.
indexqueryinteger (int32)نعمالفهرس الصفري للعنصر داخل المجموعة.

RagQuery#

POST /questionnaire/rag/query#

ملخص: تنفيذ استعلام في قاعدة المعرفة RAG

جسم الطلب:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

الاستجابة (200):

{
  "attempt": 1,
  "preparedQuery": {
    "original": "What is this product?",
    "enhanced": "What is this product and its features?"
  },
  "ragItems": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "distance": 0.25
    }
  ],
  "question": "What is this product?",
  "generalInstructions": "Based on the knowledge base, here is the answer:",
  "text": "This product is a great solution for your needs.",
  "explanation": "The answer was found in multiple sources with high confidence."
}

POST /questionnaire/rag/query-stream#

ملخص: تنفيذ استعلام في قاعدة المعرفة RAG (تدفق)

جسم الطلب:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

الاستجابة (200):

[
  {
    "text": "This product is a great solution",
    "fragments": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "part": 1,
        "distance": 0.25,
        "type": "Article",
        "code": "ART-001",
        "title": "Product Title",
        "fragment": "Product content fragment"
      }
    ]
  },
  {
    "text": " for your needs.",
    "fragments": []
  }
]

POST /questionnaire/rag/query-fragments#

ملخص: تنفيذ استعلام في قاعدة المعرفة RAG (مقاطع)

جسم الطلب:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "exclude_documents": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "query": "What is this product?",
  "top_k": 5,
  "similarity_threshold": 0.5,
  "prepare_query": true
}

الاستجابة (200):

{
  "results": [
    {
      "document_id": "00000000-0000-0000-0000-000000000000",
      "document_code": "ART-001",
      "document_title": "Product Title",
      "revision": 3,
      "chunk_index": 0,
      "content": "Product content fragment",
      "metadata": {
        "author": "John Doe",
        "created_at": "2025-01-15T10:30:00Z",
        "last_updated_at": "2025-01-15T10:35:00Z",
        "doc_categories": [
          "Product",
          "Information"
        ]
      },
      "similarity_score": 0.85
    }
  ]
}

مقالات ذات صلة#

إلى الأعلى
اختر اللغة