<< Click to Display Table of Contents >> Интеграция с внешними системами > Запросы к сервису интеграции > Изменение сущностей Изменение свойства типа «Бинарные данные в хранилище», «Бинарные данные» и «Картинка» |
Чтобы обновить свойства с типом «Бинарные данные», «Бинарные данные в хранилище» и «Картинка», их можно передать из внешней системы в Directum RX в виде:
•строки или массива байтов – последовательности байтов, закодированных в формате Base64. Так можно передавать небольшие бинарные данные, например текстовые файлы;
•потока данных – последовательности байтов без кодирования. Рекомендуется использовать их для передачи бинарных данных большого размера, например многостраничных PDF-документов.
Изменение свойств в виде строки или массива байтов
В запросе можно передать обновленное значение бинарного свойства в виде строки в формате Base64. Для этого напишите PATCH- или POST-запрос.
Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}(ИД)/{Имя свойства с типом Бинарные данные в хранилище, Бинарные данные или Картинка}
Пример:
https://DirectumRXServer.com/Integration/odata/IEmployees(109)/PersonalPhoto
В теле запроса укажите свойство Value. В качестве его значения напишите последовательность байтов, закодированных в формате Base64:
{
"Value": "VGVzdFN0cmluZzMzMw==..."
}
Учитывайте ограничения при написании запроса.
В ответе сервис интеграции вернет код 204 или 400. Обновленной сущности в ответе не будет, даже если указать заголовок Return со значением representation или использовать параметр $expand. Это экономит трафик. Чтобы получить измененные бинарные данные, напишите отдельный GET-запрос.
Пример
Чтобы в справочнике «Сотрудник» (Employee) для записи с идентификатором 109 обновить значение свойства Фотография (PersonalPhoto), напишите запрос:
PATCH /Integration/odata/IEmployees(109)/PersonalPhoto HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
{
"Value": "VGVzdFN0cmluZzMzMw==..."
}
В ответе сервис интеграции вернет код 204 без обновленной сущности, так как заголовок Return не указан.
Изменение свойств в виде потока данных
Для этого напишите PUT-запрос:
1.Используйте URL по формату:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}(ИД)/{Имя свойства с типом Бинарные данные в хранилище, Бинарные данные или Картинка}/$value
Пример:
https://DirectumRXServer.com/Integration/odata/IEmployees(109)/PersonalPhoto/$value
2.В обязательном заголовке Content-Type укажите тип содержимого application/octet-stream.
3.В теле запроса укажите последовательность байтов. Они в неизменном виде будут записаны в свойство.
Учитывайте ограничения при написании запроса.
В ответе сервис интеграции вернет код 204 или 400.
Пример
В Directum RX есть тип справочника «Сотрудник» (Employee). У него есть свойство Фотография с типом Картинка, которое называется PersonalPhoto. Чтобы обновить значение свойства PersonalPhoto для сущности с идентификатором 109, используйте PUT-запрос:
PUT /Integration/odata/IEmployees(109)/PersonalPhoto/$value HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/octet-stream
Accept: application/json
{
"öPNG IHDR , , " gAMA Îð a pHYs .! .!…"
}
В ответе сервис интеграции вернет код 204.
© Компания Directum, 2024 |