Financial Services Creatio, sales edition
PDF
Это документация Creatio версии 7.12.0. Мы рекомендуем использовать новую версию документации.

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

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

API сервиса включает в себя следующие действия:

AddSearch

DeleteSearch

GetServiceStatus

SaveIndexationConfigs

AddSite

SetSearchState

AddSearch

Создает индекс с уникальным именем в ElasticSearch. Обновляет информацию о сайте в локальной базе данных (OnSite-db), сохраняет имя индекса, идентификатор (Id) сервиса поиска и состояние поиска (Enabled). Возвращает ссылку на индекс глобального поиска в ElasticSearch, которую нужно сохранить в системную настройку “Адрес сервиса поиска” приложения 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.

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

$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.

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

$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.

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

$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.”

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

$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.

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

$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.

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

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

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

Настройка глобального поиска

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

 

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

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