ru
Финтех

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

Сайт клиента, бэк-офис и все модули платформы работают с файлами базы данных через API, а не напрямую. API контролирует доступ, целостность и корректность входящих данных.

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

Как API работает?

API - ключевой узел платформы

В этой документации описаны все методы API для следующих действий:

  • получение списков объектов (метод list)
  • фильтрация списка (метод list с данными фильтра)
  • получение подробной информации об объекте (метод show)
  • получение данных для формы добавления объекта (метод add)
  • сохранение данных как нового объекта (метод store)
  • получение данных для формы обновления объекта (метод edit)
  • сохранение данных обновляемого объекта (метод update)

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

API принимает запросы только с ограниченного списка IP-адресов (например, с сайта кабинета клиента или с сайта бэк-офиса).

Любой запрос к API с IP-адреса, не входящего в список разрешенных, будет отклонен.

Это делается для предотвращения DDoS-атак на API, попыток фальсификации запросов и хакерских экспериментов.

Пользователи всегда обращаются к общедоступному сайту платформы (кабинет клиента или бэк-офис), и этот сайт сам делает запрос необходимых данных из API платформы. Поскольку IP-адрес сайта фиксированный, он будет в списке разрешенных.

URL-адрес и метод

Все запросы к API выполняются с использованием следующих HTTP-методов:

  • GET для list, show, add и edit
  • POST для store
  • PUT для update
  • DELETE для 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 — время в формате "DD.MM.YYYY HH:MM:SS"
  • $salt — фиксированное уникальное значение («соль») для API платформы

Финтех

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