API

Платформа предоставляет REST API, созданный в соответствии со стандартом OData v4. Дает возможность интеграции в собственные приложения или сайты, либо реализацию собственного фронтенда используя только бакенд созданного пользовательского приложения.

Протокол OData

OData (Open Data Protocol) — это открытый стандарт, который позволяет создавать и использовать веб-API для работы с данными. Он упрощает обмен информацией между разными системами, используя стандартные веб-технологии: HTTP, JSON. OData оперирует коллекциями объектов (Collection of Entities), которые можно рассматривать как некоторый аналог таблицы. OData позволяет читать, изменять и удалять данные, узнавать связи между объектами, выполнять поиск, сортировку, фильтрацию и другие важные при работе с данными действия.

При разворачивании приложения, сервер создает OData доступ ко всем данным приложения. При использовании базы данных документальной YDB используется открытый тип данных, для других баз данных используется стандартный типы данных, что более удобно для разработки. Для каждого пользовательского приложения своя схема данных. По ней можно понять все: какие сущности есть в системе, какие операции над ними можно производить. Схема описывается в формате XML. Для получения схемы нужно сделать запрос по адресу:

https://сайт_приложения/id_сервера/odata/$metadata

где id_сервера можно получить по https://сайт_приложения/client

Доступ к данным: https://сайт_приложения/id_сервера/odata/имя_коллекции?$опции

В пользовательском приложении реальные запросы можно посмотреть при нажатии F12 в большинстве современных браузеров (Google Chrome, Microsoft Edge, Opera, Яндекс Браузере и других на базе Chromium) открывается панель с инструментами разработчика. Вкладка Network — позволяет отслеживать все сетевые запросы, которые отправляет приложение.

Авторизация

Используется OpenID Connect — открытый стандарт децентрализованной системы аутентификации, предоставляющей пользователю возможность создать единую учётную запись для аутентификации на всех пользовательских приложениях. Базовой функцией OpenID является предоставление портативного, клиент-ориентированного, цифрового идентификатора - токена Bearer JWT.

Для всех действий в HTTP запрос добавляется стандартный заголовок Authorization, например:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM

Получить токен нужно в встроенном сервере авторизации, информация о конфигурации:

https://сайт_приложения/auth/.well-known/openid-configuration

Например получение токена token_endpoint:

https://сайт_приложения/auth/token

Примеры запросов при работе приложения:
← Вернуться на главную страницу