Перейти к содержанию

Описание API

Основное описание API ведется по стандарту OpenAPI 3.

Каждый сервис содержит собственное описание API. Документация по API является автоматически собираемой и публикуется в для каждого окружения.

Общие принципы:

Для основного API пути формируются по принципу host:port/api/v1 - где v1 указание версии API. Это необходимо для корректного версионирования и рефакторинга в будущем и обеспечит обратную совместимость. API построено на принципах HTTP запросов, соответствующих CRUD:

HTTP CRUD Entire Collection (e.g. /tasks Specific Item (e.g. /tasks/{id})
POST Create 201 (Created), 'Location' header with link to /customers/{id} containing new ID. 404 (Not Found), 409 (Conflict) if resource already exists..
GET Read 200 (OK), list of customers. Use pagination, sorting and filtering to navigate big lists. 200 (OK), single customer. 404 (Not Found), if ID not found or invalid.
PUT Update/Replace 405 (Method Not Allowed), unless you want to update/replace every resource in the entire collection. 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid.
PATCH Update/Modify 405 (Method Not Allowed), unless you want to modify the collection itself. 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid.
DELETE Delete 405 (Method Not Allowed), unless you want to delete the whole collection—not often desirable. 200 (OK). 404 (Not Found), if ID not found or invalid.

Описание внутренних VISMIND.API

Основное приложение

VISMIND Backend API

Сервисы

Сервисы считаются внутренней частью платформы и не доступны конечному пользователю.

  1. VISMIND Service.Bus API - сервис Шина.
  2. VISMIND Service.Dictionaries API - сервис Справочники.
  3. VISMIND Service.Logger API - сервис Логгер.
  4. VISMIND Service.Geocoder API - сервис Геокодер.
  5. VISMIND Service.Scheduler API - сервис Планировщик.

Формат ответов API основного приложения

Ответы API основного приложения VISMIND Backend приведены к следующему формату:

{
    "Code": 0,
    "Info": "",
    "Body": {},
    "Path": "",
    "DeveloperInfo": ""
}
Code - системный статус-код. Если статус-код - 0, то запрос выполнен корректно. Если при обработке запроса возникла ошибка, то вернётся код, отличный от 0;
Info - текст-предупреждение или описание ошибки, если она возникла при обработке запроса;
Body - содержимое ответа на запрос. В качестве ответов допускаются массивы [] и словари {}, но не допускаются строковые, числовые и null-значения;
Path - поле для работы с сервером tus.io при загрузке файлов;
DeveloperInfo - техническое описание ошибки, если она возникла.