Skip to content
Pavel Šťastný edited this page Jun 19, 2024 · 15 revisions

Autentizace

  • POST /api/auth/token

Admin API

/api/admin/v7.0

Procesy

/api/admin/v7.0/processes

  • GET /api/admin/v7.0/processes/owners
    • vrátí všechny uživatele, kteří spustili nejaký proces
  • GET /api/admin/v7.0/processes/by_process_id/{process_id}
    • vrátí informace o procesu a dávce, která jej obsahuje
  • GET /api/admin/v7.0/processes/batches
    • vrátí všechny dávky procesů, včetně těch, které obsahují jediný proces
    • dávky lze filtrovat podle vlastníka, timestampu (od-do), stavu dávky
  • GET /api/admin/v7.0/processes/by_process_uuid/{process_uuid}/logs/out
    • vrátí celý standardní log procesu
  • GET /api/admin/v7.0/processes/by_process_uuid/{process_uuid}/logs/err
    • vrátí celý chybový log procesu
  • GET /api/admin/v7.0/processes/by_process_uuid/{process_uuid}/logs/out/lines
    • vrátí vybrané řádky standardního logu procesu v JSON
    • ?offset=0&limit=100
  • GET /api/admin/v7.0/processes/by_process_uuid/{process_uuid}/logs/err/lines
    • vrátí vybrané řádky chybového logu procesu v JSON
    • ?offset=0&limit=100
  • POST /api/admin/v7.0/processes
    • naplánuje nový proces
    • v těle očekává JSON definující proces (typ, parametry)
    • nepovinný query parametr batch_token
      • pokud je přítomen, nový proces se zařadí do dávky procesů definované tokenem
  • DELETE /api/admin/v7.0/processes/batches/by_first_process_id/{process_id}
    • smaže nejen proces, ale celou dávku, která ho obsahuje TODO: mazání procesů, nejen celých dávek

Sbírky

/api/admin/v7.0/collections

  • POST /api/admin/v7.0/collections
    • vytvoří novou sbírku
    • v těle očekává JSON objekt s property name, description, content, standalone
  • GET /api/admin/v7.0/collections/{pid}
    • vrátí sbírku podle jejího PID
  • GET /api/admin/v7.0/collections/
    • vrátí všechny sbírky
    • query parametr ?withItem={pid} omezí na sbírky přímo obsahující objekt
  • PUT /api/admin/v7.0/collections/{pid}
    • aktualizuje záznam sbírky (name, description, content, standalone)
  • POST /api/admin/v7.0/collections/{pid}/items
    • přidá položku/seznam položek do sbírky
    • přidání jedné položky: tělo obsahuje PID objektu, který je do sbírky přidáván, Content-Type: text/plain
    • přidání více položek: tělo obsahuje pole PIDů objektů, které jsou přidávány, Content-Type: application/json
  • DELETE /api/admin/v7.0/collections/{pid}/items/{item-pid}
    • odebere položku ze sbírky
  • DELETE /api/admin/v7.0/collections/{pid}
    • odstraní sbírku

Objekty v repozitáři

/api/admin/v7.0/items

  • GET /api/admin/v7.0/items?model={model}
    • seznam všech objektů podle modelu (pid, title)
    • seřazeno podle dc.title, nepovinný parametr &sort=ASC/DESC
    • nepovinný parametry offset, limit, případně cursor. Pokud je cursor přítomen, ignoruje se offset
  • GET /api/admin/v7.0/items/{pid}/foxml
  • DELETE /api/admin/v7.0/items/{pid}
    • smaže objekt z Repozitáře a Vyhledávacího indexu
    • nízkoúrovňové mazání, může dostat data v Repozitáři do nekonzistentního stavu z pohledu Krameria
  • HEAD/GET /api/admin/v7.0/items/{pid}/streams/{dsid}
  • PUT /api/admin/v7.0/items/{pid}/streams/BIBLIO_MODS
    • nastaví MODS záznam objektu
  • GET /api/admin/v7.0/items/{pid}/streams/{dsid}/mime
  • PUT /api/admin/v7.0/items/{pid}/streams/IMG_THUMB?srcPid={srcPid}
    • zkopíruje celý ds IMG_THUMB z foxml objektu {srcPid}. {pid} nesmí být stránka, {srcPid} musí být stránka
    • pro nastavení reprezentativní strany
  • GET /api/admin/v7.0/items/{pid}/licenses
    • vrátí seznam licencí objektu z dat repozitáře (tj. nezávisle na stavu vyhledávacího indexu)
    • včetně starého licencování (příznak policy)
    • jen licence přímo objektu, tedy ne licence předků, přesto že je pod nimi tento objekt dostupný
  • PUT /api/admin/v7.0/items/{pid}/children_order
    • změní pořadí přímých potomků objektu v RELS-EXT
    • v těle dotazu je seznam PIDů v novém pořadí
  • PUT /api/admin/v7.0/items/{pid}/akubra/updateManaged/{dsid}
    • Změna jakéhokoliv managed streamu
    • V těle dotazu musí být obsah datastreamu

Práva

/admin/v7.0/rights

  • GET /api/admin/v7.0/rights?pids={pids}&action={action}
    • Získání všech práv pro konkrétní pid. Repozitář je reprezentován pidem uuid:1
  • GET /api/admin/v7.0/rights/params
    • Vrací seznam všech parametrů práv
  • GET /api/admin/v7.0/rights/criteria
    • Vrací seznam všech kritérií
  • GET /api/admin/v7.0/rights/actions
    • Vrací všechny akce
  • GET /api/admin/v7.0/rights/licenses
    • Vrací všechny licence
  • GET/PUT/POST/DELETE /api/admin/v7.0/rights/{id}
    • CRUD operace nad konkrétním právem
  • GET/PUT/POST/DELETE /api/admin/v7.0/rights/params/{id}
    • CRUD operace nad parametrama pro práva

Role

/admin/v7.0/roles

Konfigurace

/api/admin/v7.0/config

  • GET /api/admin/v7.0/{key}
    • získání hodnoty obecné property podle klíče

Client API

/api/client/v7.0

Vyhledávání

/api/client/v7.0/search

  • GET /api/client/v7.0/search
    • vyhledávání
  • GET /api/client/v7.0/search/terms
    • vrací hodnoty a počty výskytů pro vybrané pole

Info

/api/client/v7.0/info

  • GET /api/client/v7.0/info[?language={lang}]
    • informace o verzích jádra a Indexeru
    • pdfMaxRange, neboli maximální počet stránek pro generování pdf
    • text zprávy v případě nedostupnosti dokumentu
    • případně další informace

Objekty v repozitáři

/api/client/v7.0/items

  • info
    • GET /api/client/v7.0/items/{pid}/info
    • GET /api/client/v7.0/items/{pid}/info/data
    • GET /api/client/v7.0/items/{pid}/info/structure
    • GET /api/client/v7.0/items/{pid}/info/image
    • GET /api/client/v7.0/items/{pid}/info/providedByLicenses
  • metadata
    • HEAD/GET /api/client/v7.0/items/{pid}/metadata/mods
    • HEAD/GET /api/client/v7.0/items/{pid}/metadata/dc
  • ocr
    • HEAD/GET /api/client/v7.0/items/{pid}/ocr/text
    • HEAD/GET /api/client/v7.0/items/{pid}/ocr/alto
  • obrázky
    • HEAD/GET /api/client/v7.0/items/{pid}/image
      • obsah datastreamu IMG_FULL objektu samotného
    • GET /api/client/v7.0/items/{pid}/image/thumb
      • první dostupný obrázek thumbnail - objektu samotného, nebo některého jeho potomka
    • GET /api/client/v7.0/items/{pid}/image/preview
      • první dostupný obrázek preview - objektu samotného, nebo některého jeho potomka
  • zvuky
    • HEAD/GET /api/client/v7.0/items/{pid}/audio/mp3
    • HEAD/GET /api/client/v7.0/items/{pid}/audio/ogg
    • HEAD/GET /api/client/v7.0/items/{pid}/audio/wav

Uživatelé info

/api/client/v7.0/user

  • GET /api/client/v7.0/user?sessionAttributes=true|false
    • Informace o užiateli, zda je autentizován, jaké má role a jaké lincence si může prohlížet
    • Parametr sessionAttributes umožňuje získat atributy které jsou platné pouze v nynější session (expirace tokenu, čas přihlášení, attributy z IDP)
  • GET /api/client/v7.0/user/actions?pid={pid}
    • Vrací informace o povolených akcích pro konkrétního uživatele a konkrétní pid. Repozitář je reprezentován uuid:1

Generování pdf

/api/client/v7.0/pdf

Výběr

  • GET /api/client/v7.0/pdf/selection?pids={pids}&format=A0|A1|A2|A3|A4|A5|A6|B0|B1|B2|B3|B4|B5|B6
    • Generuje PDF z vybraných stránek

Rodič

  • GET /api/client/v7.0/pdf/parent?pid={pid}&format=A0|A1|A2|A3|A4|A5|A6|B0|B1|B2|B3|B4|B5|B6&numberOfPages={number}
    • Generuje PDF z rodiče - bere prvních x stran

Uživatelské seznamy

/api/client/v7.0/folders

Správa seznamu

  • POST /api/client/v7.0/folders
    • Vytvoří nový seznam (vlastníkem je aktuální uživatel)
    • Definice seznamu je v těle dotazu, např.: {"name": "Hrady a zámky Jižních Čech"}
  • GET /api/client/v7.0/folders
    • Vrátí seznamy relevantní pro uživatele, tedy. seznamy, které uživatel vlastní, nebo sleduje
  • GET /api/client/v7.0/folders/{folder_uuid}
    • Vrátí seznam podle uuid
  • PUT /api/client/v7.0/folders/{folder_uuid}
    • Aktualizuje metadata seznamu
    • Nový metadatový záznam seznamu je v těle dotazu, např.: {"name": "Hrady a zámky Jižních a Středních Čech"}
  • PUT /api/client/v7.0/folders/{folder_uuid}/items
    • Přidá nové položky do seznamu
    • Seznam PIDů nových položek je v těle dotazu, např.: {"items": ["uuid:1960ab18-d326-4d09-9635-01eeed2e0a0a", "uuid:1960ab18-d326-4d09-9635-01eeed2e0a0b", "uuid:1960ab18-d326-4d09-9635-01eeed2e0a0c"]}
  • DELETE /api/client/v7.0/folders/{folder_uuid}/items
    • Odebere vybrané položky ze seznamu
    • Seznam PIDů odebíraných položek je v těle dotazu, např.: {"items": ["uuid:1960ab18-d326-4d09-9635-01eeed2e0a0a", "uuid:1960ab18-d326-4d09-9635-01eeed2e0a0b", "uuid:1960ab18-d326-4d09-9635-01eeed2e0a0c"]}
  • DELETE /api/client/v7.0/folders/{folder_uuid}
    • Smaže seznam

Sledování seznamu

  • POST /api/client/v7.0/folders/{folder_uuid}/follow
    • Zapne sledování seznamu aktuálním uživatelem
  • POST /api/client/v7.0/folders/{folder_uuid}/follow
    • Vypne sledování seznamu aktuálním uživatelem
Clone this wiki locally