Данный сценарий мы используем в том случае, если нам нужно совместить стандартные сценарии авторизации при помощи системных уведомлений и авторизацию через API. Для такого решения мы используем специальную настройку, которую можно установить на любом уровне авторизации, например, в приведенном ниже примере мы сначала авторизуем заказ в Кортеос, а потом делаем авторизацию в какой-то внешней системе при помощи API.
...
@id_ComplexReserve - номер авторизуемой командировки, предназначен для выгрузки при помощи метода SOAP API GetReservationDetails
@id_Authorization - идентификатор уровня авторизации, нужно передавать обратно при вызове метода согласования
@hash - подпись запроса для проверки целостности, следует передавать обратно при вызове метода согласования
...
Code Block | ||
---|---|---|
| ||
Match m = Regex.Match(hash, "COMPLEXAUTH-(.+)", RegexOptions.IgnoreCase); if (m.Success) { var svc = new ComplexAuthWS.ComplexAuthAPI(); svc.Url = CurrentWebSite.CurrentEnvironment.CurrentWebSiteUrl + "/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx"; svc.Authorize(id_Authorization: id_ComplexReserve, IsSucceed: authorize, Comment: authorize ? "согласовано" : "не согласовано", Hash: m.Groups[1].Value); return "ok"; } |
Веб-сервис для получения списка командировок, по которым была запрошена авторизация в заданный период 08.02.2022
Для получения списка необходимо использовать веб-сервис: YourDomain/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx
WSDL: YourDomain/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx?WSDL
Метод: YourDomain/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx?op=GetComplexReservesByStartAuth
Параметры:
DateTime dateFrom - дата “с“ периода
DateTime dateTo - дата “по“ периода
Authorization: Basic
Пример запроса:
Expand | ||
---|---|---|
|
Пример ответа:
Expand | ||
---|---|---|
|