Общее oписание API Mediaserver
Общее описание API Mediaserver
API (Application Programming Interface) — это набор правил, стандартов и функций, которые позволяют различным программным приложениям взаимодействовать друг с другом. API определяет, как приложения могут запрашивать и получать данные, а также выполнять определенные действия. Включает в себя:
Операции для выполнения (методы) – набор действий, которые приложение может выполнить через API.
Запросы – данные, которые приложение отправляет API для выполнения операции.
Ответ – данные, которые API возвращает приложению в ответ на запрос. Это могут быть запрошенные данные, статус выполнения операции, или сообщения об ошибках.
API продуктов VSaaS организован на основе REST.
REST API отвечает практически за все взаимодействия между серверными и клиентскими приложениями. Серверное приложение дает доступ к своим данным клиентскому приложению по средствам определенного URL.
Все запросы должны иметь заголовок Content-Type: application/json
. Это необходимо для того, чтобы сервер (backend) понимал, поддерживает ли клиент ответы в формате JSON. Если такой заголовок отсутствует, то сервер может вернуть ответ в неподходящем формате – ошибки будут возвращаться html страницей.
Аутентификация
Для выполнения запросов API необходима аутентификация запроса. Аутентификация выполняется через API Access Token. Детально на странице «Создание токена доступа к API».
Передача токена третьим лицам может повлечь за собой потерю Ваших данных и нестабильную работу сервиса.
После успешного получения API Access Token все последующие запросы должны выполняться с передачей этого токена либо через заголовок HTTP, либо как параметр URL запроса.
Пример:
Authorization: 3rADAV_TZTh4eD4SCvb-dYHy-SMw76X5NB2hTLfm0G6iXeTMCxhE
curl --cacert /opt/ssl/navek.dev/fullchain.cer --request POST \
--url 'https:/mediaserver.vsaas.com:8776/api/' \
--header 'Content-Type: application/json' \
--header 'Host: http://192.168.200.31:8666' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer 3rADAV_TZTh4eD4SCvb-dYHy-SMw76X5NB2hTLfm0G6iXeTMCxhE' \
--data '{
"jsonrpc": "2.0",
"method": "Stream.Dvr.Ranges",
"params": [
"camera-uid5065687-primary"
],
"id": 1
}'
Запросы к API будут отклонены со статусом ошибки 401 (не авторизовано), если выполняется одно из следующих условий:
Отсутствует токен аутентификации.
Неверный токен аутентификации.