Общие сведения

Для отправки данных в объектное или файловое хранилище используется операция Upload

В описаниях запросов, приведенных ниже, параметр baseURL это адрес публикации HTTP-сервиса ПередачаДанных в информационной базе, к которой происходит обращение. Например, a/sbm/hs/dt.

Для вызова операции Upload пользователю должна быль назначена роль УдаленныйДоступ.

Отправка данных в объектное хранилище

Запрос открытия сессии отправки данных

POST {{baseURL}}/storage/{{Storage}}/{{ID}}

Параметры URL

Параметр URL

Допустимое значение

Описание

StorageПроизвольноеИмя объектного хранилища, в которое необходимо поместить данные.
IDОпределяется хранилищемИдентификатор данных, которые необходимо поместить в объектное хранилище.

Заголовки

Имя

Значение

Описание

IBSessionstart

Система 1С:Предприятие создает новый сеанс, выполняет аутентификацию, устанавливает разделители,
выполняются все необходимые обработчики событий. Если система не может создать новый сеанс, то клиент получит
ошибку 406 Not Acceptable. Если создание сеанса выполнено успешно, в HTTP-ответ помещается директива установить
cookie ibsession с идентификатором созданного сеанса: Set-Cookie: ibsession=<ID сеанса>.

При необходимости использовать ранее созданный сеанс, в HTTP-запросе к системе 1С:Предприятие необходимо указать
идентификатор ранее созданного сеанса: Cookie: ibsession=<ID сеанса>. Если в запросе указывается идентификатор сеанса,
который ранее не создавался или был завершен, клиент получает ошибку 400 Bad Request.

Если в HTTP-запрос не содержит заголовка IBSession, то сеанс создается и завершается при каждом вызове.

Если в процессе использования сеанса в HTTP-запросе изменяются значения разделителей или безопасный режим сеанса,,
то новые параметры игнорируются и сеанс будет использовать те значения, которые были указаны при его старте.

IBSessionfinishСистема 1С:Предприятие завершает сеанс, который указан в запросе, одновременно с командой завершения
сеанса: Cookie: ibsession=<ID сеанса>. Завершение сеанса произойдет автоматически, если в этом сеансе не выполнялось
никаких действий за время жизни сеанса.

Тело запроса

Данный запрос не требует заполнения тела запроса. Переданная в теле запроса информация игнорируется.

Коды состояния

Код состояния

Представление

Описание

200SuccessОбъектное хранилище с именем {Storage} поддерживается.
406Not AcceptableНе удалось создать новый сеанс.
415Unsupported Media TypeОбъектное хранилище с именем {Storage} не поддерживается.

Пример запроса

POST {{baseURL}}/storage/files/filename.extension

Отправка данных в файловое хранилище

Запрос открытия сессии отправки данных

POST {{baseURL}}/volume/{{VolumeID}}/*

Параметры URL

Параметр URL

Допустимое значение

Описание

VolumeIDПроизвольноеИдентификатор файлового хранилища, в которое необходимо поместить данные.
*ПроизвольныйОтносительное имя файла с путем в файловом хранилище.

Заголовки

Имя

Значение

Описание

IBSessionstart

Система 1С:Предприятие создает новый сеанс, выполняет аутентификацию, устанавливает разделители,
выполняются все необходимые обработчики событий. Если система не может создать новый сеанс, то клиент получит
ошибку 406 Not Acceptable. Если создание сеанса выполнено успешно, в HTTP-ответ помещается директива установить
cookie ibsession с идентификатором созданного сеанса: Set-Cookie: ibsession=<ID сеанса>.

При необходимости использовать ранее созданный сеанс, в HTTP-запросе к системе «1С:Предприятие» необходимо указать
идентификатор ранее созданного сеанса: Cookie: ibsession=<ID сеанса>. Если в запросе указывается идентификатор сеанса,
который ранее не создавался или был завершен, клиент получает ошибку 400 Bad Request.

Если в HTTP-запрос не содержит заголовка IBSession, то сеанс создается и завершается при каждом вызове интернет-сервиса.

Если в процессе использования сеанса в HTTP-запросе изменяются значения разделителей или безопасный режим сеанса,
то новые параметры игнорируются и сеанс будет использовать те значения, которые были указаны при старте сеанса.

IBSessionfinishСистема 1С:Предприятие завершает сеанс, который указан в запросе, одновременно с командой завершения
сеанса: Cookie: ibsession=<ID сеанса>. Завершение сеанса произойдет автоматически, если в этом сеансе не выполнялось
никаких действий за время жизни сеанса.

Тело запроса

Данный запрос не требует заполнения тела запроса. Переданная в теле запроса информация игнорируется.

Коды состояний

Код состояния

Представление

Описание

200SuccessФайловое хранилище с именем {VolumeID} поддерживается.
406Not AcceptableНе удалось создать новый сеанс.
415Unsupported Media TypeФайловое хранилище с именем {VolumeID} не поддерживается.

Пример запроса

POST {{baseURL}}/volume/Volume1/path1/path2/path3/filename.extension

Возвращает 200 Success. Отправлять данные необходимо по адресу, полученному из поля Location заголовка ответа.

Адрес для отправки является временным и срок его использования ограничен.

Пример ответа

HTTP/1.1 200 Found
Location:  {{baseURL}}/upload/64a4b0a5d86a9a37a8c05de318e6d4fde5fb4b78494272b985802499d48c31bb
Set-Cookie: ibsession=<ID сеанса>.
Accept-Ranges: bytes

Отправка диапазона

Для отправки части данных необходимо использовать 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 {{baseURL}}/upload/64a4b0a5d86a9a37a8c05de318e6d4fde5fb4b78494272b985802499d48c31bb
Cookie: ibsession=<ID сеанса>.
Content-Length: 1024
Content-Range: bytes 1024-2047/2048
<последние 1024 байта данных>

Возвращает 201 Created, если запрошенный диапазон данных успешно получен.

Пример ответа

HTTP/1.1 201 Created