Reference REST API Procurize.AI#
Programově přistupujte k vaší znalostní bázi – dokumentům, dotazníkům, RAG a reportům – pomocí vašeho API tokenu.
Platí pro: Procurize.AI API v1
Autentizace: API klíč v hlavičceX-API-Key(viz API Tokens pro správu tokenů)
Základní URL:https://api.procurize.com
Přehled#
REST API Procurize.AI poskytuje programový přístup k hlavním funkcím platformy. Umožňuje integrovat Procurize.AI s vašimi interními systémy, automatizovat správu znalostní báze a vytvářet vlastní pracovní postupy.
Podporované moduly (autentizace tokenem):
- RagArticle – správa dokumentů
- RagFaq – správa FAQ položek
- RagQuery – provádění RAG dotazů
Autentizace#
Všechny koncové body vyžadující autentizaci potřebují API token předaný v hlavičce požadavku.
| Hlavička | Hodnota |
|---|---|
X-API-Key | <VÁŠ_API_TOKEN> |
Příklad:
curl -X GET "https://api.procurize.com/v1/..." \
-H "X-API-Key: your-api-token-here"
💡 Tokeny jsou svázány s vaší organizací – není nutné v požadavku uvádět ID organizace.
Základní URL#
Všechny koncové body REST API jsou dostupné pod:
https://api.procurize.com
Zpracování chyb#
API používá standardní HTTP stavové kódy.
| Kód | Význam |
|---|---|
200 OK | Požadavek úspěšný |
201 Created | Zdroj úspěšně vytvořen |
204 No Content | Požadavek úspěšný, tělo odpovědi prázdné |
400 Bad Request | Neplatné parametry nebo špatně formovaný požadavek |
401 Unauthorized | Chybějící nebo neplatný API token |
403 Forbidden | Token nemá oprávnění pro tuto akci |
404 Not Found | Zdroj neexistuje |
500 Internal Server Error | Neočekávaná chyba serveru |
Odpovědi na chyby obsahují strojově čitelný kód chyby a lidsky čitelnou zprávu.
Reference modulů#
RagArticle#
GET /questionnaire/rag/articles/summary#
Shrnutí: Souhrn pro domovskou stránku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| proj | query | string (uuid) | Ne | ID projektu. |
Odpověď (200):
{
"active": 5
}
GET /questionnaire/rag/articles/total#
Shrnutí: Počet článků
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| q | query | string | Ne | Filtr na název nebo kód článku. |
| state | query | array | Ne | Filtr na stavy. |
| project | query | array | Ne | Filtr na projekty. |
| type | query | array | Ne | Filtr na typy dokumentů. |
Odpověď (200):
42
GET /questionnaire/rag/articles/list#
Shrnutí: Získat seznam článků
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| q | query | string | Ne | Filtr na název nebo kód článku. |
| state | query | array | Ne | Filtr na stavy. |
| project | query | array | Ne | Filtr na projekty. |
| type | query | array | Ne | Filtr na typy dokumentů. |
| s | query | string | Ne | Pole pro řazení. |
| asc | query | boolean | Ne | Vzestupné řazení. |
| ps | query | integer (int32) | Ne | Velikost stránky. |
| p | query | integer (int32) | Ne | Číslo stránky (od 1). |
Odpověď (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": "Název článku",
"description": "Popis článku",
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Název typu",
"plural": "Názvy typů",
"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#
Shrnutí: Vrátí obsah Markdownu ze souboru
Tělo požadavku (multipart/form-data):
{
"url": "https://example.com/file.pdf",
"file": "binary"
}
Odpověď (200):
"Markdown content from file"
POST /questionnaire/rag/article/create#
Shrnutí: Vytvořit článek
Tělo požadavku (multipart/form-data):
{
"code": "ART-001",
"name": "Název článku",
"description": "Popis článku",
"content": "# Obsah článku\n\nToto je obsah článku.",
"url": "https://example.com/file.pdf",
"file": "binary"
}
Odpověď (200):
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Název článku",
"description": "Popis článku",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article/check#
Shrnutí: Zkontrolovat existenci článku.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
Odpověď (200):
true
GET /questionnaire/rag/article-info#
Shrnutí: Získat informace o článku podle kódu.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
Odpověď (200):
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Název článku",
"description": "Popis článku",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article#
Shrnutí: Získat obsah článku podle kódu
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
| format | query | string | Ne | Pokud je true, vrátí HTML obsah v těle odpovědi. Jinak vrátí obsah článku ve formátu Markdown. |
| split | query | boolean | Ne | Pokud je true, vrátí obsah rozdělený podle RAG elementů. |
| css | query | boolean | Ne | Pokud je true, vrátí HTML/PDF obsah s CSS. |
Odpověď (200):
"# Název článku\n\nToto je obsah článku ve formátu Markdown."
POST /questionnaire/rag/article#
Shrnutí: Aktualizovat metadata článku
Tělo požadavku:
{
"code": "ART-001",
"name": "Aktualizovaný název článku",
"description": "Aktualizovaný popis",
"projects": [
"00000000-0000-0000-0000-000000000000"
],
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Název typu",
"plural": "Názvy typů"
}
],
"isShared": true,
"state": "Active"
}
Odpověď (200):
{}
DELETE /questionnaire/rag/article#
Shrnutí: Smazat článek
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
GET /questionnaire/rag/article/pdf#
Shrnutí: Získat článek jako PDF podle kódu
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
Odpověď (200):
(pdf binary)
GET /questionnaire/rag/article/content#
Shrnutí: Získat obsah článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
Odpověď (200):
{
"content": "# Název článku\n\nObsah zde."
}
POST /questionnaire/rag/article/content#
Shrnutí: Aktualizovat obsah článku
Tělo požadavku (multipart/form-data):
{
"code": "ART-001",
"content": "# Aktualizovaný obsah",
"file": "binary"
}
POST /questionnaire/rag/plural#
Shrnutí: Získat množný tvar podstatného jména
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| noun | query | string | Ne | Podstatné jméno, které se má množnit. |
Odpověď (200):
{
"plural": "Articles"
}
POST /questionnaire/rag/article/find-types#
Shrnutí: Analyzovat článek pomocí AI a vrátit jejich typy
Tělo požadavku (multipart/form-data):
{
"code": "ART-001",
"content": "# Obsah článku"
}
Odpověď (200):
[
{
"plural": "Types"
}
]
POST /questionnaire/rag/article/format-with-ai#
Shrnutí: Naformátovat obsah článku pomocí AI
Tělo požadavku (multipart/form-data):
{
"code": "ART-001",
"content": "# Obsah článku"
}
Odpověď (200):
{
"formattedContent": "# Formatted Article Content"
}
POST /questionnaire/rag/article/improve-on-suggestions#
Shrnutí: Vylepšit dokument na základě návrhů
Tělo požadavku (multipart/form-data):
{
"suggestions": [
{
"sectionTitle": "Úvod",
"suggestion": "Přidejte zde více detailů."
}
],
"code": "ART-001",
"content": "# Obsah článku"
}
Odpověď (200):
{
"improvedContent": "# Improved Content"
}
GET /questionnaire/rag/article/parts#
Shrnutí: Vrací seznam částí článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | query | array | Ano | Seznam částí článku. |
Odpověď (200):
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "part-1",
"title": "Úvod",
"orderNumber": 1,
"content": "Obsah úvodu."
}
]
GET /questionnaire/rag/article/revisions#
Shrnutí: Vrací seznam revizí článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
Odpověď (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}#
Shrnutí: Získat informace o revizi článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | path | string (uuid) | Ano | ID revize. |
Odpověď (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}#
Shrnutí: Získat obsah revize článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | path | string (uuid) | Ano | ID revize. |
Odpověď (200):
"# Obsah revize článku\n\nPředchozí verze."
GET /questionnaire/rag/article/analyze#
Shrnutí: Analyzovat obsah článku pomocí AI
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód článku. |
| rev | query | integer (int32) | Ne | Číslo revize. |
| force | query | boolean | Ne | Vynutit vytvoření nové analýzy a smazat předchozí neúplný výsledek, pokud existuje. |
Odpověď (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}#
Shrnutí: Získat výsledek analýzy článku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | path | string (uuid) | Ano | ID analýzy. |
Odpověď (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#
Shrnutí: Seznam všech zpráv
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | query | string (uuid) | Ano | ID RAG kolekce. |
| item | query | string (uuid) | Ne | ID RAG položky. |
| message | query | string (uuid) | Ne | ID zprávy. |
| asc | query | boolean | Ne | Vzestupné řazení. |
| ps | query | integer (int32) | Ne | Velikost stránky. |
| p | query | integer (int32) | Ne | Číslo stránky (od 1). |
Odpověď (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": "Obsah zprávy",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:30:00Z",
"replies": 0
}
]
}
POST /questionnaire/rag/messages/add#
Shrnutí: Přidat novou zprávu
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | query | string (uuid) | Ano | ID RAG kolekce. |
| item | query | string (uuid) | Ne | ID RAG položky. |
| message | query | string (uuid) | Ne | ID zprávy, na kterou odpovídáte. |
Tělo požadavku:
{
"text": "Obsah nové zprávy"
}
Odpověď (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": "Obsah nové zprávy",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:30:00Z",
"replies": 0
}
POST /questionnaire/rag/message#
Shrnutí: Aktualizovat existující zprávu
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| c | query | string (uuid) | Ano | ID RAG kolekce. |
| id | query | string (uuid) | Ano | ID zprávy. |
Tělo požadavku:
{
"text": "Aktualizovaný obsah zprávy"
}
Odpověď (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": "Aktualizovaný obsah zprávy",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:45:00Z",
"replies": 0
}
DELETE /questionnaire/rag/message#
Shrnutí: Smazat existující zprávu
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| id | query | string (uuid) | Ano | ID zprávy. |
Odpověď (200):
{}
RagFaq#
GET /questionnaire/rag/faq-collections/summary#
Shrnutí: Souhrn pro domovskou stránku
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| proj | query | string (uuid) | Ne | ID projektu. |
Odpověď (200):
{
"active": 3
}
GET /questionnaire/rag/faq-collections/total#
Shrnutí: Počet FAQ kolekcí.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| q | query | string | Ne | Filtr na název nebo kód kolekce. |
| state | query | array | Ne | Filtr na stavy. |
| project | query | array | Ne | Filtr na projekty. |
Odpověď (200):
3
GET /questionnaire/rag/faq-collections/list#
Shrnutí: Získat seznam FAQ kolekcí.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| q | query | string | Ne | Filtr na název nebo kód kolekce. |
| state | query | array | Ne | Filtr na stavy. |
| project | query | array | Ne | Filtr na projekty. |
| s | query | string | Ne | Pole pro řazení. |
| asc | query | boolean | Ne | Vzestupné řazení. |
| ps | query | integer (int32) | Ne | Velikost stránky. |
| p | query | integer (int32) | Ne | Číslo stránky (od 1). |
Odpověď (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 Kolekce",
"description": "Popis FAQ kolekce",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
]
}
GET /questionnaire/rag/faq-collections/find-items#
Shrnutí: Najít FAQ položky.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| q | query | string | Ano | Filtr na otázku. |
| project | query | string (uuid) | Ne | Filtr na projekt. |
| ps | query | integer (int32) | Ne | Velikost stránky. |
| p | query | integer (int32) | Ne | Číslo stránky (od 1). |
Odpověď (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 5,
"totalPages": 1
},
"items": [
{
"index": 0,
"question": "Co je tento produkt?",
"answer": "Toto je skvělý produkt.",
"comment": "Produkt FAQ",
"state": "Active"
}
]
}
POST /questionnaire/rag/faq-collection/create#
Shrnutí: Vytvořit novou FAQ kolekci.
Tělo požadavku (multipart/form-data):
{
"code": "FAQ-001",
"name": "FAQ Kolekce",
"description": "Popis FAQ kolekce",
"content": "Obsah zde",
"file": "binary"
}
Odpověď (200):
{
"code": "FAQ-001",
"id": "00000000-0000-0000-0000-000000000000",
"name": "FAQ Kolekce",
"description": "Popis FAQ kolekce",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
POST /questionnaire/rag/faq-collection#
Shrnutí: Aktualizovat metadata FAQ kolekce.
Tělo požadavku:
{
"code": "FAQ-001",
"name": "Aktualizovaná FAQ kolekce",
"description": "Aktualizovaný popis",
"projects": null,
"documentTypes": null,
"isShared": false,
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection#
Shrnutí: Smazat FAQ kolekci.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
GET /questionnaire/rag/faq-collection#
Shrnutí: Získat FAQ kolekci.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
Odpověď (200):
{
"code": "FAQ-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "FAQ Kolekce",
"description": "Popis FAQ kolekce",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/faq-collection/check#
Shrnutí: Zkontrolovat existenci FAQ kolekce.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
Odpověď (200):
true
GET /questionnaire/rag/faq-collection/items-total#
Shrnutí: Počet FAQ položek.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
| q | query | string | Ne | Filtr na obsah FAQ položky. |
Tělo požadavku:
["Active", "Default"]
Odpověď (200):
5
GET /questionnaire/rag/faq-collection/items#
Shrnutí: Získat seznam FAQ položek.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
| q | query | string | Ne | Filtr na obsah FAQ položky. |
| state | query | array | Ne | Filtr na stavy. |
| s | query | string | Ne | Pole pro řazení. |
| asc | query | boolean | Ne | Vzestupné řazení. |
| ps | query | integer (int32) | Ne | Velikost stránky. |
| p | query | integer (int32) | Ne | Číslo stránky (od 1). |
Odpověď (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 5,
"totalPages": 1
},
"items": [
{
"index": 0,
"question": "Co je tento produkt?",
"answer": "Toto je skvělý produkt.",
"comment": "Produkt FAQ",
"state": "Active"
}
]
}
POST /questionnaire/rag/faq-collection/item/create#
Shrnutí: Vytvořit novou FAQ položku.
Tělo požadavku:
{
"code": "FAQ-001",
"index": 0,
"question": "Co je tento produkt?",
"answer": "Toto je skvělý produkt.",
"comment": "Produkt FAQ",
"state": "Active"
}
Odpověď (200):
{
"index": 0,
"question": "Co je tento produkt?",
"answer": "Toto je skvělý produkt.",
"comment": "Produkt FAQ",
"state": "Active"
}
GET /questionnaire/rag/faq-collection/item#
Shrnutí: Získat FAQ položku.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
| index | query | integer (int32) | Ano | Nulový index položky v kolekci. |
Odpověď (200):
{
"index": 0,
"question": "Co je tento produkt?",
"answer": "Toto je skvělý produkt.",
"comment": "Produkt FAQ",
"state": "Active"
}
POST /questionnaire/rag/faq-collection/item#
Shrnutí: Aktualizovat FAQ položku.
Tělo požadavku:
{
"code": "FAQ-001",
"index": 0,
"newIndex": 1,
"question": "Aktualizovaná otázka?",
"answer": "Aktualizovaná odpověď.",
"comment": "Aktualizovaný komentář",
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection/item#
Shrnutí: Smazat FAQ položku.
Parametry:
| Název | Umístění | Typ | Povinné | Popis |
|---|---|---|---|---|
| code | query | string | Ano | Kód kolekce. |
| index | query | integer (int32) | Ano | Nulový index položky v kolekci. |
RagQuery#
POST /questionnaire/rag/query#
Shrnutí: Provedení dotazu v RAG Knowledge Base
Tělo požadavku:
{
"project": "00000000-0000-0000-0000-000000000000",
"excludeCollections": [
"00000000-0000-0000-0000-000000000000"
],
"question": "Co je tento produkt?",
"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
}
Odpověď (200):
{
"attempt": 1,
"preparedQuery": {
"original": "Co je tento produkt?",
"enhanced": "Co je tento produkt a jaké má vlastnosti?"
},
"ragItems": [
{
"id": "00000000-0000-0000-0000-000000000000",
"distance": 0.25
}
],
"question": "Co je tento produkt?",
"generalInstructions": "Na základě znalostní báze je zde odpověď:",
"text": "Tento produkt je skvělé řešení pro vaše potřeby.",
"explanation": "Odpověď byla nalezena v několika zdrojích s vysokou důvěrou."
}
POST /questionnaire/rag/query-stream#
Shrnutí: Provedení dotazu v RAG Knowledge Base (stream)
Tělo požadavku:
{
"project": "00000000-0000-0000-0000-000000000000",
"excludeCollections": [
"00000000-0000-0000-0000-000000000000"
],
"question": "Co je tento produkt?",
"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
}
Odpověď (200):
[
{
"text": "Tento produkt je skvělé řešení",
"fragments": [
{
"id": "00000000-0000-0000-0000-000000000000",
"part": 1,
"distance": 0.25,
"type": "Article",
"code": "ART-001",
"title": "Název produktu",
"fragment": "Fragment obsahu produktu"
}
]
},
{
"text": " pro vaše potřeby.",
"fragments": []
}
]
POST /questionnaire/rag/query-fragments#
Shrnutí: Provedení dotazu v RAG Knowledge Base (fragmenty)
Tělo požadavku:
{
"project": "00000000-0000-0000-0000-000000000000",
"exclude_documents": [
"00000000-0000-0000-0000-000000000000"
],
"query": "Co je tento produkt?",
"top_k": 5,
"similarity_threshold": 0.5,
"prepare_query": true
}
Odpověď (200):
{
"results": [
{
"document_id": "00000000-0000-0000-0000-000000000000",
"document_code": "ART-001",
"document_title": "Název produktu",
"revision": 3,
"chunk_index": 0,
"content": "Fragment obsahu produktu",
"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
}
]
}
Související články#
- API Tokens – Generování a správa – jak vytvořit a spravovat tokeny
- Ask AI with your knowledge base – používání RAG dotazů
