Αναφορά REST API του Procurize.AI#
Πρόσβαση προγραμματιστικά στη βάση γνώσεων – έγγραφα, ερωτηματολόγια, RAG και αναφορές – χρησιμοποιώντας το διακριτικό API σας.
Ισχύει για: Procurize.AI API v1
Αυθεντικοποίηση: Κλειδί API μέσω κεφαλίδαςX-API-Key(δείτε API Tokens για διαχείριση διακριτικών)
Βασική URL:https://api.procurize.com
Επισκόπηση#
Το REST API του Procurize.AI παρέχει προγραμματιστική πρόσβαση σε βασικές λειτουργίες της πλατφόρμας. Σας επιτρέπει να ενσωματώσετε το Procurize.AI με τα εσωτερικά σας συστήματα, να αυτοματοποιήσετε τη διαχείριση της βάσης γνώσεων και να δημιουργήσετε προσαρμοσμένες ροές εργασίας.
Υποστηριζόμενες μονάδες (εξουσιοδοτημένες με token):
- RagArticle – διαχείριση εγγράφων
- RagFaq – διαχείριση εγγραφών FAQ
- RagQuery – εκτέλεση ερωτημάτων RAG
Αυθεντικοποίηση#
Όλα τα αυθεντικοποιημένα endpoints απαιτούν ένα διακριτικό API που περνάται στην κεφαλίδα του αιτήματος.
| Κεφαλίδα | Τιμή |
|---|---|
X-API-Key | <YOUR_API_TOKEN> |
Παράδειγμα:
curl -X GET "https://api.procurize.com/v1/..." \
-H "X-API-Key: your-api-token-here"
💡 Τα διακριτικά συνδέονται με τον οργανισμό σας – δεν χρειάζεται να καθορίσετε ID οργανισμού στο αίτημα.
Βασική URL#
Όλα τα endpoints του 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) | Όχι | ID έργου. |
Απάντηση (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) | Όχι | Αριθμός σελίδας (από 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#
Περίληψη: Έλεγχος ύπαρξης άρθρου.
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| 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": "Τίτλος Άρθρου",
"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, επιστρέφει το 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#
Περίληψη: Διαγραφή άρθρου
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| 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": "# Τίτλος Άρθρου\n\nΠεριεχόμενο εδώ."
}
POST /questionnaire/rag/article/content#
Περίληψη: Ενημέρωση περιεχομένου άρθρου
Σώμα Αιτήματος (multipart/form-data):
{
"code": "ART-001",
"content": "# Ενημερωμένο Περιεχόμενο",
"file": "binary"
}
POST /questionnaire/rag/plural#
Περίληψη: Λήψη πληθυντικού του ουσιαστικού
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| noun | query | string | Όχι | Ουσιαστικό για πληθυντικό. |
Απάντηση (200):
{
"plural": "Articles"
}
POST /questionnaire/rag/article/find-types#
Περίληψη: Ανάλυση άρθρου με AI και επιστροφή των τύπων του
Σώμα Αιτήματος (multipart/form-data):
{
"code": "ART-001",
"content": "# Περιεχόμενο Άρθρου"
}
Απάντηση (200):
[
{
"plural": "Types"
}
]
POST /questionnaire/rag/article/format-with-ai#
Περίληψη: Μορφοποίηση περιεχομένου άρθρου με 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#
Περίληψη: Επιστρέφει λίστα με τμήματα άρθρου
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| 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) | Ναι | ID έκδοσης. |
Απάντηση (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) | Ναι | ID έκδοσης. |
Απάντηση (200):
"# Article Revision Content\n\nPrevious version."
GET /questionnaire/rag/article/analyze#
Περίληψη: Ανάλυση περιεχομένου άρθρου με AI
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| code | query | string | Ναι | Κωδικός του άρθρου. |
| rev | query | integer (int32) | Όχι | Αριθμός έκδοσης. |
| force | query | boolean | Όχι | Αναγκαστική δημιουργία νέας ανάλυσης και διαγραφή τυχόν ατελούς αποτελέσματος. |
Απάντηση (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) | Ναι | ID ανάλυσης. |
Απάντηση (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) | Ναι | ID Συλλογής RAG. |
| item | query | string (uuid) | Όχι | ID Στοιχείου RAG. |
| message | query | string (uuid) | Όχι | ID Μηνύματος. |
| asc | query | boolean | Όχι | Αύξουσα ταξινόμηση. |
| ps | query | integer (int32) | Όχι | Μέγεθος σελίδας. |
| p | query | integer (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#
Περίληψη: Προσθήκη νέου μηνύματος
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| id | query | string (uuid) | Ναι | ID Συλλογής RAG. |
| item | query | string (uuid) | Όχι | ID Στοιχείου RAG. |
| message | query | string (uuid) | Όχι | ID Μηνύματος για απάντηση. |
Σώμα Αιτήματος:
{
"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) | Ναι | ID Συλλογής RAG. |
| id | query | string (uuid) | Ναι | ID Μηνύματος. |
Σώμα Αιτήματος:
{
"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) | Ναι | ID Μηνύματος. |
Απάντηση (200):
{}
RagFaq#
GET /questionnaire/rag/faq-collections/summary#
Περίληψη: Περίληψη για την αρχική σελίδα
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| proj | query | string (uuid) | Όχι | ID έργου. |
Απάντηση (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) | Όχι | Αριθμός σελίδας (από 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#
Περίληψη: Εύρεση στοιχείων FAQ.
Παράμετροι:
| Όνομα | Στο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|---|
| q | query | string | Ναι | Φίλτρο κατά ερώτηση. |
| project | query | string (uuid) | Όχι | Φίλτρο κατά έργο. |
| ps | query | integer (int32) | Όχι | Μέγεθος σελίδας. |
| p | query | integer (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#
Περίληψη: Δημιουργία νέας συλλογής 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) | Όχι | Αριθμός σελίδας (από 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#
Περίληψη: Δημιουργία νέου στοιχείου 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) | Ναι | Μηδενική θέση του στοιχείου στη συλλογή. |
Απάντηση (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) | Ναι | Μηδενική θέση του στοιχείου στη συλλογή. |
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 (stream)
Σώμα Αιτήματος:
{
"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 (fragments)
Σώμα Αιτήματος:
{
"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
