Перейти к основному содержимому

Описание по работе с API

Инфраструктура Брэйнисофт представляет из себя совокупность таких веб-сервисов как:

  • Core (ядро)
  • Print Forms (печатные формы)
  • Gateway (шлюз)
  • File Storage (файловое хранилище)

Разделение по веб-сервисам находит своё отражение в документации Brainysoft. Ниже на снимке можно увидеть это разделение.

Каждый из веб-сервисов имеет свой REST-API. В свою очередь каждый из REST-API состоит из коллекции веб-методов (endpoints).

Методы веб-сервисов доступны по следующим адресам:

  1. Core (ядро) - https://{customer}-saas.brainysoft.ru
  2. Print Forms (печатные формы) - https://pdf.brainysoft.ru
  3. Gateway (шлюз) - https://gate.brainysoft.ru
  4. File Storage (файловое хранилище) - https://file.brainysoft.ru
  5. Ядро --> Другие --> Методы ядра для работы со шлюзом - https://{customer}-saas.brainysoft.ru

Front/UI (интерфейс) и ЛК (личный кабинет) используют методы веб-сервисов, которые в совокупности образуют backend.

Метод

Из-за инфрастуктурной особенности системы все методы веб-сервиса ядра и методы ядра работающие с веб-сервисом шлюза получают в URL префикс bs-core. Например, ядровой метод GET /main/clients/{id} в настоящий момент имеет URL https://{customer}-saas.brainysoft.ru/bs-core/main/clients/{id}.

В ответ на запрос приходит объект следующей структуры:

СвойствоОписание
statusПри успешном отрабатывание запроса возвращается “ok”. Иначе возвращается ошибка.
timestampВозвращается дата+время(ядра) в формате unix timestamp в миллисекундах.
dataОбъект сущности в формате валидного джейсона. В ответ может возвратиться как коллекция, объект так например и идентификатор созданной сущности "data": 3692 в формате валидного джейсона.

Пример тела ответа:

{
"status": "ok",
"timestamp": 1550653059521,
"data": 3692
}

Пример POST-запроса (создание лида) в программе Postman:

1.

2.

Пример POST-запроса (создание лида) через cURL:

curl -X POST https://{customer}-saas.brainysoft.ru/bs-core/main/leads \
-H 'Content-Type: application/json' \
-H 'bsauth: {api_token}' \
-d '{
"firstName": "Фридрих",
"mobilePhone": "797762007719",
"lastName": "Эберт",
"birthDate": "1982-12-20",
"sexId": 101251,
"passport": {
"issueDate": "2012-01-23",
"no": "782573"
},
"addressData": { },
"registrationAddressData": { },
"amount": 99,
"subdivisionId": 101798,
"period": 30
}'

Более подробный пример "Создание лида и из него Клиента, Заявки" плюс пример кода на PHP можно посмотреть здесь.