Общие сведения
Для отправки данных в объектное или файловое хранилище используется операция Upload.
В описаниях запросов, приведенных ниже, параметр baseURL это адрес публикации HTTP-сервиса ПередачаДанных в информационной базе, к которой происходит обращение. Например, https://example.com/a/smtl/1/hs/dt.
Для вызова операции Upload пользователю должна быль назначена роль УдаленныйДоступ.
Отправка данных в объектное хранилище
POST {{baseURL}}/storage/{{Storage}}/{{ID}}
Параметры URL
Параметр URL | Допустимое значение | Описание |
|---|---|---|
| Storage | Произвольное | Имя объектного хранилища, в которое необходимо поместить данные. |
| ID | Определяется хранилищем | Идентификатор данных, которые необходимо поместить в объектное хранилище. |
Заголовки
Имя | Значение | Описание |
|---|---|---|
| IBSession | start | Система 1С:Предприятие создает новый сеанс, выполняет аутентификацию, устанавливает разделители, При необходимости использовать ранее созданный сеанс, в HTTP-запросе к системе 1С:Предприятие необходимо указать Если в HTTP-запрос не содержит заголовка IBSession, то сеанс создается и завершается при каждом вызове. Если в процессе использования сеанса в HTTP-запросе изменяются значения разделителей или безопасный режим сеанса,, |
| IBSession | finish | Система 1С:Предприятие завершает сеанс, который указан в запросе, одновременно с командой завершения сеанса: Cookie: ibsession=<ID сеанса>. Завершение сеанса произойдет автоматически, если в этом сеансе не выполнялось никаких действий за время жизни сеанса. |
Тело запроса
Данный запрос не требует заполнения тела запроса. Переданная в теле запроса информация игнорируется.
Коды состояния
Код состояния | Представление | Описание |
|---|---|---|
| 200 | Success | Объектное хранилище с именем {Storage} поддерживается. |
| 406 | Not Acceptable | Не удалось создать новый сеанс. |
| 415 | Unsupported Media Type | Объектное хранилище с именем {Storage} не поддерживается. |
POST https://example.com/a/smtl/1/hs/dt/storage/files/filename.extension
Отправка данных в файловое хранилище
POST {{baseURL}}/volume/{{VolumeID}}/*
Параметры URL
Параметр URL | Допустимое значение | Описание |
|---|---|---|
| VolumeID | Произвольное | Идентификатор файлового хранилища, в которое необходимо поместить данные. |
| * | Произвольный | Относительное имя файла с путем в файловом хранилище. |
Заголовки
Имя | Значение | Описание |
|---|---|---|
| IBSession | start | Система 1С:Предприятие создает новый сеанс, выполняет аутентификацию, устанавливает разделители, При необходимости использовать ранее созданный сеанс, в HTTP-запросе к системе «1С:Предприятие» необходимо указать Если в HTTP-запрос не содержит заголовка IBSession, то сеанс создается и завершается при каждом вызове интернет-сервиса. Если в процессе использования сеанса в HTTP-запросе изменяются значения разделителей или безопасный режим сеанса, |
| IBSession | finish | Система 1С:Предприятие завершает сеанс, который указан в запросе, одновременно с командой завершения сеанса: Cookie: ibsession=<ID сеанса>. Завершение сеанса произойдет автоматически, если в этом сеансе не выполнялось никаких действий за время жизни сеанса. |
Тело запроса
Данный запрос не требует заполнения тела запроса. Переданная в теле запроса информация игнорируется.
Коды состояний
Код состояния | Представление | Описание |
|---|---|---|
| 200 | Success | Файловое хранилище с именем {VolumeID} поддерживается. |
| 406 | Not Acceptable | Не удалось создать новый сеанс. |
| 415 | Unsupported Media Type | Файловое хранилище с именем {VolumeID} не поддерживается. |
POST https://example.com/a/smtl/1/hs/dt/volume/Volume1/path1/path2/path3/filename.extension
Возвращает 200 Success. Отправлять данные необходимо по адресу, полученному из поля Location заголовка ответа.
Адрес для отправки является временным и срок его использования ограничен.
PUT https://example.com/a/smtl/1/hs/dt/upload/64a4b0a5d86a9a37a8c05de318e6d4fde5fb4b78494272b985802499d48c31bb Cookie: ibsession=<ID сеанса>. Content-Length: 1024 Content-Range: bytes 0-1023/2048
Отправка диапазона
Для отправки части данных необходимо использовать HTTP-заголовок Content-Range в соответствии с RFC 2616.
Обратите внимание на то, что к HTTP-запросу после получения перенаправления 200 Success необходимо добавить заголовок Content-Range
PUT {{baseURL}}/upload/64a4b0a5d86a9a37a8c05de318e6d4fde5fb4b78494272b985802499d48c31bb
Cookie: ibsession=<ID сеанса>.
Content-Length: 1024
Content-Range: bytes 0-1023/2048
Возвращает 202 Accepted, если запрошенный диапазон данных был успешно получен.
HTTP/1.1 202 Accepted
PUT https://example.com/a/smtl/1/hs/dt/upload/64a4b0a5d86a9a37a8c05de318e6d4fde5fb4b78494272b985802499d48c31bb Cookie: ibsession=<ID сеанса>. Content-Length: 1024 Content-Range: bytes 1024-2047/2048 <последние 1024 байта данных>
Возвращает 201 Created, если запрошенный диапазон данных успешно получен.
HTTP/1.1 201 Created