Подключение к внешнему REST API: различия между версиями

Материал из SmartPlayer
Нет описания правки
Нет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
<languages/>
<translate>
<!--T:1-->
== '''Описание ситуации''' ==
== '''Описание ситуации''' ==
Для пользователей, которые хотят подключиться по REST API есть возможность сделать это используя наш отдельный ресурс. На этом ресурсе пользователь ознакомиться с методами и типами запросов, которые позволят ему подключиться и получать данные от платформы SmartPlayer.
Для пользователей, которые хотят подключиться по REST API рекомендуется использовать наш отдельный ресурс. На этом ресурсе пользователь опробует методы и запросы, которые позволят ему подключиться и получать данные от платформы SmartPlayer.
{{Note|'''Портал с поддержкой REST API расположен [https://restapi.smartplayer.org/ здесь]. Запросить данные для авторизации (логин и пароль) можно связавшись с нами через [https://smartplayer.ru/ портал] или прикрепленному специалисту компании SmartPlayer. Также можно написать на эту [https://smartplayer.atlassian.net/servicedesk/customer/portal/1 почту]''' |warn}}
{{Note|'''Портал с поддержкой REST API расположен [https://restapi.smartplayer.org/ здесь]. Запросить данные для авторизации (логин и пароль) можно связавшись с нами через [https://smartplayer.ru/ портал] или прикрепленным специалистом компании SmartPlayer. Также можно написать на эту [https://smartplayer.atlassian.net/servicedesk/customer/portal/1 почту]''' |warn}}
== '''Работа портала''' ==
== '''Работа портала''' ==
Данный раздел построен на базе Swagger Plugin и позволяет не только ознакомиться с информацией для подключения по REST API, но и опробовать описанные методы, получая реальный результат. Также технически продвинутые пользователи могут протестировать описанные методы используя Postman, если он является более привычным инструментом.
Данный раздел построен на базе Swagger Plugin и позволяет не только ознакомиться с информацией для подключения по REST API, но и опробовать описанные методы, получая реальный результат. Также технически продвинутые пользователи могут протестировать описанные методы, используя Postman.
{{Note|'''Некоторые методы описанные на портале могут отрабатывать некорректно. Команда SmartPlayer знает о проблемах и находится в процессе их устранения.'''|warn}}
{{Note|'''Некоторые методы, описанные на портале, могут отрабатывать некорректно. Команда SmartPlayer знает о проблемах и находится в процессе их устранения.'''|warn}}
== '''Сценарий использования''' ==
== '''Сценарий использования''' ==
Предполагается что взаимодействие с порталом будет происходить в определённой последовательности. Сценарий предполагаемого использования:
Предполагается, что взаимодействие с порталом будет происходить в определённой последовательности. Сценарий использования:
# Авторизация на портале.
# Авторизация на портале.
# Выбор нужного сервера для тестирования запросов.
# Выбор нужного сервера для тестирования запросов.
# Получение токена для использования кнопки "Authorize".
# Получение токена для использования кнопки "Authorize".
# Выбор нужного метода и изучение информации о нём.  
# Выбор нужного метода и изучение информации о нём.  
# По кнопке "Try it out" отправка запроса.
# По кнопке "Try it out" отправлять запрос.
# Получение и просмотр ответа от сервера.
# Получение и просмотр ответа от сервера.
# Изучение раздела "Schemas".
# Изучение раздела "Schemas".
{{Note|Описанные действия будет подробнее описаны ниже на странице.|warn}}
{{Note|Подробности будут изложены ниже на странице.|warn}}
== '''Информация на портале''' ==
== '''Информация на портале''' ==
После авторизации на портале пользователю откроется основная страница, на которой ему отобразится следующая информация:
После авторизации на портале пользователю откроется основная страница, на которой отобразится следующая информация:
[[File:Стартовая_страница_портала.png|thumb|center| Пример отображения главной страницы портала с REST API |800px]]
[[File:Стартовая_страница_портала.png|thumb|center| Пример отображения главной страницы портала с REST API |800px]]
На странице портала отображается информация о:
На странице портала отображается информация о:
* контактной информации с командой SmartPlayer;
* контактной информации о взаимодействии с командой SmartPlayer;
* списке доступных для тестирования серверов;
* списке доступных для тестирования серверов;
* кнопка "Atuhorize" (подробнее о работе с кнопкой ниже на странице)
* кнопка "Authorize" (подробнее о работе с кнопкой ниже на странице);
* список методов;
* список методов;
* раздел "Schemas" (нужно пролистать страницу вниз до конца)
* раздел "Schemas" (нужно пролистать страницу вниз до конца).
[[File:Разделение_страницы в апи.png|thumb|center| Пример отображения наполнения страницы портала|800px]]
[[File:Разделение_страницы в апи.png|thumb|center| Пример отображения наполнения страницы портала|800px]]
[[File:Раздел_schemas.png|thumb|center| Пример отображения раздела "Schemas" в нижней части экрана |800px]]
[[File:Раздел_schemas.png|thumb|center| Пример отображения раздела "Schemas" в нижней части экрана |800px]]
== '''Выбор сервера''' ==
== '''Выбор сервера''' ==
Для тестирования запросов с методами пользователю необходимо выбрать один из представленных в списке методов. Каждый сервер из списка имеет формат отображения: "название" + "краткое описание" (на английском языке).
Для тестирования запросов с методами пользователю необходимо выбрать один из представленных в списке серверов. Каждый сервер из списка имеет формат отображения: "название" + "краткое описание" (на английском языке).
[[File:Списко_серверов.png|thumb|center| Пример отображения списка доступных серверов |800px]]
[[File:Списко_серверов.png|thumb|center| Пример отображения списка доступных серверов |800px]]
{{Note|Представленный список серверов не окончательный. Пользователь может с помощью Postman вручную сам подключиться к любому представленному из списка серверу, а также использовать другие сервера. Например, "rc.smartplayer.org".|warn}}
{{Note|Представленный список серверов не окончательный. Пользователь может с помощью Postman вручную подключиться к любому представленному из списка серверу, а также использовать другие сервера SmartPlayer. Например, "rc.smartplayer.org".|warn}}
== '''Кнопка "Atuhorize"''' ==
== '''Кнопка "Atuhorize"''' ==
При нажатии на кнопку "Authorize" пользователю откроется модальное окно с описанием и полем, в котором необходимо указана токен (bearer token) для авторизации. Чтобы получить данный токен можно прочитать инструкцию приложенную по ссылке в окне.
При нажатии на кнопку "Authorize" пользователю откроется модальное окно с описанием и полем, в котором необходимо указать токен (bearer token) для авторизации. Чтобы получить данный токен можно прочитать инструкцию, приложенную по ссылке в окне.
[[File:Модальное окно для токенов.png|thumb|center| Пример отображения модального окна для кнопки "Authorize" |800px]]
[[File:Модальное окно для токенов.png|thumb|center| Пример отображения модального окна для кнопки "Authorize" |800px]]
После введения токена авторизации необходимо нажать на кнопку "Close". Это вернёт пользователя на главную страницу, а также поменяет отображения иконки авторизации (выглядит как замок). Иконка будет подсвечена, а замок будет закрыт.
После введения токена авторизации необходимо нажать на кнопку "Close". Это вернёт пользователя на главную страницу, а также поменяет отображение иконки авторизации (выглядит как замок). Иконка будет подсвечена, а замок будет закрыт.
[[File:Иконка_авторизации.png|thumb|center| Пример отображения изменения иконки авторизации |800px]]
[[File:Иконка_авторизации.png|thumb|center| Пример отображения изменения иконки авторизации |800px]]
{{Note|При наведение на иконку авторизации интерфейс добавит еще одну иконку, которая позволит скопировать запрос в буфер обмена.
{{Note|При наведении на иконку авторизации интерфейс добавит ещё одну иконку, которая позволит скопировать запрос в буфер обмена.
[[File:Копировать_в_буфер_обмена.png|thumb|center| Пример отображения иконки копирования запроса в буфер обмена |800px]] |warn}}
[[File:Копировать_в_буфер_обмена.png|thumb|center| Пример отображения иконки копирования запроса в буфер обмена |800px]] |warn}}
== '''Информация о методах''' ==
== '''Информация о методах''' ==
<div class="mw-collapsible mw-collapsed" style="border:1px solid #aaa; padding:8px; background:#f9f9f9;">
На данный момент на портале представлено два вида методов:
На данный момент на портале представлено два вида методов:
# GET — используется для получения данных. Его параметры передаются в URL-ссылке. Метод безопасен (идемпотентен) и кэшируется.  
# GET — используется для получения данных. Его параметры передаются в URL-ссылке. Метод безопасен (идемпотентен) и кэшируется.  
# POST — отправляет данные в теле запроса. Используется для создания ил изменения ресурсов. Безопасен для конфиденциальной информации  
# POST — отправляет данные в теле запроса. Используется для создания или изменения ресурсов. Безопасен для конфиденциальной информации  
[[File:Пример_методов.png|thumb|center| Пример отображения методов GET и POST на странице |800px]]
[[File:Пример_методов.png|thumb|center| Пример отображения методов GET и POST на странице |800px]]
Все методы представленные в списке имеют свою конечную точку пути (endpoint), который прописан после названия типа метода и выделяется жирным шрифтом.
Все методы представленные в списке имеют свою конечную точку пути (endpoint), который указывается после названия типа метода и выделяется жирным шрифтом.
[[File:Конечная_точка.png|thumb|center| Пример отображения конечной точки метода (endpoint)|800px]]
[[File:Конечная_точка.png|thumb|center| Пример отображения конечной точки метода (endpoint)|800px]]
== '''Взаимодействие с методами''' ==
== '''Взаимодействие с методами''' ==
 
Список методов представленных на портале позволит пользователю провести тестовые подключения к серверам и получать с них примеры информации и данных передаваемых через запросы. Успешный запрос отдаст информацию по выбранному методу и пользователь сможет просмотреть полученные результаты, а также понять как реагирует платформа SmartPlayer.
=== '''Области работы методов''' ===
=== '''Области работы методов''' ===
На портале представлены методы работающие с различными частями системы. Ниже приведен список методов и область с которой они взаимодействуют:
На портале представлены методы, работающие с различными частями системы. Ниже приведен список методов и область, с которой они взаимодействуют:
* авторизация (Authorization);
* авторизация (Authorization);
* трансляции (Broadcast);
* трансляции (Broadcast);
Строка 56: Строка 60:
* настройки (Settings);
* настройки (Settings);
* расписания (Schedule);
* расписания (Schedule);
* устройства (Устройства)
* устройства (Devices)
[[File:Список_методов.png|thumb|center| Пример отображения списка доступных методов |800px]]
[[File:Список_методов.png|thumb|center| Пример отображения списка доступных методов |800px]]
{{Note|Каждый из методов имеет небольшое описание на английском идущие после обозначения.
{{Note|Каждый из методов имеет небольшое описание на английском идущее после обозначения.
[[File:Краткое_описание_метода.png|thumb|center| Пример отображения описания метода|800px]]|warn}}
[[File:Краткое_описание_метода.png|thumb|center| Пример отображения описания метода|800px]]|warn}}
</div>
</translate>
<translate>
<!--T:2-->
=== '''Список методов''' ===
=== '''Список методов''' ===
Ниже будет представлен список методов с переводом краткого описания в порядке описанном ранее:
<div class="mw-collapsible mw-collapsed" style="border:1px solid #aaa; padding:8px; background:#f9f9f9;">
Ниже будет представлен список методов с переводом краткого описания в порядке, описанном ранее:
* Авторизация:
* Авторизация:
** Вход в серверное приложение.
** Вход в серверное приложение.
Строка 89: Строка 98:
** Создать нового пользователя.
** Создать нового пользователя.
** Отправить ссылку для сброса пароля.
** Отправить ссылку для сброса пароля.
[[File:Методы_пользователя.png|thumb|center| Пример отображения доступных методов с информациях о пользователях|800px]]
[[File:Методы_пользователя.png|thumb|center| Пример отображения доступных методов с информацией о пользователях|800px]]
* Настройки:
* Настройки:
** Загрузить шрифт.
** Загрузить шрифт.
[[File:Методы_настроек.png|thumb|center| Пример отображения доступного метода для настроек|800px]]
[[File:Методы_настроек.png|thumb|center| Пример отображения доступного метода для настроек|800px]]
* Расписания:
* Расписания:
** Экспортировать расписание в архиве
** Экспортировать расписание в архиве:
[[File:Методы_расписания.png|thumb|center| Пример отображения доступного метода для расписаний|800px]]
[[File:Методы_расписания.png|thumb|center| Пример отображения доступного метода для расписаний|800px]]
* Устройства:
* Устройства:
Строка 101: Строка 110:
** Обновить таймеры digital signage
** Обновить таймеры digital signage
[[File:Методы_устройства.png|thumb|center| Пример отображения доступного метода для устройств|800px]]
[[File:Методы_устройства.png|thumb|center| Пример отображения доступного метода для устройств|800px]]
</div>
=== '''Информация внутри метода''' ===
=== '''Информация внутри метода''' ===
<div class="mw-collapsible mw-collapsed" style="border:1px solid #aaa; padding:8px; background:#f9f9f9;">
Каждый метод можно развернуть по иконке ">" и просмотреть его содержимое. Внутри метода отображается следующая информация:
* краткое описание метода (на английском);
* параметры (Parameters) запроса;
* тело запроса (Request body), с возможностью просмотра примера значений (Example Values) или схемы (Schema);
* ответы (Responses) с кодами ответов.
[[File:Данные_во_вкладке_метода.png|thumb|center| Пример отображения содержания методов|800px]]
=== '''Кнопка "Try it out" ''' ===
Кнопка "Try it out" (попробуйте это) позволяет пользователю попробовать сделать запрос к любому выбранному ранее серверу.
[[File:Кнопка попробовать.png|thumb|center| Пример отображения кнопки "Try it out" |800px]]
При её нажатии интерфейс немного меняется предлагая пользователю окно для ввода данных для запроса, либо строку для ввода значения параметра. Кнопка "Try it out" меняется на кнопку "Cancel" (удалить), которая возвращает метод в исходное состояние.
[[File:Изменение_интерфейса.png|thumb|center| Пример отображения изменений интерфейса|800px]]
Отправить запрос можно кликнув по кнопке "Execute". Ответ приходит моментально, по нажатию на кнопку.
[[File:Кнопка_отправки_запроса.png|thumb|center| Пример отображения кнопки "Execute"|800px]]
Ответ будет отображён в разделе "Responses". Запрос можно повторить снова нажав кнопку "Execute" и введя другой параметр. Или очистить содержимое запроса нажав на кнопку "Clear".
[[File:Изменения.png|thumb|center| Пример отображения ответа и изменения интерфейса после запроса к серверу|800px]]
</div>
</translate>
<translate>
<!--T:3-->
== '''Схемы (Schemas)''' ==
== '''Схемы (Schemas)''' ==
<div class="mw-collapsible mw-collapsed" style="border:1px solid #aaa; padding:8px; background:#f9f9f9;">
Данный раздел описывает информацию о структуре данных, с которыми работает API.
Данный раздел описывает информацию о структуре данных, с которыми работает API.
[[File:Раздел_схемы.png|thumb|center| Пример отображения раздела "Schemas"|800px]]
[[File:Раздел_схемы.png|thumb|center| Пример отображения раздела "Schemas"|800px]]
Строка 113: Строка 144:
# Возможность повторного использования моделей.
# Возможность повторного использования моделей.
# Понимание ошибок.
# Понимание ошибок.
Чтобы развернуть любую вкладку раздела пользователю нужно нажать на иконку ">". После открытия вкладки пользователь увидит два столбца:  
Чтобы развернуть любую вкладку раздела, пользователю нужно нажать на иконку ">". После открытия вкладки пользователь увидит два столбца:  
* первый столбец — название параметра;
* первый столбец — название параметра;
* второй столбец — тип данных параметра.
* второй столбец — тип данных параметра.
Строка 119: Строка 150:
В некоторых случаях под типом данных (во втором столбце) располагается описание или пример (example).
В некоторых случаях под типом данных (во втором столбце) располагается описание или пример (example).
[[File:Опсание_или_пример.png|thumb|center| Пример отображения описания или примеров|800px]]
[[File:Опсание_или_пример.png|thumb|center| Пример отображения описания или примеров|800px]]
Также присутствует ситуация, когда пользователь вместо типа данных получает еще одну вкладку (называние + ">"). Необходимо просто разворачивать доступные вкладки по иконке ">". Вложенностей такого формата может быть несколько.
Также присутствует ситуация, когда пользователь вместо типа данных получает ещё одну вкладку (название + ">"). Необходимо просто разворачивать доступные вкладки по иконке ">". Вложенностей такого формата может быть несколько.
[[File:Вложенность_вкладок.png|thumb|center| Пример отображения вложенных вкладок|800px]]
[[File:Вложенность_вкладок.png|thumb|center| Пример отображения вложенных вкладок|800px]]
</div>
== '''Взаимодействие через Postman''' ==
== '''Взаимодействие через Postman''' ==
Для продвинутых пользователей доступен альтернативный вариант - обращение к ресурсам компании SmartPlayer через Postman.<br>
<div class="mw-collapsible mw-collapsed" style="border:1px solid #aaa; padding:8px; background:#f9f9f9;">
Установив и запустив Postman пользователю необходимо выбрать сервер, к которому он будет обращаться и прописать (скопировать) его URL-адрес.
Для продвинутых пользователей доступен альтернативный вариант обращение к ресурсам компании SmartPlayer через Postman.<br>
Установив и запустив Postman, пользователю необходимо нажать на кнопку "New" и выбрать вариант типа API. В данном случае это "HTTP" (он же REST).
[[File:Новый_запрос_в_постман.png|thumb|center| Пример отображения интерфейса Postman|800px]]
После необходимо выбрать тип запроса из списка и вставить нужный URL-адрес (название сервера + /название конечной точки). В данном примере URL-адрес будет: https://develop-api.smartplayer.org/login.
[[File:Вариант_запроса.png|thumb|center| Пример отображения тип запроса и URL-адреса|800px]]
Настроить параметры в разделе "Headers", по необходимости (параметры указаны на портале в теле метода) и тело запроса "Body" → "Raw" (если необходимо, также в теле описания метода на портале).
[[File:Тело_запроса.png|thumb|center| Пример отображения "Headers" и "Body" → "Row"|800px]]
{{Note|Также в зависимости от запроса может понадобиться настроить авторизацию (раздел "Authorization" в Postman). Она реализована через "bearer token".|warn}}
Далее нажимаем на кнопку "Send" и моментально получаем ответ, который расположен в нижней части экрана.
[[File:Тело_ответа.png|thumb|center| Пример отображения кнопки "Send" и ответа по запросу|800px]]
Сравниваем его с информацией, указанной на портале.
</div>
== '''Видеоинструкция''' ==
== '''Видеоинструкция''' ==
[https://vkvideo.ru/video-227547238_456239130 Подключение к внешнему REST API]
[https://vkvideo.ru/video-227547238_456239131 Подключение к внешнему REST API]
== '''Дополнительная информация''' ==
== '''Дополнительная информация''' ==
Если данная статья не помогает использовать функционал по назначению или после её прочтения остаются вопросы, их можно задать в разделе "Обсуждения" вверху страницы.
Если данная статья не помогает использовать функционал по назначению или после её прочтения остаются вопросы, их можно задать в разделе "Обсуждения" вверху страницы.
[[File:Обсуждение_подключения_.png|thumb|center| Пример отображения вкладки "Обсуждения" на wiki-странице |800px]]
[[File:Обсуждение_подключения_.png|thumb|center| Пример отображения вкладки "Обсуждения" на wiki-странице |800px]]
Найти дополнительную информацию можно на странице [[Как взаимодействовать пользователю с разделом "Обсуждения"]]
Найти дополнительную информацию можно на странице [[Как взаимодействовать пользователю с разделом "Обсуждения"]]
</translate>

Текущая версия от 22:50, 26 апреля 2026

Описание ситуации

Для пользователей, которые хотят подключиться по REST API рекомендуется использовать наш отдельный ресурс. На этом ресурсе пользователь опробует методы и запросы, которые позволят ему подключиться и получать данные от платформы SmartPlayer.

Портал с поддержкой REST API расположен здесь. Запросить данные для авторизации (логин и пароль) можно связавшись с нами через портал или прикрепленным специалистом компании SmartPlayer. Также можно написать на эту почту

Работа портала

Данный раздел построен на базе Swagger Plugin и позволяет не только ознакомиться с информацией для подключения по REST API, но и опробовать описанные методы, получая реальный результат. Также технически продвинутые пользователи могут протестировать описанные методы, используя Postman.

Некоторые методы, описанные на портале, могут отрабатывать некорректно. Команда SmartPlayer знает о проблемах и находится в процессе их устранения.

Сценарий использования

Предполагается, что взаимодействие с порталом будет происходить в определённой последовательности. Сценарий использования:

  1. Авторизация на портале.
  2. Выбор нужного сервера для тестирования запросов.
  3. Получение токена для использования кнопки "Authorize".
  4. Выбор нужного метода и изучение информации о нём.
  5. По кнопке "Try it out" отправлять запрос.
  6. Получение и просмотр ответа от сервера.
  7. Изучение раздела "Schemas".
Подробности будут изложены ниже на странице.

Информация на портале

После авторизации на портале пользователю откроется основная страница, на которой отобразится следующая информация:

Пример отображения главной страницы портала с REST API

На странице портала отображается информация о:

  • контактной информации о взаимодействии с командой SmartPlayer;
  • списке доступных для тестирования серверов;
  • кнопка "Authorize" (подробнее о работе с кнопкой ниже на странице);
  • список методов;
  • раздел "Schemas" (нужно пролистать страницу вниз до конца).
Пример отображения наполнения страницы портала
Пример отображения раздела "Schemas" в нижней части экрана

Выбор сервера

Для тестирования запросов с методами пользователю необходимо выбрать один из представленных в списке серверов. Каждый сервер из списка имеет формат отображения: "название" + "краткое описание" (на английском языке).

Пример отображения списка доступных серверов
Представленный список серверов не окончательный. Пользователь может с помощью Postman вручную подключиться к любому представленному из списка серверу, а также использовать другие сервера SmartPlayer. Например, "rc.smartplayer.org".

Кнопка "Atuhorize"

При нажатии на кнопку "Authorize" пользователю откроется модальное окно с описанием и полем, в котором необходимо указать токен (bearer token) для авторизации. Чтобы получить данный токен можно прочитать инструкцию, приложенную по ссылке в окне.

Пример отображения модального окна для кнопки "Authorize"

После введения токена авторизации необходимо нажать на кнопку "Close". Это вернёт пользователя на главную страницу, а также поменяет отображение иконки авторизации (выглядит как замок). Иконка будет подсвечена, а замок будет закрыт.

Пример отображения изменения иконки авторизации
При наведении на иконку авторизации интерфейс добавит ещё одну иконку, которая позволит скопировать запрос в буфер обмена.
Пример отображения иконки копирования запроса в буфер обмена

Информация о методах

На данный момент на портале представлено два вида методов:

  1. GET — используется для получения данных. Его параметры передаются в URL-ссылке. Метод безопасен (идемпотентен) и кэшируется.
  2. POST — отправляет данные в теле запроса. Используется для создания или изменения ресурсов. Безопасен для конфиденциальной информации
Пример отображения методов GET и POST на странице

Все методы представленные в списке имеют свою конечную точку пути (endpoint), который указывается после названия типа метода и выделяется жирным шрифтом.

Пример отображения конечной точки метода (endpoint)

Взаимодействие с методами

Список методов представленных на портале позволит пользователю провести тестовые подключения к серверам и получать с них примеры информации и данных передаваемых через запросы. Успешный запрос отдаст информацию по выбранному методу и пользователь сможет просмотреть полученные результаты, а также понять как реагирует платформа SmartPlayer.

Области работы методов

На портале представлены методы, работающие с различными частями системы. Ниже приведен список методов и область, с которой они взаимодействуют:

  • авторизация (Authorization);
  • трансляции (Broadcast);
  • контент (Content);
  • оповещения (Notifications);
  • IP-телевидение (IP-TV);
  • пользователь (User);
  • настройки (Settings);
  • расписания (Schedule);
  • устройства (Devices)
Пример отображения списка доступных методов
Каждый из методов имеет небольшое описание на английском идущее после обозначения.
Пример отображения описания метода

Список методов

Ниже будет представлен список методов с переводом краткого описания в порядке, описанном ранее:

  • Авторизация:
    • Вход в серверное приложение.
Пример отображения доступного метода для авторизации
  • Трансляции:
    • Импортировать трансляцию.
    • Отправьте событие для изменения страницы трансляции.
    • Получить все трансляции для компании пользователя.
    • Получить трансляцию по ID.
    • Получить трансляцию по заголовку.
Пример отображения доступных методов для трансляций
  • Контент:
    • Загрузить файл.
    • Загрузка нескольких файлов.
    • Загрузка файла в видеоредактор.
    • Загрузка файлов.
Пример отображения доступных методов для контента
  • Оповещения:
    • Загрузка истории действий пользователей.
Пример отображения доступного метода для оповещений
  • IP-телевидение:
    • Экспортировать CSV-файлы для IPTV.
    • Импортировать CSV-файлы в IPTV.
Пример отображения доступных методов для IP-телевидения
  • Пользователь:
    • Обновление фотографии пользователя.
    • Создать нового пользователя.
    • Отправить ссылку для сброса пароля.
Пример отображения доступных методов с информацией о пользователях
  • Настройки:
    • Загрузить шрифт.
Пример отображения доступного метода для настроек
  • Расписания:
    • Экспортировать расписание в архиве:
Пример отображения доступного метода для расписаний
  • Устройства:
    • Получить устройство digital signage по IP-адресу
    • Получить все устройства digital signage компании
    • Обновить таймеры digital signage
Пример отображения доступного метода для устройств

Информация внутри метода

Каждый метод можно развернуть по иконке ">" и просмотреть его содержимое. Внутри метода отображается следующая информация:

  • краткое описание метода (на английском);
  • параметры (Parameters) запроса;
  • тело запроса (Request body), с возможностью просмотра примера значений (Example Values) или схемы (Schema);
  • ответы (Responses) с кодами ответов.
Пример отображения содержания методов

Кнопка "Try it out"

Кнопка "Try it out" (попробуйте это) позволяет пользователю попробовать сделать запрос к любому выбранному ранее серверу.

Пример отображения кнопки "Try it out"

При её нажатии интерфейс немного меняется предлагая пользователю окно для ввода данных для запроса, либо строку для ввода значения параметра. Кнопка "Try it out" меняется на кнопку "Cancel" (удалить), которая возвращает метод в исходное состояние.

Пример отображения изменений интерфейса

Отправить запрос можно кликнув по кнопке "Execute". Ответ приходит моментально, по нажатию на кнопку.

Пример отображения кнопки "Execute"

Ответ будет отображён в разделе "Responses". Запрос можно повторить снова нажав кнопку "Execute" и введя другой параметр. Или очистить содержимое запроса нажав на кнопку "Clear".

Пример отображения ответа и изменения интерфейса после запроса к серверу

Схемы (Schemas)

Данный раздел описывает информацию о структуре данных, с которыми работает API.

Пример отображения раздела "Schemas"

Понимание схемы данных даёт пользователю API:

  1. Понимание форматов ответа.
  2. Понимание форматов запроса.
  3. Типы данных.
  4. Обязательность полей.
  5. Понимание наличия/отсутствия вложенных структур.
  6. Возможность повторного использования моделей.
  7. Понимание ошибок.

Чтобы развернуть любую вкладку раздела, пользователю нужно нажать на иконку ">". После открытия вкладки пользователь увидит два столбца:

  • первый столбец — название параметра;
  • второй столбец — тип данных параметра.
Пример отображения отображаемой информации на открытой вкладке

В некоторых случаях под типом данных (во втором столбце) располагается описание или пример (example).

Пример отображения описания или примеров

Также присутствует ситуация, когда пользователь вместо типа данных получает ещё одну вкладку (название + ">"). Необходимо просто разворачивать доступные вкладки по иконке ">". Вложенностей такого формата может быть несколько.

Пример отображения вложенных вкладок

Взаимодействие через Postman

Для продвинутых пользователей доступен альтернативный вариант — обращение к ресурсам компании SmartPlayer через Postman.
Установив и запустив Postman, пользователю необходимо нажать на кнопку "New" и выбрать вариант типа API. В данном случае это "HTTP" (он же REST).

Пример отображения интерфейса Postman

После необходимо выбрать тип запроса из списка и вставить нужный URL-адрес (название сервера + /название конечной точки). В данном примере URL-адрес будет: https://develop-api.smartplayer.org/login.

Пример отображения тип запроса и URL-адреса

Настроить параметры в разделе "Headers", по необходимости (параметры указаны на портале в теле метода) и тело запроса "Body" → "Raw" (если необходимо, также в теле описания метода на портале).

Пример отображения "Headers" и "Body" → "Row"
Также в зависимости от запроса может понадобиться настроить авторизацию (раздел "Authorization" в Postman). Она реализована через "bearer token".

Далее нажимаем на кнопку "Send" и моментально получаем ответ, который расположен в нижней части экрана.

Пример отображения кнопки "Send" и ответа по запросу

Сравниваем его с информацией, указанной на портале.

Видеоинструкция

Подключение к внешнему REST API

Дополнительная информация

Если данная статья не помогает использовать функционал по назначению или после её прочтения остаются вопросы, их можно задать в разделе "Обсуждения" вверху страницы.

Пример отображения вкладки "Обсуждения" на wiki-странице

Найти дополнительную информацию можно на странице Как взаимодействовать пользователю с разделом "Обсуждения"