مرجع REST API Procurize.AI#
دسترسی برنامهنویسی به پایگاه دانش شما – اسناد، پرسشنامهها، RAG و گزارشها – با استفاده از توکن API شما.
قابل استفاده برای: Procurize.AI API v1
احراز هویت: کلید API از طریق سرآیندX-API-Key(برای مدیریت توکنها به API Tokens مراجعه کنید)
آدرس پایه:https://api.procurize.com
مرور کلی#
REST API سرویس Procurize.AI دسترسی برنامهنویسی به ویژگیهای کلیدی پلتفرم را فراهم میکند. این امکان را میدهد تا Procurize.AI را با سیستمهای داخلی خود یکپارچه کنید، مدیریت پایگاه دانش را خودکار کنید و گردشکارهای سفارشی بسازید.
ماژولهای پشتیبانیشده (احراز هویت با توکن):
- RagArticle – مدیریت اسناد
- RagFaq – مدیریت موارد FAQ
- RagQuery – اجرای پرسشهای RAG
احراز هویت#
تمام نقاط انتهایی که نیاز به احراز هویت دارند، توکن API را باید در سرآیند درخواست بفرستند.
| سرآیند | مقدار |
|---|---|
X-API-Key | <YOUR_API_TOKEN> |
مثال:
curl -X GET "https://api.procurize.com/v1/..." \
-H "X-API-Key: your-api-token-here"
💡 توکنها به سازمان شما وابسته هستند – نیازی به مشخص کردن شناسه سازمان در درخواست ندارید.
آدرس پایه#
تمام نقاط انتهایی REST API تحت این آدرس ارائه میشوند:
https://api.procurize.com
مدیریت خطا#
API از کدهای وضعیت استاندارد 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#
خلاصه: خلاصه برای صفحه اصلی
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| proj | query | string (uuid) | خیر | شناسه پروژه. |
پاسخ (200):
{
"active": 5
}
GET /questionnaire/rag/articles/total#
خلاصه: تعداد مقالات
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| q | query | string | خیر | فیلتر بر اساس نام یا کد مقاله. |
| state | query | array | خیر | فیلتر بر اساس وضعیتها. |
| project | query | array | خیر | فیلتر بر اساس پروژهها. |
| type | query | array | خیر | فیلتر بر اساس انواع سند. |
پاسخ (200):
42
GET /questionnaire/rag/articles/list#
خلاصه: دریافت فهرست مقالات
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| q | query | string | خیر | فیلتر بر اساس نام یا کد مقاله. |
| state | query | array | خیر | فیلتر بر اساس وضعیتها. |
| project | query | array | خیر | فیلتر بر اساس پروژهها. |
| type | query | array | خیر | فیلتر بر اساس انواع سند. |
| s | query | string | خیر | فیلد مرتبسازی. |
| asc | query | boolean | خیر | مرتبسازی صعودی. |
| ps | query | integer (int32) | خیر | اندازه صفحه. |
| p | query | integer (int32) | خیر | شماره صفحه (از ۱). |
پاسخ (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": "Article Title",
"description": "Article description",
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Type Name",
"plural": "Type Names",
"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": "Article Title",
"description": "Article description",
"content": "# Article Content\n\nThis is the article content.",
"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": "Article Title",
"description": "Article description",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article/check#
خلاصه: بررسی وجود مقاله.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
پاسخ (200):
true
GET /questionnaire/rag/article-info#
خلاصه: دریافت اطلاعات مقاله بر اساس کد.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
پاسخ (200):
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Article Title",
"description": "Article description",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article#
خلاصه: دریافت محتوای مقاله بر اساس کد
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
| format | query | string | خیر | اگر true باشد، محتوای HTML در بدنه پاسخ برگردانده میشود؛ در غیر این صورت محتوا به صورت Markdown برگردانده میشود. |
| split | query | boolean | خیر | اگر true باشد، محتوا بهصورت جداگانه بر اساس عناصر RAG برگردانده میشود. |
| css | query | boolean | خیر | اگر true باشد، محتوا با CSS برگردانده میشود. |
پاسخ (200):
"# Article Title\n\nThis is the article content in Markdown format."
POST /questionnaire/rag/article#
خلاصه: بهروزرسانی متادیتای مقاله
بدنه درخواست:
{
"code": "ART-001",
"name": "Updated Article Title",
"description": "Updated description",
"projects": [
"00000000-0000-0000-0000-000000000000"
],
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Type Name",
"plural": "Type Names"
}
],
"isShared": true,
"state": "Active"
}
پاسخ (200):
{}
DELETE /questionnaire/rag/article#
خلاصه: حذف مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
GET /questionnaire/rag/article/pdf#
خلاصه: دریافت مقاله به صورت PDF بر اساس کد
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
پاسخ (200):
(pdf binary)
GET /questionnaire/rag/article/content#
خلاصه: دریافت محتوای مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
پاسخ (200):
{
"content": "# Article Title\n\nContent here."
}
POST /questionnaire/rag/article/content#
خلاصه: بهروزرسانی محتوای مقاله
بدنه درخواست (multipart/form-data):
{
"code": "ART-001",
"content": "# Updated Content",
"file": "binary"
}
POST /questionnaire/rag/plural#
خلاصه: دریافت فرم جمع اسم
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| noun | query | string | خیر | اسم برای جمع کردن. |
پاسخ (200):
{
"plural": "Articles"
}
POST /questionnaire/rag/article/find-types#
خلاصه: تحلیل مقاله با هوش مصنوعی و بازگرداندن انواع آن
بدنه درخواست (multipart/form-data):
{
"code": "ART-001",
"content": "# Article Content"
}
پاسخ (200):
[
{
"plural": "Types"
}
]
POST /questionnaire/rag/article/format-with-ai#
خلاصه: قالببندی محتوای مقاله با هوش مصنوعی
بدنه درخواست (multipart/form-data):
{
"code": "ART-001",
"content": "# Article 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": "# Article Content"
}
پاسخ (200):
{
"improvedContent": "# Improved Content"
}
GET /questionnaire/rag/article/parts#
خلاصه: بازگرداندن فهرست بخشهای مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | query | array | بله | فهرست بخشهای مقاله. |
پاسخ (200):
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "part-1",
"title": "Introduction",
"orderNumber": 1,
"content": "Introduction content."
}
]
GET /questionnaire/rag/article/revisions#
خلاصه: بازگرداندن فهرست نسخههای مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
پاسخ (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}#
خلاصه: دریافت اطلاعات نسخه مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | path | string (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}#
خلاصه: دریافت محتوای نسخه مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | path | string (uuid) | بله | شناسه نسخه. |
پاسخ (200):
"# Article Revision Content\n\nPrevious version."
GET /questionnaire/rag/article/analyze#
خلاصه: تحلیل محتوای مقاله با هوش مصنوعی
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مقاله. |
| rev | query | integer (int32) | خیر | شماره نسخه. |
| force | query | boolean | خیر | اگر true باشد، تجزیه و تحلیل جدید ایجاد میشود و نتایج ناقص قبلی حذف میشوند. |
پاسخ (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}#
خلاصه: دریافت نتیجه تحلیل مقاله
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | path | string (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#
خلاصه: فهرست تمام پیامها
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | query | string (uuid) | بله | شناسه مجموعه RAG. |
| item | query | string (uuid) | خیر | شناسه آیتم RAG. |
| message | query | string (uuid) | خیر | شناسه پیام. |
| asc | query | boolean | خیر | مرتبسازی صعودی. |
| ps | query | integer (int32) | خیر | اندازه صفحه. |
| p | query | integer (int32) | خیر | شماره صفحه (از ۱). |
پاسخ (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#
خلاصه: افزودن پیام جدید
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | query | string (uuid) | بله | شناسه مجموعه RAG. |
| item | query | string (uuid) | خیر | شناسه آیتم RAG. |
| message | query | string (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#
خلاصه: بهروزرسانی پیام موجود
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| c | query | string (uuid) | بله | شناسه مجموعه RAG. |
| id | query | string (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#
خلاصه: حذف پیام موجود
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| id | query | string (uuid) | بله | شناسه پیام. |
پاسخ (200):
{}
RagFaq#
GET /questionnaire/rag/faq-collections/summary#
خلاصه: خلاصه برای صفحه اصلی
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| proj | query | string (uuid) | خیر | شناسه پروژه. |
پاسخ (200):
{
"active": 3
}
GET /questionnaire/rag/faq-collections/total#
خلاصه: تعداد مجموعههای FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| q | query | string | خیر | فیلتر بر اساس نام یا کد مجموعه. |
| state | query | array | خیر | فیلتر بر اساس وضعیتها. |
| project | query | array | خیر | فیلتر بر اساس پروژهها. |
پاسخ (200):
3
GET /questionnaire/rag/faq-collections/list#
خلاصه: دریافت فهرست مجموعههای FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| q | query | string | خیر | فیلتر بر اساس نام یا کد مجموعه. |
| state | query | array | خیر | فیلتر بر اساس وضعیتها. |
| project | query | array | خیر | فیلتر بر اساس پروژهها. |
| s | query | string | خیر | فیلد مرتبسازی. |
| asc | query | boolean | خیر | مرتبسازی صعودی. |
| ps | query | integer (int32) | خیر | اندازه صفحه. |
| p | query | integer (int32) | خیر | شماره صفحه (از ۱). |
پاسخ (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#
خلاصه: یافتن آیتمهای FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| q | query | string | بله | فیلتر بر اساس سؤال. |
| project | query | string (uuid) | خیر | فیلتر بر اساس پروژه. |
| ps | query | integer (int32) | خیر | اندازه صفحه. |
| p | query | integer (int32) | خیر | شماره صفحه (از ۱). |
پاسخ (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#
خلاصه: ایجاد مجموعه جدید FAQ.
بدنه درخواست (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#
خلاصه: بهروزرسانی متادیتای مجموعه FAQ.
بدنه درخواست:
{
"code": "FAQ-001",
"name": "Updated FAQ Collection",
"description": "Updated description",
"projects": null,
"documentTypes": null,
"isShared": false,
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection#
خلاصه: حذف مجموعه FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
GET /questionnaire/rag/faq-collection#
خلاصه: دریافت مجموعه FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
پاسخ (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#
خلاصه: بررسی وجود مجموعه FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
پاسخ (200):
true
GET /questionnaire/rag/faq-collection/items-total#
خلاصه: تعداد آیتمهای FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
| q | query | string | خیر | فیلتر بر اساس محتوای آیتم FAQ. |
بدنه درخواست:
["Active", "Default"]
پاسخ (200):
5
GET /questionnaire/rag/faq-collection/items#
خلاصه: دریافت فهرست آیتمهای FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
| q | query | string | خیر | فیلتر بر اساس محتوای آیتم FAQ. |
| state | query | array | خیر | فیلتر بر اساس وضعیتها. |
| s | query | string | خیر | فیلد مرتبسازی. |
| asc | query | boolean | خیر | مرتبسازی صعودی. |
| ps | query | integer (int32) | خیر | اندازه صفحه. |
| p | query | integer (int32) | خیر | شماره صفحه (از ۱). |
پاسخ (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#
خلاصه: ایجاد آیتم جدید FAQ.
بدنه درخواست:
{
"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#
خلاصه: دریافت آیتم FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
| index | query | integer (int32) | بله | اندیس صفر‑پایه آیتم FAQ در مجموعه. |
پاسخ (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#
خلاصه: بهروزرسانی آیتم FAQ.
بدنه درخواست:
{
"code": "FAQ-001",
"index": 0,
"newIndex": 1,
"question": "Updated question?",
"answer": "Updated answer.",
"comment": "Updated comment",
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection/item#
خلاصه: حذف آیتم FAQ.
پارامترها:
| نام | در | نوع | اجباری | توضیح |
|---|---|---|---|---|
| code | query | string | بله | کد مجموعه. |
| index | query | integer (int32) | بله | اندیس صفر‑پایه آیتم FAQ در مجموعه. |
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
}
]
}
مقالات مرتبط#
- API Tokens – Generation & Management – نحوه ایجاد و مدیریت توکنها
- Ask AI with your knowledge base – استفاده از پرسشهای RAG
