8. REST API генератора отчётов
Универсальный REST API предоставляет следующую функциональность для генератора отчётов:
-  Получение списка отчётов. 
-  Получение информации об отдельном отчёте. 
-  Запуск отчёта и скачивание результата. 
-  Получение документации OpenAPI (Swagger). 
REST API использует протокол OAuth2 для аутентификации и поддерживает анонимный доступ.
Чтобы отчёт был доступен в REST API, установите флаг Visible for REST API на вкладке Roles and Screens редактора отчёта:
 
 
   Ниже приведено формальное описание некоторых особенностей REST API для генератора отчётов. Больше информации о REST API и получении OAuth-токена можно найти в документации по аддону REST API.
- Получение списка отчётов
-  
     Чтобы получить список всех существующих отчётов, выполните GET запрос по адресу: /rest/reports/v1/reportНапример: GET http://localhost:8080/app/rest/reports/v1/report HTTP/1.1 Authorization: Bearer f5a2b4b1-a121-4563-9519-dd3c0b116689 Content-Type: application/jsonОтвет будет содержать краткую информацию обо всех отчётах с установленным флагом Visible for REST API: { "id": "2dd27fbf-8830-416a-899f-339543f8f27a", "name": "Books by author" }, { "id": "2f07c9fe-5d6d-48cf-876f-8c02ac1f6c3c", "name": "Book availability in department" }
- Получение информации об отчёте
-  
     Для получения детальной информации об отчёте выполните GET запрос по адресу: /rest/reports/v1/report/{id}Последняя часть запроса здесь – это идентификатор нужного отчёта: GET http://localhost:8080/app/rest/reports/v1/report/2dd27fbf-8830-416a-899f-339543f8f27a HTTP/1.1Возвращаемый объект JSON будет содержать следующую информацию об отчёте: -  ID 
-  имя отчёта 
-  код отчёта (если задан) 
-  имеющиеся шаблоны 
-  параметры и их типы 
 { "id": "2dd27fbf-8830-416a-899f-339543f8f27a", "name": "Books by author", "templates": [ { "code": "DEFAULT", "outputType": "XLS" } ], "inputParameters": [ { "name": "Author", "alias": "author", "type": "ENTITY", "required": true, "hidden": false, "entityMetaClass": "library$Author" } ] }
-  
- Запуск отчёта
-  
     Чтобы выполнить отчёт, выполните POST запрос по адресу: /rest/reports/v1/run/{id}Последняя часть запроса здесь – это идентификатор нужного отчёта: POST http://localhost:8080/app/rest/reports/v1/run/2dd27fbf-8830-416a-899f-339543f8f27a HTTP/1.1Параметры отчёта можно передать в теле запроса: {parameters: [{name: 'author',value: '4b3a21b0-d6b7-4161-b0b6-55f118fbaac5'}]}Если необходимо запустить отчёт с шаблоном, отличным от шаблона по умолчанию, передайте код шаблона в теле запроса: {template: 'Template_1', parameters: [{name: 'author',value: '4b3a21b0-d6b7-4161-b0b6-55f118fbaac5'}]}
- Получение документации Swagger
-  
     Полная документация Swagger для дополнения Генератор отчётов доступна с помощью GET запроса по адресу: http://localhost:8080/app/rest/reports/v1/docs/swagger.json