Referencja REST API Procurize.AI#

Programowy dostęp do Twojej bazy wiedzy – dokumentów, kwestionariuszy, RAG i raportów – przy użyciu tokenu API.

Dotyczy: API Procurize.AI v1
Uwierzytelnianie: klucz API w nagłówku X-API-Key (zobacz Tokeny API po zarządzanie tokenami)
Podstawowy URL: https://api.procurize.com

Przegląd#

REST API Procurize.AI zapewnia programowy dostęp do kluczowych funkcji platformy. Umożliwia integrację Procurize.AI z systemami wewnętrznymi, automatyzację zarządzania bazą wiedzy oraz budowanie własnych przepływów pracy.

Obsługiwane moduły (uwierzytelniane tokenem):

Uwierzytelnianie#

Wszystkie uwierzytelnione endpointy wymagają tokenu API przekazanego w nagłówku żądania.

NagłówekWartość
X-API-Key<TWÓJ_TOKEN_API>

Przykład:

curl -X GET "https://api.procurize.com/v1/..." \
  -H "X-API-Key: your-api-token-here"

💡 Tokeny są powiązane z Twoją organizacją – nie musisz podawać identyfikatora organizacji w żądaniu.

Podstawowy URL#

Wszystkie endpointy REST API są dostępne pod adresem:

https://api.procurize.com

Obsługa błędów#

API używa standardowych kodów statusu HTTP.

KodZnaczenie
200 OKŻądanie zakończone sukcesem
201 CreatedZasób został pomyślnie utworzony
204 No ContentŻądanie zakończone sukcesem, brak treści w odpowiedzi
400 Bad RequestNieprawidłowe parametry lub niepoprawne żądanie
401 UnauthorizedBrak lub nieprawidłowy token API
403 ForbiddenToken nie ma uprawnień do tej operacji
404 Not FoundZasób nie istnieje
500 Internal Server ErrorNieoczekiwany błąd serwera

Odpowiedzi błędów zawierają kod błędu czytelny dla maszyny oraz wiadomość przyjazną dla człowieka.

Referencja modułów#

RagArticle#

GET /questionnaire/rag/articles/summary#

Podsumowanie: Podsumowanie dla strony głównej

Parametry:

NazwaWTypWymaganeOpis
projquerystring (uuid)NieIdentyfikator projektu.

Odpowiedź (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Podsumowanie: Liczba artykułów

Parametry:

NazwaWTypWymaganeOpis
qquerystringNieFiltr po nazwie lub kodzie artykułu.
statequeryarrayNieFiltr po stanach.
projectqueryarrayNieFiltr po projektach.
typequeryarrayNieFiltr po typach dokumentów.

Odpowiedź (200):

42

GET /questionnaire/rag/articles/list#

Podsumowanie: Pobierz listę artykułów

Parametry:

NazwaWTypWymaganeOpis
qquerystringNieFiltr po nazwie lub kodzie artykułu.
statequeryarrayNieFiltr po stanach.
projectqueryarrayNieFiltr po projektach.
typequeryarrayNieFiltr po typach dokumentów.
squerystringNiePole sortowania.
ascquerybooleanNieSortowanie rosnące.
psqueryinteger (int32)NieRozmiar strony.
pqueryinteger (int32)NieNumer strony (liczony od 1).

Odpowiedź (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#

Podsumowanie: Zwraca treść Markdown z pliku

Ciało żądania (multipart/form-data):

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

Odpowiedź (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

Podsumowanie: Utwórz artykuł

Ciało żądania (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"
}

Odpowiedź (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#

Podsumowanie: Sprawdź istnienie artykułu.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

Odpowiedź (200):

true

GET /questionnaire/rag/article-info#

Podsumowanie: Pobierz informacje o artykule po kodzie.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

Odpowiedź (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#

Podsumowanie: Pobierz treść artykułu po kodzie

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.
formatquerystringNieJeśli true, zwraca treść HTML w ciele odpowiedzi. W przeciwnym razie zwraca treść w formacie Markdown.
splitquerybooleanNieJeśli true, zwraca treść podzieloną na elementy RAG.
cssquerybooleanNieJeśli true, zwraca treść HTML/PDF wraz z CSS.

Odpowiedź (200):

"# Article Title\n\nThis is the article content in Markdown format."

POST /questionnaire/rag/article#

Podsumowanie: Aktualizuj metadane artykułu

Ciało żądania:

{
  "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"
}

Odpowiedź (200):

{}

DELETE /questionnaire/rag/article#

Podsumowanie: Usuń artykuł

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

GET /questionnaire/rag/article/pdf#

Podsumowanie: Pobierz artykuł jako PDF po kodzie

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

Odpowiedź (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Podsumowanie: Pobierz treść artykułu

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

Odpowiedź (200):

{
  "content": "# Article Title\n\nContent here."
}

POST /questionnaire/rag/article/content#

Podsumowanie: Aktualizuj treść artykułu

Ciało żądania (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Updated Content",
  "file": "binary"
}

POST /questionnaire/rag/plural#

Podsumowanie: Pobierz formę liczby mnogiej rzeczownika

Parametry:

NazwaWTypWymaganeOpis
nounquerystringNieRzeczownik do przekształcenia w liczbę mnogą.

Odpowiedź (200):

{
  "plural": "Articles"
}

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

Podsumowanie: Analizuj artykuł przy użyciu AI i zwróć ich typy

Ciało żądania (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Odpowiedź (200):

[
  {
    "plural": "Types"
  }
]

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

Podsumowanie: Sformatuj treść artykułu przy użyciu AI

Ciało żądania (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Odpowiedź (200):

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

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

Podsumowanie: Ulepsz dokument na podstawie sugestii

Ciało żądania (multipart/form-data):

{
  "suggestions": [
    {
      "sectionTitle": "Introduction",
      "suggestion": "Add more details here."
    }
  ],
  "code": "ART-001",
  "content": "# Article Content"
}

Odpowiedź (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

Podsumowanie: Zwraca listę części artykułu

Parametry:

NazwaWTypWymaganeOpis
idqueryarrayTakLista części artykułu.

Odpowiedź (200):

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

GET /questionnaire/rag/article/revisions#

Podsumowanie: Zwraca listę wersji artykułu

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.

Odpowiedź (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}#

Podsumowanie: Pobierz informacje o wersji artykułu

Parametry:

NazwaWTypWymaganeOpis
idpathstring (uuid)TakIdentyfikator wersji.

Odpowiedź (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}#

Podsumowanie: Pobierz treść wersji artykułu

Parametry:

NazwaWTypWymaganeOpis
idpathstring (uuid)TakIdentyfikator wersji.

Odpowiedź (200):

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

GET /questionnaire/rag/article/analyze#

Podsumowanie: Analizuj treść artykułu przy użyciu AI

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod artykułu.
revqueryinteger (int32)NieNumer wersji.
forcequerybooleanNieWymuś utworzenie nowej analizy i usuń poprzedni niekompletny wynik, jeśli istnieje.

Odpowiedź (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}#

Podsumowanie: Pobierz wynik analizy artykułu

Parametry:

NazwaWTypWymaganeOpis
idpathstring (uuid)TakIdentyfikator analizy.

Odpowiedź (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#

Podsumowanie: Lista wszystkich wiadomości

Parametry:

NazwaWTypWymaganeOpis
idquerystring (uuid)TakIdentyfikator kolekcji RAG.
itemquerystring (uuid)NieIdentyfikator elementu RAG.
messagequerystring (uuid)NieIdentyfikator wiadomości.
ascquerybooleanNieSortowanie rosnące.
psqueryinteger (int32)NieRozmiar strony.
pqueryinteger (int32)NieNumer strony (liczony od 1).

Odpowiedź (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#

Podsumowanie: Dodaj nową wiadomość

Parametry:

NazwaWTypWymaganeOpis
idquerystring (uuid)TakIdentyfikator kolekcji RAG.
itemquerystring (uuid)NieIdentyfikator elementu RAG.
messagequerystring (uuid)NieIdentyfikator wiadomości, na którą odpowiadasz.

Ciało żądania:

{
  "text": "New message content"
}

Odpowiedź (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#

Podsumowanie: Aktualizuj istniejącą wiadomość

Parametry:

NazwaWTypWymaganeOpis
cquerystring (uuid)TakIdentyfikator kolekcji RAG.
idquerystring (uuid)TakIdentyfikator wiadomości.

Ciało żądania:

{
  "text": "Updated message content"
}

Odpowiedź (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#

Podsumowanie: Usuń istniejącą wiadomość

Parametry:

NazwaWTypWymaganeOpis
idquerystring (uuid)TakIdentyfikator wiadomości.

Odpowiedź (200):

{}

RagFaq#

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

Podsumowanie: Podsumowanie dla strony głównej

Parametry:

NazwaWTypWymaganeOpis
projquerystring (uuid)NieIdentyfikator projektu.

Odpowiedź (200):

{
  "active": 3
}

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

Podsumowanie: Liczba kolekcji FAQ.

Parametry:

NazwaWTypWymaganeOpis
qquerystringNieFiltr po nazwie lub kodzie kolekcji.
statequeryarrayNieFiltr po stanach.
projectqueryarrayNieFiltr po projektach.

Odpowiedź (200):

3

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

Podsumowanie: Pobierz listę kolekcji FAQ.

Parametry:

NazwaWTypWymaganeOpis
qquerystringNieFiltr po nazwie lub kodzie kolekcji.
statequeryarrayNieFiltr po stanach.
projectqueryarrayNieFiltr po projektach.
squerystringNiePole sortowania.
ascquerybooleanNieSortowanie rosnące.
psqueryinteger (int32)NieRozmiar strony.
pqueryinteger (int32)NieNumer strony (liczony od 1).

Odpowiedź (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#

Podsumowanie: Znajdź pozycje FAQ.

Parametry:

NazwaWTypWymaganeOpis
qquerystringTakFiltr po pytaniu.
projectquerystring (uuid)NieFiltr po projekcie.
psqueryinteger (int32)NieRozmiar strony.
pqueryinteger (int32)NieNumer strony (liczony od 1).

Odpowiedź (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#

Podsumowanie: Utwórz nową kolekcję FAQ.

Ciało żądania (multipart/form-data):

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

Odpowiedź (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#

Podsumowanie: Aktualizuj metadane kolekcji FAQ.

Ciało żądania:

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

DELETE /questionnaire/rag/faq-collection#

Podsumowanie: Usuń kolekcję FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.

GET /questionnaire/rag/faq-collection#

Podsumowanie: Pobierz kolekcję FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.

Odpowiedź (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#

Podsumowanie: Sprawdź istnienie kolekcji FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.

Odpowiedź (200):

true

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

Podsumowanie: Liczba pozycji FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.
qquerystringNieFiltr po treści pozycji FAQ.

Ciało żądania:

["Active", "Default"]

Odpowiedź (200):

5

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

Podsumowanie: Pobierz listę pozycji FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.
qquerystringNieFiltr po treści pozycji FAQ.
statequeryarrayNieFiltr po stanach.
squerystringNiePole sortowania.
ascquerybooleanNieSortowanie rosnące.
psqueryinteger (int32)NieRozmiar strony.
pqueryinteger (int32)NieNumer strony (liczony od 1).

Odpowiedź (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#

Podsumowanie: Utwórz nową pozycję FAQ.

Ciało żądania:

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

Odpowiedź (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#

Podsumowanie: Pobierz pozycję FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.
indexqueryinteger (int32)TakIndeks (zero‑based) pozycji FAQ w kolekcji.

Odpowiedź (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#

Podsumowanie: Aktualizuj pozycję FAQ.

Ciało żądania:

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

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

Podsumowanie: Usuń pozycję FAQ.

Parametry:

NazwaWTypWymaganeOpis
codequerystringTakKod kolekcji.
indexqueryinteger (int32)TakIndeks (zero‑based) pozycji FAQ w kolekcji.

RagQuery#

POST /questionnaire/rag/query#

Podsumowanie: Wykonaj zapytanie w bazie wiedzy RAG

Ciało żądania:

{
  "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
}

Odpowiedź (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#

Podsumowanie: Wykonaj zapytanie w bazie wiedzy RAG (strumieniowo)

Ciało żądania:

{
  "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
}

Odpowiedź (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#

Podsumowanie: Wykonaj zapytanie w bazie wiedzy RAG i zwróć fragmenty

Ciało żądania:

{
  "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
}

Odpowiedź (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
    }
  ]
}

Powiązane artykuły#

do góry
Wybierz język