Через API СБИС получаю ссылку на документ вида https://disk.sbis.ru/disk/api/v1/длинная_длинная_строка.
В браузере при переходе по ссылке в итоге получаю XML-документ.
Если пытаюсь получить его программно, то в ответ прилетает то 302, то 307 код...

```1c
    ИмяВходящегоФайла = "t:\1.xml";
    СерверИсточник = "disk.sbis.ru";
    Адрес = Новый HTTPЗапрос("/disk/api/v1/длинная_длинная_строка");
    НТТР = Новый HTTPСоединение(СерверИсточник,443,,,,15,Новый ЗащищенноеСоединениеOpenSSL());
    Ответ = НТТР.ОтправитьДляОбработки(Адрес, ИмяВходящегоФайла);
```

Куда копать?
Может, можно XML сразу через API СБИС получить, но в описалове не нашел ничего похожего.
---
Решение:

```1c
    СерверИсточник = "online.sbis.ru";
    ВременноеИмяВходящегоФайла = ПолучитьИмяВременногоФайла("xml");
    Адрес = Новый HTTPЗапрос("/disk/api/v1/длинная_длинная_строка");
    Адрес.Заголовки.Вставить("Content-Type","application/json-rpc;charset=utf-8");
    Адрес.Заголовки.Вставить("User-Agent","1С");
    Адрес.Заголовки.Вставить("X-SBISSessionID", Сессия);
    НТТР = Новый HTTPСоединение(СерверИсточник,443,,,,15,Новый ЗащищенноеСоединениеOpenSSL());
    Ответ = НТТР.Получить(Адрес, ВременноеИмяВходящегоФайла);
    Если Ответ.КодСостояния = 200 Тогда
    ЗаголовокКонтент = Ответ.Заголовки["content-disposition"];
    ИмяФайлаСБИС = СтрРазделить(ЗаголовокКонтент,"'", Ложь)[1];
    ПереместитьФайл(ВременноеИмяВходящегоФайла, "Путь_куда_положить_файл_XML");
    КонецЕсли;
```
---
где Заголовки запроса? Где авторизация?
Посмотреть какой адрес перенаправления возвращается.
---
проверьте РеГиСтР букв в адресе
---
Из рабочей ссылки пример, не в регистре дело.
---
Так может get-запрос нужен? Тогда

```1c
    Ответ = HTTP.Получить(Адрес, ИмяВходящегоФайла);
```
---
Изначально так и пробовал, тоже не получилось.
---
Посмотрел как я делал - стучусь на online.sbis.ru, запрос - disk/api/v1/длинная_строка, в заголовках передаю id сессии, content-type и user-agent. Попробуйте, в общем

```1c
    СерверИсточник = "online.sbis.ru";
```

И запрос - GET, то есть Соединение.Получить.
---
Решение:

```1c
    СерверИсточник = "online.sbis.ru";
    ВременноеИмяВходящегоФайла = ПолучитьИмяВременногоФайла("xml");
    Адрес = Новый HTTPЗапрос("/disk/api/v1/длинная_длинная_строка");
    Адрес.Заголовки.Вставить("Content-Type","application/json-rpc;charset=utf-8");
    Адрес.Заголовки.Вставить("User-Agent","1С");
    Адрес.Заголовки.Вставить("X-SBISSessionID", Сессия);
    НТТР = Новый HTTPСоединение(СерверИсточник,443,,,,15,Новый ЗащищенноеСоединениеOpenSSL());
    Ответ = НТТР.Получить(Адрес, ВременноеИмяВходящегоФайла);
    Если Ответ.КодСостояния = 200 Тогда
    ЗаголовокКонтент = Ответ.Заголовки["content-disposition"];
    ИмяФайлаСБИС = СтрРазделить(ЗаголовокКонтент,"'", Ложь)[1];
    ПереместитьФайл(ВременноеИмяВходящегоФайла, "Путь_куда_положить_файл_XML");
    КонецЕсли;
```
---
Спасибо, помогло! Делаю прогрузку кодов маркировки, все данные возвращаются по API в структуре ответа, а сами коды какого-то... засунуты во вложение в XML файл.

Если что вот код разбора самого xml, после получения, чтобы вытащить из него коды маркировки:код разбора xmlТЧСбисНом = Новый ТаблицаЗначений;
ТЧСбисНом.Колонки.Добавить("НаименованиеСбис");
ТЧСбисНом.Колонки.Добавить("КодСбис");
ТЧСбисНом.Колонки.Добавить("КодМаркировки");

Ответ.КодСостояния = 200 Тогда
ЗаголовокКонтент = Ответ.Заголовки["content-disposition"];
ИмяФайлаСБИС = СтрРазделить(ЗаголовокКонтент,"'", Ложь)[1];

ЧтениеXMLФайл=Новый ЧтениеXML;
ЧтениеXMLФайл.ОткрытьФайл(ВременноеИмяВходящегоФайла);

НаименованиеСбис = "";
КодСбис = "";
КоличествоСбис = 0;

Пока ЧтениеXMLФайл.Прочитать() Цикл
 Если ЧтениеXMLФайл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
  Поле = ЧтениеXMLФайл.Имя;
  Если Поле = "ТаблСчФакт" Тогда
   Индекс = 1;
   Пока Истина Цикл
    Попытка
     Фабрика=Новый ФабрикаXDTO;
     ОбXDTO=Фабрика.ПрочитатьXML(ЧтениеXMLФайл);
     Попытка
      НаименованиеСбис = ОбXDTO.СведТов.НаимТов;
      КоличествоСбис = Число(ОбXDTO.СведТов.КолТов);
      КодСбис = ОбXDTO.СведТов.ДопСведТов.КодТов;
      Пока Не КоличествоСбис = 0 Цикл
       НовСтр = ТЧСбисНом.Добавить();
       НовСтр.НаименованиеСбис = НаименованиеСбис;
       НовСтр.КодСбис = КодСбис;
       НовСтр.КодМаркировки = ОбXDTO.СведТов.ДопСведТов.НомСредИдентТов.КИЗ[КоличествоСбис-1];
       КоличествоСбис = КоличествоСбис -1;
      КонецЦикла;
     Исключение
      Для Каждого СтрДТ Из ОбXDTO.СведТов Цикл
       НаименованиеСбис = СтрДТ.НаимТов;
       КоличествоСбис = Число(СтрДТ.КолТов);
       КодСбис = СтрДТ.ДопСведТов.КодТов;
       Пока Не КоличествоСбис = 0 Цикл
        НовСтр = ТЧСбисНом.Добавить();
        НовСтр.НаименованиеСбис = НаименованиеСбис;
        НовСтр.КодСбис = КодСбис;
        НовСтр.КодМаркировки = СтрДТ.ДопСведТов.НомСредИдентТов.КИЗ[КоличествоСбис-1];
        КоличествоСбис = КоличествоСбис -1;
       КонецЦикла;
      КонецЦикла;
     КонецПопытки;
    Исключение
     Прервать;
    КонецПопытки;
    Индекс = Индекс + 1;
   КонецЦикла;
   Прервать;
  КонецЕсли;
 КонецЕсли;
КонецЦикла;
ЧтениеXMLФайл.Закрыть();