bg
Финтех

Документация за API

Клиентският сайт, бек офисът и всички модули на платформата работят с файлове на база данни чрез API, а не директно. API контролира достъпа, целостта и коректността на входящите данни.

Общо описание

Как работи API?

API - ключовият възел на платформата

Тази документация описва всички методи на API за следните действия:

  • получаване на списъци с обекти (метод на списък)
  • филтриране на списък (метод на списък с данни за филтриране)
  • получаване на подробна информация за обект (покажи метод)
  • получаване на данни за формуляра за добавяне на обект (метод за добавяне)
  • запазване на данни като нов обект (метод на съхранение)
  • получаване на данни за формуляра за актуализиране на обекта (метод за редактиране)
  • запазване на данните на актуализирания обект (метод на актуализиране)

Проверка по IP адрес

Приложният програмен интерфейс (API) приема само заявки от ограничен списък с IP адреси (например от сайта на клиентски акаунт или от бек офис сайт).

Всяка заявка към API от IP адрес, който не е в разрешения списък, ще бъде отхвърлена.

Това се прави, за да се предотвратят DDoS атаки върху API, опити за фалшифициране на заявки и хакерски експерименти.

Потребителите винаги имат достъп до публичния сайт на платформата (офис на клиента или бек офис) и самият този сайт изисква необходимите данни от API на платформата. Тъй като IP адресът на сайта е фиксиран, той ще бъде в списъка с разрешени.

URL и метод

Всички заявки за API се правят с помощта на следните HTTP методи:

  • GET за списък, показване, добавяне и редактиране
  • POST за магазин
  • PUT за актуализация
  • DELETE за изтриване

Всеки раздел на API съдържа URL адрес, към който се прави заявка за получаване на съответните данни.

Методът на HTTP заявка е посочен пред всеки URL.

Изпращане на заявка

Всяка заявка за API винаги трябва да съдържа 4 променливи:

  1. data (json низ с масив от данни за API)
  2. user (json низ с масив от данни за текущия потребител)
  3. time (текущо време в часова зона UTC)
  4. hash (цифров подпис под формата на хеш за проверка, че заявката към API определено е от оторизиран източник)

Получаване на отговор от API

Ако заявката е успешна, API винаги връща две променливи:

  1. status = true (успешно състояние)
  2. data (json низ с масив от данни от API)

Ако заявката не успее, API показва променливите:

  1. status = false (състояние на грешка)
  2. error (текстов низ, описващ грешката)

Цифров подпис

Всяка заявка за API трябва да съдържа хеш променлива, която е цифров подпис на заявката.

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

  • md5, sha256, bcrypt — налични алгоритми за криптиране
  • $json — json низ с данни за заявка
  • $time — време във формат "ДД.ММ.ГГГГ ЧЧ:ММ:СС"
  • $salt — фиксирана уникална стойност ("сол") за API на платформата

Финтех

Документацията съдържа примери за реални заявки за API