Skip to content

Návrh API

Petr Kadlec edited this page Feb 11, 2022 · 6 revisions

Usecasy

  • jednoduchá lidsky čitelná stránka se seznamem identifikátorů s odkazy
  • API pro zjištění identifikátorů/odkazů, vracející strojově čitelná data k dalšímu zpracování
  • přesměrování na jeden z dalších podporovaných databází

API

https://nklink.toolforge.org/link.php?parametry

Parametry

  • autid= Identifikátor NK ČR (povinný)
  • format= Výstupní formát
    • html Jednoduchý lidsky čitelný HTML výstup pro testování (implicitní)
    • json Čistý JSON
    • jsonp JSONP s použitím callbacku uvedeného v parametru callback
    • redirect HTTP redirect na autoritní záznam vybraný pomocí parametru target
  • callback= Název callbacku používaného pro JSONP (povinný při použití format=jsonp)
  • target= Identifikátor podporované databáze pro přesměrování (povinný při použití format=redirect)

Chybí?

  • řešení chyb s neunikátním identifikátorem na WD: vracet všechny, nebo pro jednoduchost prostě první, beztak to je chyba na straně WD?
  • řešení více identifikátorů v jedné položce: jestli vracet jen preferované? nebo i možnost požádat jen o jeden?? (ostatně jak při přesměrování?)

Podporované databáze

Výstup

JSON[P]

{
  "label":"Štítek",
  "description": "Popisek",
  "links": {
    "db1": [ { "ident": "id1", "url": "url1" } [, ...] ],
    "db2": [ { "ident": "id2", "url": "url2" } [, ...] ],
    ...
  }
}

kde dbX je vždy jeden z identifikátorů databáze výše (např. wikidata), idX a urlX jsou odpovídající hodnoty příslušného identifikátoru a URL odkazujícího na záznam v příslušné databázi; typicky bude pro každou databázi v poli jen jedna hodnota, výjimečně jich může být více (viz též výše).

Chyby

V případě chyby se vrátí výsledek v následující formě:

  • null – Došlo k neočekávané (doufejme dočasné) chybě na straně nklinku, Wikidat atp.
  • {} – Všechno funguje správně, ale požadovaný identifikátor není ve Wikidatech evidován, nemáme proto co vrátit.
Clone this wiki locally