Marketing Creatio
PDF

Описание API сервиса глобального поиска

Сервис глобального поиска включает программный интерфейс (API), который используется для управления индексацией ElasticSearch и другими параметрами Global Search Service.

Содержание

AddSearch

DeleteSearch

GetServiceStatus

SaveIndexationConfigs

AddSite

SetSearchState

AddSearch

Создает индекс с уникальным именем в ElasticSearch. Обновляет информацию о сайте в локальной базе данных (OnSite-db), сохраняет имя индекса, идентификатор (Id) сервиса поиска и состояние поиска (Enabled). Возвращает ссылку на индекс глобального поиска в ElasticSearch, которую нужно сохранить в системную настройку GlobalSearchUrl приложения bpm’online.

  • EndPoint/URL:  ServiceUrl/addsearch.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

SiteName — название сайта.

  • Response:

status: “ok” / ”error”.

message: “http://{URL к индексу ElasticSearch}” / “{Сообщение с описанием ошибки}”.

code: 200/400.

Пример вызова в Poweshell:

$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/addsearch -Method POST -Body
$params

DeleteSearch

Удаляет индекс глобального поиска из ElasticSearch, удаляет каталог с *.sql-файлами, обновляет информацию о сайте в локальной базе данных (OnSite-db), удаляет имя индекса, идентификатор (Id) сервиса поиска, изменяет состояние поиска на Disabled.

  • EndPoint/URL:  ServiceUrl/deletesearch.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

SiteName — название сайта.

  • Response:

status: “ok” / ”error”.

message: “Global search deleted from site {Название сайта}” / “{Сообщение с описанием ошибки}”.

code: 200/400.

Пример вызова в Poweshell:

$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/deletesearch -Method POST
-Body $params

GetSearchStat

Возвращает состояние глобального поиска у сайта — название сайта и название индекса в ElasticSearch, размер индекса в байтах, дату последней индексации, состояние поиска (Enabled/Disabled), список индексируемых сущностей и их параметры. Информацию собирает из ElasticSearch и локальной базы данных (OnSite-db).

  • EndPoint/URL:  ServiceUrl/getsearchstat.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

SiteName — название сайта.

  • Response:

globalSearchStats: объект содержащий в себе параметры состояния. В случае ошибки объект будет отсутствовать. Имеет следующие свойства:

siteName — “{название сайта}”.

indexName — “{название индекса}”.

indexSize — “100500” (размер индекса в байтах).

lastIndexingDate — дата последней индексации в формате “UTC” или "0001-01-01T00:00:00.0000000", если индексация еще не производилась.

globalSearchState — состояние глобального поиска.

globalSearchIndexingEntities — список всех индексируемых сущностей сайта (записи из таблицы GlobalSearchIndexingEntity) в виде JSON.

status: “ok” / ”error”.

message: “Succeeded. Got global search stats for site {Название сайта}” / “{Сообщение с описанием ошибки}”.

code: 200/400.

Пример вызова в Poweshell:

$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/getsearchstat -Method POST
-Body $params

GetServiceStatus

Возвращает “ОК”, если сервис активен. Используется для системы мониторинга Zabbix.

  • EndPoint/URL:  ServiceUrl/getservicestatus.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

  • Response: возвращает только текст “OK”

Пример вызова в Poweshell:

$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/getservicestatus -Method POST
-Body $params

SaveIndexationConfigs

Принимает от bpm’online sql-файлы для выборки данных из БД приложения в индекс. Сохраняет их в каталог для конфигурационных файлов (RootConfigFolder\IndexName). Наполняет таблицу GlobalSearchIndexingEntity с которой работает Scheduler.

  • EndPoint/URL:  ServiceUrl/saveconfigs.

  • Request type: POST.

  • Parameters Body:

IndexationConfigs — JSON с SQL-файлами.

IndexName — имя индекса глобального поиска в приложении.

AddSite

Добавляет новый сайт в БД.

  • EndPoint/URL: ServiceUrl/addsite.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

SiteName — название сайта.

  • Response:

status: “ok” / ”error”.

message: “Site {Название сайта} was added succesfully.” / “{Сообщение с описанием ошибки}”.

code: 200/400.

Пример вызова в Poweshell:

$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/addsite -Method POST -Body
$params

SetSearchState

Устанавливает состояние глобального поиска у сайта (Enabled или Disabled). Сайт, отмеченный как Disabled, не участвует в индексации.

  • EndPoint/URL: ServiceUrl/setsearchstate.

  • Request type: POST.

  • Parameters Body:

ApiKey — ключ авторизации (указывается в Web.config).

SiteName — название сайта.

SearchState — состояние поиска (Enabled/Disabled).

  • Response:

status: “ok” / ”error”.

message: ““Success. GlobalSearch for site {Название сайта} was {disabled/enabled}. / “{Сообщение с описанием ошибки}”.

code: 200/400.

Пример вызова в Poweshell:

$params = @{
"ApiKey"="ApiKey";
"SiteName"="NameOfSite"
"SearchState"="Enabled"
}
Invoke-WebRequest -Uri http://serviceUrl/setsearchstate -Method POST
-Body $params

Смотрите также

Установка сервиса глобального поиска

Подключение сервиса глобального поиска в bpm’online

Глобальный поиск

 

Был ли данный материал полезен?

Как можно улучшить эту статью?