lt
Fintech

API dokumentacija

Kliento svetainė, „back office“ ir visi platformos moduliai dirba su duomenų bazės failais per API, o ne tiesiogiai. API kontroliuoja gaunamų duomenų prieigą, vientisumą ir teisingumą.

Bendras aprašymas

Kaip veikia API?

API – pagrindinis platformos mazgas

Šioje dokumentacijoje aprašomi visi API metodai, skirti šiems veiksmams:

  • objektų sąrašų gavimas (sąrašo metodas)
  • sąrašo filtravimas (sąrašo metodas su filtro duomenimis)
  • gauti išsamią informaciją apie objektą (rodymo metodas)
  • duomenų gavimas objekto pridėjimo formai (pridėjimo metodas)
  • duomenų išsaugojimas kaip naujas objektas (saugojimo metodas)
  • objekto atnaujinimo formos duomenų gavimas (redagavimo metodas)
  • atnaujinto objekto duomenų išsaugojimas (atnaujinimo būdas)

Tikrinama pagal IP adresą

API priima tik užklausas iš riboto IP adresų sąrašo (pavyzdžiui, iš kliento paskyros svetainės arba „back office“ svetainės).

Bet kokia API užklausa iš IP adreso, kurio nėra leidžiamų sąraše, bus atmesta.

Tai daroma siekiant užkirsti kelią DDoS atakoms prieš API, bandymams suklastoti užklausas ir įsilaužėlių eksperimentams.

Vartotojai visada pasiekia viešą platformos svetainę (kliento biurą arba back office), o ši svetainė pati prašo reikiamų duomenų iš platformos API. Kadangi svetainės IP adresas yra fiksuotas, jis bus leistinų sąraše.

URL ir metodas

Visos API užklausos pateikiamos naudojant šiuos HTTP metodus:

  • GET sąrašą, rodyti, pridėti ir redaguoti
  • POST parduotuvei
  • PUT atnaujinimui
  • DELETE dėl ištrynimo

Kiekvienoje API skiltyje yra URL, į kurį pateikiama užklausa gauti atitinkamus duomenis.

HTTP užklausos metodas nurodomas prieš kiekvieną URL.

Prašymo siuntimas

Kiekvienoje API užklausoje visada turi būti 4 kintamieji:

  1. data (json eilutė su duomenų masyvu API)
  2. user (json eilutė su duomenų apie dabartinį vartotoją masyvu)
  3. time (dabartinis laikas pagal UTC laiko juostą)
  4. hash (skaitmeninis parašas maišos pavidalu, siekiant patikrinti, ar API užklausa tikrai yra iš įgalioto šaltinio)

Gaunamas atsakymas iš API

Jei užklausa yra sėkminga, API visada pateikia du kintamuosius:

  1. status = true (sėkmės būsena)
  2. data (json eilutė su duomenų masyvu iš API)

Jei užklausa nepavyksta, API rodo kintamuosius:

  1. status = false (klaidos būsena)
  2. error (teksto eilutė, apibūdinanti klaidą)

Elektroninis parašas

Kiekvienoje API užklausoje turi būti maišos kintamasis, kuris yra užklausos skaitmeninis parašas.

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

  • md5, sha256, bcrypt — galimi šifravimo algoritmai
  • $json — json eilutę su užklausos duomenimis
  • $time — laikas formatu "DD.MM.YYYY HH:MM:SS"
  • $salt — fiksuota unikali platformos API vertė („druska“).

Fintech

Dokumentacijoje yra realių API užklausų pavyzdžių