Вопросы и ответы по интеграции сервера BOOCO с другими ИТ-системами
Для версий BOOCO Astra (v 2.x) и BOOCO Meteor (v 1.x)
Исходные требования
- ПК с установленным Postman, который имеет доступ к MS Exchange/EWS
- Поддержка Basic-авторизации в EWS (Postman поддерживает также NTLM в виде beta)
- Учетная запись в MS Exchange
Можно также использовать утилиту curl — в идеале непосредственно с хоста, где установлен сервер BOOCO, или еще лучше из контейнера.
Проверка доступа к календарю
В Postman:
- Введите адрес Exchange-сервера и выберите метод POST.
- На вкладке Authorization выберите Basic Auth и введите логин и пароль.
- На вкладке Headers укажите:
- Accept = text/xml
- Content-Type = text/xml
- На вкладке Body:
- выберите формат raw и тип xml;
- скопируйте и вставьте текст запроса:
- замените значения в полях EmailAddress и Version на те, которые используются у вас (можно также отредактировать StartDate и EndDate).
- Выполните запрос.
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
>
<soap:Header>
<t:RequestServerVersion Version="Exchange2015" />
</soap:Header>
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="calendar:AppointmentState" />
</t:AdditionalProperties>
</m:ItemShape>
<m:CalendarView
MaxEntriesReturned="1000"
StartDate="2024-07-19T12:22:29.906Z"
EndDate="2024-07-29T12:22:29.906Z"
/>
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="calendar">
<t:Mailbox>
<t:EmailAddress>user2@booco.ru</t:EmailAddress>
</t:Mailbox>
</t:DistinguishedFolderId>
</m:ParentFolderIds>
</m:FindItem>
</soap:Body>
</soap:Envelope>
Пример ответа:
<?xml version="1.0" encoding="utf-8" ?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo
MajorVersion="15"
MinorVersion="2"
MajorBuildNumber="1544"
MinorBuildNumber="11"
Version="V2017_07_11"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
/>
</s:Header>
<s:Body
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<m:FindItemResponse
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
>
<m:ResponseMessages>
<m:FindItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RootFolder TotalItemsInView="0" IncludesLastItemInRange="true">
<t:Items />
</m:RootFolder>
</m:FindItemResponseMessage>
</m:ResponseMessages>
</m:FindItemResponse>
</s:Body>
</s:Envelope>