cs
Fintech

Dokumentace API

Klientský web, back office a všechny moduly platformy pracují s databázovými soubory prostřednictvím rozhraní API, nikoli přímo. API řídí přístup, integritu a správnost příchozích dat.

Obecný popis

Jak funguje API?

API – klíčový uzel platformy

Tato dokumentace popisuje všechny metody API pro následující akce:

  • získávání seznamů objektů (metoda seznamu)
  • filtrování seznamu (metoda seznamu s daty filtru)
  • získání podrobných informací o objektu (metoda show)
  • získávání dat pro formulář přidání objektu (metoda přidání)
  • ukládání dat jako nového objektu (metoda ukládání)
  • získání dat pro formulář aktualizace objektu (metoda úprav)
  • uložení dat aktualizovaného objektu (metoda aktualizace)

Kontrola podle IP adresy

Rozhraní API přijímá požadavky pouze z omezeného seznamu IP adres (například z webu klienta nebo webu back office).

Jakýkoli požadavek na rozhraní API z adresy IP, která není na seznamu povolených, bude zamítnut.

To se provádí, aby se zabránilo DDoS útokům na API, pokusům o falšování požadavků a hackerským experimentům.

Uživatelé vždy přistupují na veřejnou stránku platformy (kancelář zákazníka nebo back office) a tato stránka sama vyžaduje potřebná data z API platformy. Protože je IP adresa webu pevná, bude na seznamu povolených.

URL a metoda

Všechny požadavky API se provádějí pomocí následujících metod HTTP:

  • GET pro seznam, zobrazení, přidání a úpravu
  • POST pro obchod
  • PUT pro aktualizaci
  • DELETE pro smazání

Každá sekce API obsahuje URL, na kterou je zasílán požadavek na získání příslušných dat.

Před každou adresou URL je uvedena metoda požadavku HTTP.

Odeslání žádosti

Každý požadavek API musí vždy obsahovat 4 proměnné:

  1. data (řetězec json s datovým polem pro API)
  2. user (řetězec json s polem dat o aktuálním uživateli)
  3. time (aktuální čas v časovém pásmu UTC)
  4. hash (digitální podpis ve formě hashe pro ověření, že požadavek na API je určitě z autorizovaného zdroje)

Získání odpovědi z API

Pokud je požadavek úspěšný, API vždy vrátí dvě proměnné:

  1. status = true (stav úspěšnosti)
  2. data (řetězec json s datovým polem z API)

Pokud požadavek selže, API zobrazí proměnné:

  1. status = false (chybový stav)
  2. error (textový řetězec popisující chybu)

Digitální podpis

Každý požadavek API musí obsahovat hash proměnnou, která je digitálním podpisem požadavku.

hash = md5($json . $time . $salt)

  • md5, sha256, bcrypt — dostupné šifrovací algoritmy
  • $json — json řetězec s daty požadavku
  • $time — čas ve formátu "DD.MM.RRRR HH:MM:SS"
  • $salt — pevná jedinečná hodnota ("sůl") pro platformu API

Fintech

Dokumentace obsahuje příklady skutečných požadavků API