# Сделано ИИ

# Поручение экспедитору

Схемы форматов Поручения экспедитору и расписок доступны на сайте ФНС [по ссылке](https://www.nalog.gov.ru/rn77/about_fts/docs/16627946/)

## Почему в комплекте 3 xsd схемы ON\_POREXPEXP\_1\_958\_06\_05\_01\_01.xsd ON\_POREXPKLT\_1\_958\_05\_05\_01\_01.xsd ON\_POREXPOTZ\_1\_958\_07\_05\_01\_01.xsd какая за что отвечает?  


<span>в комплекте действительно </span>**<span>три XSD-схемы</span>**<span>, и это не случайно. Они соответствуют </span>**<span>трём разным файлам обмена</span>**<span>, которые вместе составляют жизненный цикл электронного поручения экспедитору в ГИС ЭПД.</span>

<span>Вот подробная расшифровка, какая схема за что отвечает, с прямыми ссылками на ваш файл.</span>

---

### <span>1. ON\_POREXPKLT\_1\_958\_05\_05\_01\_01.xsd — </span>**<span>Информация клиента</span>**<span> (первичное поручение)</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9F%D1%80"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Параметр</span></th><th><span>Значение</span></th></tr></thead><tbody><tr><td>**<span>Префикс</span>**</td><td>`ON_POREXPKLT`<span> (расшифровывается как </span>**<span>Por</span>**<span>uchenie </span>**<span>Exp</span>**<span>editorskoe </span>**<span>K</span>**<span>lient — Поручение Экспедитору, Клиент)</span></td></tr><tr><td>**<span>За что отвечает</span>**</td><td><span>Это </span>**<span>основной документ</span>**<span>, который создаёт </span>**<span>клиент</span>**<span> (заказчик). В нём содержится вся информация о перевозке: данные о грузе, маршруте, сторонах (грузоотправитель, грузополучатель, экспедитор), условиях, страховке и т.д.</span></td></tr><tr><td>**<span>Кто подписывает</span>**</td><td><span>Клиент (отправитель файла)</span></td></tr><tr><td>**<span>Ссылка в вашем файле</span>**</td><td><span>Раздел </span>**<span>II</span>**<span> (стр. 2–33), таблицы 5.1–5.49. Имя схемы указано в пункте 4: </span>`ON_POREXPKLT_1_958_05_05_01_xx`</td></tr></tbody></table>

</div><span>Это </span>**<span>"оферта"</span>**<span> от клиента экспедитору.</span>

---

### <span>2. ON\_POREXPEXP\_1\_958\_06\_05\_01\_01.xsd — </span>**<span>Информация экспедитора</span>**<span> (согласование)</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9F%D1%80-1"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Параметр</span></th><th><span>Значение</span></th></tr></thead><tbody><tr><td>**<span>Префикс</span>**</td><td>`ON_POREXPEXP`<span> (</span>**<span>Por</span>**<span>uchenie </span>**<span>Exp</span>**<span>editorskoe </span>**<span>Exp</span>**<span>editor — Поручение Экспедитору, Экспедитор)</span></td></tr><tr><td>**<span>За что отвечает</span>**</td><td><span>Это </span>**<span>ответный документ</span>**<span>, который создаёт </span>**<span>экспедитор</span>**<span>. Он подтверждает (согласовывает) принятие поручения, указывает свой реестровый номер, дополнительные условия, информацию о привлечении третьих лиц, оплате и транспортировке.</span></td></tr><tr><td>**<span>Кто подписывает</span>**</td><td><span>Экспедитор (отправитель файла)</span></td></tr><tr><td>**<span>Ссылка в вашем файле</span>**</td><td><span>Раздел </span>**<span>III</span>**<span> (стр. 33–57), таблицы 7.1–7.37. Имя схемы указано в пункте 6: </span>`ON_POREXPEXP_1_958_06_05_01_xx`</td></tr></tbody></table>

</div><span>Это </span>**<span>"акцепт"</span>**<span> от экспедитора клиенту. Без этого файла электронное поручение считается недействительным (п. 2 вашего документа).</span>

---

### <span>3. ON\_POREXPOTZ\_1\_958\_07\_05\_01\_01.xsd — </span>**<span>Отзыв поручения клиентом</span>**

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9F%D1%80-2"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Параметр</span></th><th><span>Значение</span></th></tr></thead><tbody><tr><td>**<span>Префикс</span>**</td><td>`ON_POREXPOTZ`<span> (</span>**<span>Por</span>**<span>uchenie </span>**<span>Exp</span>**<span>editorskoe </span>**<span>Otz</span>**<span>yv — Поручение Экспедитору, Отзыв)</span></td></tr><tr><td>**<span>За что отвечает</span>**</td><td><span>Это </span>**<span>опциональный документ</span>**<span>, который создаёт </span>**<span>клиент</span>**<span>, если он хочет отозвать уже выданное поручение экспедитору. В нём указывается причина отзыва, дата прекращения исполнения, обязательство возместить фактические расходы экспедитору и инструкции по возврату груза.</span></td></tr><tr><td>**<span>Кто подписывает</span>**</td><td><span>Клиент</span></td></tr><tr><td>**<span>Ссылка в вашем файле</span>**</td><td><span>Раздел </span>**<span>IV</span>**<span> (стр. 57–69), таблицы 9.1–9.23. Имя схемы указано в пункте 8: </span>`ON_POREXPOTZ_1_958_07_05_01_xx`</td></tr></tbody></table>

</div><span>Это </span>**<span>"аннулирование"</span>**<span> или отказ от поручения.</span>

---

### <span>Схема взаимодействия (последовательность)</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-text"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
1. Клиент формирует XML по схеме ON_POREXPKLT → подписывает → отправляет экспедитору
   ↓
2. Экспедитор получает, проверяет, формирует XML по схеме ON_POREXPEXP → подписывает → отправляет клиенту
   ↓
3. (Если нужно) Клиент формирует XML по схеме ON_POREXPOTZ → подписывает → отправляет экспедитору
```

<div class="md-code-block md-code-block-dark" id="bkmrk--4"></div>---

### <span>💡 Почему три, а не одна?</span>

<span>Потому что электронное поручение — это </span>**<span>двухсторонний (а в случае отзыва — трёхсторонний в смысле стадий) документооборот</span>**<span>. Каждая сторона создаёт </span>**<span>свой отдельный XML-файл</span>**<span> со своей подписью. Это позволяет:</span>

- <span>Чётко разделить ответственность (кто что внёс);</span>
- <span>Обеспечить юридическую значимость каждой стадии;</span>
- <span>ГИС ЭПД может сопоставить все три файла по общему </span>**<span>УИД (уникальному идентификатору)</span>**<span> и собрать целостную картину сделки.</span>

---

### <span>Где искать XSD-файлы на сайте ФНС?</span>

<span>В приказе прямо указано (п. 4, 6, 8):</span>

> *<span>"XML-схема файла обмена в электронной форме приводится отдельным файлом и размещается на официальном сайте Федеральной налоговой службы в информационно-телекоммуникационной сети «Интернет»."</span>*

<span>Обычно они публикуются в разделе </span>**<span>"Электронные услуги" → "Электронный документооборот" → "Утверждённые форматы"</span>**<span> или в карточке самого приказа в виде ZIP-архива с приложениями. Если на странице приказа их нет — обратитесь к своему оператору ЭДО, они уже должны иметь актуальные версии для настройки интеграции.  
</span>

## <span>Покажи каждый из случаев на примере, согласно указанным схемам</span>

<span>Отлично, теперь, имея на руках сами XSD-схемы, мы можем показать </span>**<span>реальные XML-фрагменты</span>**<span> для каждого из трёх файлов обмена. Ниже приведены </span>**<span>минимальные валидные примеры</span>**<span> (согласно логике схем), которые показывают структуру и ключевые элементы.</span>

---

### <span>Случай 1. Клиент создаёт поручение (ON\_POREXPKLT)</span>

**<span>Кто:</span>**<span> Клиент (грузоотправитель или заказчик).</span>  
**<span>Цель:</span>**<span> Отправить экспедитору заявку на организацию перевозки.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="UTF-8"?>
<Файл ИдФайл="ON_POREXPKLT_1234567890_20260601_550e8400-e29b-41d4-a716-446655440000"
      ВерсПрог="1.0"
      ВерсФорм="5.01">
  <Документ КНД="1110486"
            НаимДок="электронное поручение экспедитору, информация клиента"
            ДатИнфКлнт="01.06.2026"
            ВрИнфКлнт="12:00:00">
    <СодИнфКлнт СодОпер="представление электронного поручения экспедитору"
                НомДок="ПЭ-001"
                ДатаДок="01.06.2026"
                ДокГруз="0">
      <!-- Сведения о грузе -->
      <СвГруз ПрУведСторон="0"
              ДатОтгрС="01.06.2026"
              ДатОтгрПо="02.06.2026"
              ПрзПрвз="0"
              ОтмПрием="0">
        <СвГП>
          <ИдСв>
            <СвЮЛУч НаимОрг="ООО Получатель"
                    ИННЮЛ="1234567890"/>
          </ИдСв>
        </СвГП>
        <СвГО>
          <ИдСв>
            <СвЮЛУч НаимОрг="ООО Отправитель"
                    ИННЮЛ="0987654321"/>
          </ИдСв>
        </СвГО>
        <СвТС ВидТС="1"/> <!-- автотранспорт -->
        <ОпГруз НаимГруз="Запчасти"
                КолМестГр="10"
                ПрзОпаснГруз="0"
                ПрзИзъятВещ="0"
                УказОбъем="0"
                УчГосСист="0"
                НалУпак="0"
                НалКодТовНом="0">
          <Марк>Отсутствует</Марк>
          <СвСтрПроисх КодСтр="643"
                       НаимСтран="Россия"/>
          <ВесГруз ВесНетто="250.000"
                   ВесБрутто="260.000"/>
        </ОпГруз>
        <АдрГруз>
          <АдрПриемГруз>
            <Адрес>
              <АдрРФ КодРегион="77"
                     НаимРегион="г. Москва"/>
            </Адрес>
          </АдрПриемГруз>
        </АдрГруз>
        <АдрПунктНазн>
          <АдрВыдГруз>
            <Адрес>
              <АдрРФ КодРегион="78"
                     НаимРегион="г. Санкт-Петербург"/>
            </Адрес>
          </АдрВыдГруз>
        </АдрПунктНазн>
      </СвГруз>
      <!-- Участники -->
      <СвКлнт>
        <ИдСв>
          <СвЮЛУч НаимОрг="ООО Клиент"
                  ИННЮЛ="1111111111"/>
        </ИдСв>
      </СвКлнт>
      <СвЭксп>
        <ИдСв>
          <СвЮЛУч НаимОрг="ООО Экспедитор"
                  ИННЮЛ="2222222222"/>
        </ИдСв>
      </СвЭксп>
      <!-- Договор -->
      <ДогТрЭксп РеквНаимДок="Договор транспортной экспедиции"
                 РеквНомерДок="Д-001"
                 РеквДатаДок="01.01.2026"/>
    </СодИнфКлнт>
    <!-- Подпись клиента -->
    <ПодпИнфКлнт СпосПодтПолном="1">
      <ФИО Фамилия="Иванов"
           Имя="Иван"
           Отчество="Иванович"/>
    </ПодпИнфКлнт>
  </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--8"></div>---

### <span>Случай 2. Экспедитор согласует (ON\_POREXPEXP)</span>

**<span>Кто:</span>**<span> Экспедитор.</span>  
**<span>Цель:</span>**<span> Подтвердить принятие поручения, указать свои условия и реестровый номер.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="UTF-8"?>
<Файл ИдФайл="ON_POREXPEXP_0987654321_20260601_550e8400-e29b-41d4-a716-446655440001"
      ВерсПрог="1.0"
      ВерсФорм="5.01">
  <Документ КНД="1110487"
            НаимДок="электронное поручение экспедитору, информация экспедитора"
            ДатИнфЭксп="01.06.2026"
            ВрИнфЭксп="14:30:00">
    <!-- Ссылка на файл клиента -->
    <ИдИнфКлнт ИдФайлИнфКлнт="ON_POREXPKLT_1234567890_20260601_550e8400-e29b-41d4-a716-446655440000"
               ДатФайлИнфКлнт="01.06.2026"
               ВрФайлИнфКлнт="12:00:00">
      <ЭП>base64-подпись-клиента</ЭП>
    </ИдИнфКлнт>
    <!-- Согласование экспедитора -->
    <СодИнфЭксп УИД_ПорЭксп="550e8400-e29b-41d4-a716-446655440000"
                НомРеестр="Р-001"
                ДатаРеестр="01.06.2026"
                СодОпер="согласование подлежащих оказанию транспортно-экспедиционных услуг и условий">
      <!-- Дополнительная информация об услугах -->
      <ДопИнфЭксп ПризнИсп="1"
                  НаимУсл="Организация автоперевозки">
        <СвОплата ОбщСтУсл="50000.00"
                   НалСт="без НДС"
                   КодОКВ="643"
                   НаимОКВ="Российский рубль"/>
        <СвТрсГруз МаршСлГруз="Москва → Санкт-Петербург">
          <СвТСДост ВидТС="1">
            <СвВодит НомВУ="1234567890"
                     СерВУ="78"
                     ДатаВыдВУ="01.01.2020">
              <Тлф>+79111234567</Тлф>
              <ФИО Фамилия="Петров"
                   Имя="Петр"
                   Отчество="Петрович"/>
            </СвВодит>
          </СвТСДост>
        </СвТрсГруз>
      </ДопИнфЭксп>
    </СодИнфЭксп>
    <!-- Подпись экспедитора -->
    <ПодпИнфЭксп СпосПодтПолном="1">
      <ФИО Фамилия="Сидоров"
           Имя="Сергей"
           Отчество="Александрович"/>
    </ПодпИнфЭксп>
  </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--10"></div>---

### <span>Случай 3. Клиент отзывает поручение (ON\_POREXPOTZ)</span>

**<span>Кто:</span>**<span> Клиент.</span>  
**<span>Цель:</span>**<span> Отозвать ранее выданное поручение и уведомить экспедитора.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml-2"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="UTF-8"?>
<Файл ИдФайл="ON_POREXPOTZ_1122334455_20260602_550e8400-e29b-41d4-a716-446655440002"
      ВерсПрог="1.0"
      ВерсФорм="5.01">
  <Документ КНД="1110488"
            НаимДок="электронное поручение экспедитору, информация клиента об отзыве поручения экспедитору"
            ДатИнфОтз="02.06.2026"
            ВрИнфОтз="09:00:00">
    <!-- Ссылка на файл клиента (первичное поручение) -->
    <ИдИнфКлнт ИдФайлИнфКлнт="ON_POREXPKLT_1234567890_20260601_550e8400-e29b-41d4-a716-446655440000"
               ДатФайлИнфКлнт="01.06.2026"
               ВрФайлИнфКлнт="12:00:00">
      <ЭП>base64-подпись-клиента-первичная</ЭП>
    </ИдИнфКлнт>
    <!-- Содержание отзыва -->
    <СодИнфОтз УИД_ПорЭксп="550e8400-e29b-41d4-a716-446655440000"
               СодОпер="отзыв поручения экспедитору и обязательство возместить экспедитору фактические расходы"
               ДатаОтз="02.06.2026"
               СумФактРасх="1500.00">
      <СвВозврГруз УслВозврГруз="2"> <!-- забирает клиент -->
        <КонтЛицо Фамилия="Иванов"
                  Имя="Иван"
                  Отчество="Иванович"/>
        <Контакт>
          <Тлф>+79119876543</Тлф>
        </Контакт>
        <АдрПунктВозвр>
          <Адрес>
            <АдрРФ КодРегион="77"
                   НаимРегион="г. Москва"/>
          </Адрес>
        </АдрПунктВозвр>
      </СвВозврГруз>
    </СодИнфОтз>
    <!-- Подпись клиента -->
    <ПодпИнфОтз СпосПодтПолном="1">
      <ФИО Фамилия="Иванов"
           Имя="Иван"
           Отчество="Иванович"/>
    </ПодпИнфОтз>
  </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--12"></div>---

### <span>📌 Ключевые отличия в структуре (по схемам)</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%A7%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC-on_por"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Что проверяем</span></th><th><span>ON\_POREXPKLT (клиент)</span></th><th><span>ON\_POREXPEXP (экспедитор)</span></th><th><span>ON\_POREXPOTZ (отзыв)</span></th></tr></thead><tbody><tr><td>**<span>КНД</span>**</td><td>`1110486`</td><td>`1110487`</td><td>`1110488`</td></tr><tr><td>**<span>Содержание операции</span>**</td><td>`представление электронного поручения экспедитору`</td><td>`согласование подлежащих оказанию ...`</td><td>`отзыв поручения экспедитору ...`</td></tr><tr><td>**<span>Обязательные реквизиты</span>**</td><td><span>Номер поручения, дата, груз, стороны, договор</span></td><td><span>УИД поручения, номер и дата реестра</span></td><td><span>УИД поручения, дата отзыва</span></td></tr><tr><td>**<span>Вложенные блоки</span>**</td><td>`СвГруз`<span>, </span>`СвКлнт`<span>, </span>`СвЭксп`<span>, </span>`ДогТрЭксп`</td><td>`ИдИнфКлнт`<span> (ссылка на файл клиента + его ЭП), </span>`ДопИнфЭксп`</td><td>`ИдИнфКлнт`<span>, </span>`СвВозврГруз`</td></tr><tr><td>**<span>Признак для экспедитора</span>**</td><td><span>Нет</span></td><td>`ПризнИсп`<span> (1/2/3)</span></td><td><span>Нет</span></td></tr></tbody></table>

</div>---

### <span>💡 Что важно понимать про эти примеры</span>

1. **<span>Все примеры минимальны</span>**<span> — в реальности поля будут заполнены полнее (адреса, банковские реквизиты, контактные данные и т.д.).</span>
2. **<span>Связка по УИД</span>**<span> — во втором и третьем файлах обязательно указывается </span>`УИД_ПорЭксп`<span>, полученный от ГИС ЭПД или из первого файла.</span>
3. **<span>Подписи</span>**<span> — в примерах использован </span>`СпосПодтПолном="1"`<span> (подпись на основании данных в самой ЭП). Если нужна доверенность — нужно использовать </span>`СпосПодтПолном="3"`<span> или </span>`"5"`<span> и вложить блоки </span>`СвДоверЭл`<span> или </span>`СвДоверБум`<span>.</span>

# Единый транспортный документ

[XSD - схемы на сайте ФТС](https://www.nalog.gov.ru/rn77/about_fts/docs/16546678/)

## В Приказ ФНС России от 13.08.2025 № ЕД-7-26/717@ Два файла со схемами: xsd-схемы xsd-схемы действующие с 01.01.2026 (версия от 31.10.2025) Почему их две. Какие актуальные?

<span>Наличие двух версий XSD-схем для Приказа ФНС № ЕД-7-26/717@ — это стандартная практика ФНС. Вторая версия (от 31.10.2025) является </span>**<span>актуальной</span>**<span>, и применять её нужно с </span>**<span>1 января 2026 года</span>**<span>.</span>

### <span>Почему существуют две версии схем?</span>

<span>Это часть обычного рабочего процесса ФНС по внедрению нового формата электронного документа.</span>

1. **<span>Первая версия (исходная)</span>**<span>: Утверждена приказом от 13.08.2025 и зарегистрирована в Минюсте 15.09.2025</span><span>. Она описывает базовые форматы для нового электронного единого транспортного документа (ЕТД)</span><span>.</span>
2. **<span>Вторая версия (актуализированная)</span>**<span>: Появляется позже — версия от 31.10.2025. </span>**<span>Главная причина</span>**<span> — внесение изменений, необходимых из-за поправок в Налоговый кодекс. С 1 января 2026 года ставка НДС повышается до 22%</span><span>. ФНС оперативно обновляет все свои XSD-схемы, чтобы в XML-файлах можно было указывать новую ставку налога</span><span>. Схемы для ЕТД, как и для счетов-фактур, были скорректированы для этой цели.</span>

### <span>Какая версия актуальна?</span>

**<span>Актуальной является версия от 31.10.2025.</span>**

- **<span>С 1 января 2026 года</span>**<span> для создания электронных ЕТД нужно использовать </span>**<span>только обновленную схему (версии от 31.10.2025)</span>**<span>, поскольку она учитывает новую ставку НДС</span><span>.</span>
- <span>До этой даты (в 2025 году) можно было работать и с исходной схемой, утвержденной в августе</span><span>.</span>

<span>Таким образом, для отчетности в 2026 году следует применять XSD-схему версии от 31.10.2025.</span>

<span>Если вам нужна помощь в поиске конкретных файлов или в разборе структуры обновленной схемы — напишите.</span>

## <span>Загружаю все xsd схемы. Прошу составить минимальный пример мультимодальной перевозки. По морю, Шанхай - Владивосток; по ЖД - Владивосток - Москва; на авто - до склада получателя</span>

<span>Отлично, вы предоставили полный набор XSD-схем для электронного единого транспортного документа (ЭЕТД). На их основе я составлю минимальный, но полный пример мультимодальной перевозки по вашему маршруту.</span>

<span>Важно: Согласно Приказу ФНС, для мультимодальной перевозки информация передается частями разными участниками. Ваш полный маршрут (Шанхай -&gt; Владивосток -&gt; Москва -&gt; Склад) будет описан в </span>**<span>трех</span>**<span> основных файлах обмена, создаваемых разными сторонами:</span>

1. **<span>Информация Грузоотправителя (</span>`ON_ETDGO_1_959_01_05_01_01.xsd`<span>)</span>**<span> — создается отправителем в Шанхае. Содержит общие данные о грузе, грузополучателе, договоре и т.д. Это "шапка" документа.</span>
2. **<span>Информация Перевозчика (</span>`ON_ETDPRV_1_959_02_05_01_01.xsd`<span>)</span>**<span> — создается перевозчиком (например, логистической компанией). Содержит </span>**<span>полный маршрут (</span>`МрштПрвз`<span>)</span>**<span> из нескольких участков и детали по каждому виду транспорта.</span>
3. **<span>Информация Грузополучателя (</span>`ON_ETDGRPO_1_959_07_05_01_01.xsd`<span>)</span>**<span> — создается конечным получателем в Москве. Подтверждает факт приема груза.</span>

<span>Ниже приведены минимальные XML-фрагменты для этих файлов.</span>

---

### <span>1. Информация Грузоотправителя (Файл: </span>`ON_ETDGO...`<span>)</span>

<span>Этот файл создается отправителем в Шанхае. В нем указываются основные реквизиты сторон и груза.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ETD_GO_20250624_001" ВерсПрог="1.0" ВерсФорм="5.01"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ИдПолИной>ID_OTHER_RECIPIENT_001</ИдПолИной>
    <Документ КНД="1110452" НаимДокИнфГО="электронный единый транспортный документ, информация грузоотправителя"
              ДатИнфГО="24.06.2026" ВрИнфГО="10:00:00">
        <СодИнфГО УИД_ЕТД="12345678-1234-1234-1234-123456789012" НомДок="ETD-2026-001" ДатаДок="24.06.2026"
                  НомДогПер="CTR-2026-001" ДатаДогПер="01.06.2026">
            
            <!-- Сведения о грузоотправителе (Shanghai Exporter) -->
            <СвГО ГОЭксп="0">
                <РекИдентГО>
                    <ИдСв>
                        <СвЮЛУч ИННЮЛ="1234567890" ОГРН="1234567890123" НаимОрг="Shanghai Export Co., Ltd"/>
                    </ИдСв>
                </РекИдентГО>
            </СвГО>

            <!-- Сведения о грузополучателе (Moscow Importer) -->
            <СвГП ГПСт="1">
                <РекИдентГП>
                    <ИдСв>
                        <СвЮЛУч ИННЮЛ="0987654321" ОГРН="3210987654321" НаимОрг="Moscow Import LLC"/>
                    </ИдСв>
                </РекИдентГП>
                <!-- Документ на получение груза -->
                <ОснЛицГП РеквНаимДок="Доверенность" РеквНомерДок="PWR-2026-01" РеквДатаДок="01.06.2026"/>
            </СвГП>

            <!-- Сведения о перевозчике (Carrier) -->
            <СвПрв>
                <ИдСв>
                    <СвЮЛУч ИННЮЛ="1122334455" ОГРН="5544332211001" НаимОрг="Global Logistics Carrier"/>
                </ИдСв>
            </СвПрв>

            <!-- Сведения о грузе -->
            <СвГруз>
                <ОпГруз НомерГруз="1" НаимГруз="Электроника" КолМестГр="10" УчГосСист="0">
                    <Марк>Маркировка 001</Марк>
                    <Марк>Маркировка 002</Марк>
                    <!-- Хотя бы один из ВесГруз или ВесГрузНетто должен быть -->
                    <СвГосСист НаимГосСист="Маркировка" ИдНомУчетЕд="ID-12345" УчетЕд="шт"/>
                    <ВесГруз>1000.00</ВесГруз>
                </ОпГруз>
                <ОбЦеннГр>
                    <СтЦеннГр>50000.00</СтЦеннГр>
                    <КодОКВ>840</КодОКВ>
                    <НаимОКВ>USD</НаимОКВ>
                </ОбЦеннГр>
            </СвГруз>

            <!-- Пункты отправления и назначения (общие, из договора) -->
            <СвПункт НаимПунктОтпр="Shanghai Port" НаимПунктНазн="Moscow Warehouse">
                <АдрПунктОтпр>
                    <Адрес>
                        <АдрИнф КодСтр="156" НаимСтр="China" АдрТекст="Shanghai Port"/>
                    </Адрес>
                </АдрПунктОтпр>
                <АдрПунктНазн>
                    <Адрес>
                        <АдрРФ КодРегион="77" НаимРегион="г. Москва" Город="Москва" Улица="ул. Логистическая" Дом="10"/>
                    </Адрес>
                </АдрПунктНазн>
            </СвПункт>
        </СодИнфГО>

        <!-- Подпись отправителя -->
        <ПодпИнфГО Должн="Директор" СпосПодтПолном="1">
            <ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович"/>
        </ПодпИнфГО>
    </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--1"></div>---

### <span>2. Информация Перевозчика (Файл: </span>`ON_ETDPRV...`<span>)</span>

<span>Это ключевой файл, где описывается </span>**<span>полный маршрут из трех участков</span>**<span>, согласованный с информацией от грузоотправителя. Здесь мы детализируем каждый вид транспорта.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ETD_PRV_20250624_001" ВерсПрог="1.0" ВерсФорм="5.01"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ИдПолИной>ID_OTHER_RECIPIENT_001</ИдПолИной>
    <Документ КНД="1110453" НаимДокИнфПрв="электронный единый транспортный документ, информация перевозчика"
              ДатИнфПрв="24.06.2026" ВрИнфПрв="12:00:00">
        
        <!-- Ссылка на файл грузоотправителя -->
        <ИдИнфГО ИдФайлИнфГО="ETD_GO_20250624_001" ДатФайлИнфГО="24.06.2026" ВрФайлИнфГО="10:00:00" ЭП="SignatureGO"/>
        
        <СодИнфПрв УИД_ЕТД="12345678-1234-1234-1234-123456789012">
            
            <!-- 1. Полный маршрут перевозки (из 3-х участков) -->
            <МрштПрвз ОбщКолУч="3">
                <МрштСлед МршТекст="Шанхай (море) - Владивосток (ЖД) - Москва (авто)"/>
            </МрштПрвз>

            <!-- 2. Описание условий перевозки по каждому участку -->
            
            <!-- Участок 1: Море (Шанхай -> Владивосток) -->
            <УслПрвз НомУч="1" ВидТрс="5" СрокДостГр="7" ДатВрПогр="25.06.2026T00:00:00+00:00">
                <ДатВыгр>02.07.2026</ДатВыгр>
                <АдрПунктОтпр>
                    <Адрес>
                        <АдрИнф КодСтр="156" НаимСтр="China" АдрТекст="Shanghai Port"/>
                    </Адрес>
                </АдрПунктОтпр>
                <АдрПунктНазн>
                    <Адрес>
                        <АдрРФ КодРегион="25" НаимРегион="Приморский край" Город="Владивосток" Улица="ул. Портовая" Дом="1"/>
                    </Адрес>
                </АдрПунктНазн>
                <!-- Детали морской перевозки -->
                <ПрвзМорскТрс>
                    <СвПортПогрз НазвПорт="Shanghai Port"/>
                    <СвПортВыгрз НазвПорт="Vladivostok Port"/>
                    <СвСудно НазвСудно="Ever Given" КодСтрРегСудно="156" ТипСудно="Container Ship"/>
                </ПрвзМорскТрс>
            </УслПрвз>

            <!-- Участок 2: Железная дорога (Владивосток -> Москва) -->
            <УслПрвз НомУч="2" ВидТрс="4" СрокДостГр="10" ДатВрПогр="03.07.2026T00:00:00+00:00">
                <ДатВыгр>13.07.2026</ДатВыгр>
                <АдрПунктОтпр>
                    <Адрес>
                        <АдрРФ КодРегион="25" НаимРегион="Приморский край" Город="Владивосток" Улица="ул. Железнодорожная" Дом="1"/>
                    </Адрес>
                </АдрПунктОтпр>
                <АдрПунктНазн>
                    <Адрес>
                        <АдрРФ КодРегион="77" НаимРегион="г. Москва" Город="Москва" Улица="ул. Вокзальная" Дом="1"/>
                    </Адрес>
                </АдрПунктНазн>
                <!-- Детали ЖД перевозки -->
                <ПрвзЖдТрс>
                    <СвСтанцПогрз КодАдмЖД="11" НаимЖД="Дальневосточная" КодСтЖД="123" НаимСтЖД="Владивосток-Грузовой"/>
                    <СвСтанцВыгрз КодАдмЖД="17" НаимЖД="Московская" КодСтЖД="456" НаимСтЖД="Москва-Сортировочная"/>
                    <СвВагон РодВагон="Крытый" НомерВагон="12345678" КодСтрРегВагон="RU"/>
                </ПрвзЖдТрс>
            </УслПрвз>

            <!-- Участок 3: Автомобиль (Москва -> Склад получателя) -->
            <УслПрвз НомУч="3" ВидТрс="1" СрокДостГр="1" ДатВрПогр="14.07.2026T00:00:00+00:00">
                <ДатВыгр>15.07.2026</ДатВыгр>
                <АдрПунктОтпр>
                    <Адрес>
                        <АдрРФ КодРегион="77" НаимРегион="г. Москва" Город="Москва" Улица="ул. Вокзальная" Дом="1"/>
                    </Адрес>
                </АдрПунктОтпр>
                <АдрПунктНазн>
                    <Адрес>
                        <АдрРФ КодРегион="77" НаимРегион="г. Москва" Город="Москва" Улица="ул. Логистическая" Дом="10"/>
                    </Адрес>
                </АдрПунктНазн>
                <!-- Детали авто перевозки -->
                <ПрвзАвтТрс>
                    <ТС РегНомер="А123ВВ" ТипВлад="1">
                        <ПарамТС Тип="Фура" Марка="Volvo" Модель="FH" Грузопод="20.00" Вместим="80.00"/>
                    </ТС>
                    <СвВодит>
                        <Тлф>+7(999)123-45-67</Тлф>
                        <ФИО Фамилия="Петров" Имя="Петр" Отчество="Петрович"/>
                        <ИННФЛ>123456789012</ИННФЛ>
                    </СвВодит>
                    <СпецУслДвиж ИдСР="SR-2026-001"/>
                </ПрвзАвтТрс>
            </УслПрвз>

        </СодИнфПрв>

        <!-- Подпись перевозчика -->
        <ПодпИнфПрв Должн="Генеральный директор" СпосПодтПолном="1">
            <ФИО Фамилия="Сидоров" Имя="Сергей" Отчество="Сергеевич"/>
        </ПодпИнфПрв>
    </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--3"></div>---

### <span>3. Информация Грузополучателя (Файл: </span>`ON_ETDGRPO...`<span>)</span>

<span>Финальный файл, который создает получатель в Москве, подтверждая факт получения груза. В нем обязательно указывается ссылка на файл перевозчика.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-xml-2"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```xml
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ETD_GRPO_20260624_001" ВерсПрог="1.0" ВерсФорм="5.01"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ИдПолИной>ID_OTHER_RECIPIENT_001</ИдПолИной>
    <Документ КНД="1110458" НаимДокИнфГП="электронный единый транспортный документ, информация грузополучателя"
              ДатИнфГП="15.07.2026" ВрИнфГП="16:00:00">
        
        <!-- Ссылка на файл перевозчика -->
        <ИдИнфПрв ИдФайлИнфПрв="ETD_PRV_20250624_001" ДатФайлИнфПрв="24.06.2026" ВрФайлИнфПрв="12:00:00" ЭП="SignaturePRV"/>
        
        <СодИнфГП УИД_ЕТД="12345678-1234-1234-1234-123456789012" СодОпер="1">
            
            <!-- Сведения о приеме груза -->
            <ПриемГрузГП ДатПриб="15.07.2026" КолМестПриемЧ="10" 
                          ОбщСвСост="Груз в целости" МасБрутЗначПрием="1000.00">
                <АдрВыгруз>
                    <Адрес>
                        <АдрРФ КодРегион="77" НаимРегион="г. Москва" Город="Москва" Улица="ул. Логистическая" Дом="10"/>
                    </Адрес>
                </АдрВыгруз>
                
                <СвПринПоНаим НаимГруз="Электроника" СостГруз="Целая" МасБрутПрием="1000.00">
                    <ПерМарк>Маркировка 001</ПерМарк>
                    <ПерМарк>Маркировка 002</ПерМарк>
                </СвПринПоНаим>
            </ПриемГрузГП>

        </СодИнфГП>

        <!-- Подпись получателя -->
        <ПодпИнфГП Должн="Начальник склада" СпосПодтПолном="1">
            <ФИО Фамилия="Смирнова" Имя="Елена" Отчество="Викторовна"/>
        </ПодпИнфГП>
    </Документ>
</Файл>
```

<div class="md-code-block md-code-block-dark" id="bkmrk--5"></div>### <span>Пояснения:</span>

1. **<span>Коды КНД:</span>**<span> Для каждого типа документа свой уникальный код (</span>`1110452`<span>, </span>`1110453`<span>, </span>`1110458`<span>).</span>
2. **<span>УИД\_ЕТД:</span>**<span> Уникальный идентификатор всей перевозки. Он должен быть одинаковым во всех файлах.</span>
3. **<span>Ссылочная целостность:</span>**<span> Файл перевозчика ссылается на файл отправителя (</span>`ИдИнфГО`<span>), а файл получателя — на файл перевозчика (</span>`ИдИнфПрв`<span>). Это позволяет собрать полную картину перевозки.</span>
4. **<span>Участки перевозки:</span>**<span> В файле перевозчика участки нумеруются (</span>`НомУч`<span>) и для каждого указывается вид транспорта (</span>`ВидТрс`<span>). Для моря — </span>`5`<span>, для ЖД — </span>`4`<span>, для авто — </span>`1`<span>. В зависимости от вида транспорта заполняются соответствующие блоки (</span>`ПрвзМорскТрс`<span>, </span>`ПрвзЖдТрс`<span>, </span>`ПрвзАвтТрс`<span>).</span>
5. **<span>Даты и время:</span>**<span> Формат дат — </span>`ДД.ММ.ГГГГ`<span>, дат с временем — </span>`ДД.ММ.ГГГГTЧЧ:ММ:СС+-ЧЧ:ММ`<span>. Для упрощения я указал </span>`+00:00`<span> (UTC).</span>
6. **<span>Обязательные поля:</span>**<span> В реальном примере нужно заполнить все обязательные поля, включая такие как </span>`ИдПолИной`<span> (если есть), и детали адресов. В моем примере адреса и реквизиты приведены минимально, но достаточно для валидации.</span>

<span>Эти три файла представляют собой полный электронный документооборот для вашей мультимодальной перевозки.</span>

# Взятие в ответственность ЭПЭ

## <span>В каких случаях ЭПЭ составляется с взятием груза в ответственность и без взятия? Как это применяется в субэкспедировании</span>

<div id="bkmrk-%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5-%D0%BF%D0%BE%D1%80%D1%83%D1%87%D0%B5%D0%BD%D0%B8"><span>Электронное поручение экспедитору (ЭПЭ)</span> оформляется абсолютно при любом сценарии привлечения экспедитора. Однако юридическое разделение на работу «с взятием под ответственность» и «без взятия» зависит от того, <span>принимает ли экспедитор груз в свое физическое владение</span>.<span> \[1, 2\] </span></div><div id="bkmrk-%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%81%D0%BD%D0%BE-%D1%83%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B">Согласно утвержденным ФНС и Минтрансу правилам транспортного ЭДО, ключевым маркером этого разделения является оформление сопутствующего документа — <span>Электронной экспедиторской расписки (ЭЭР)</span>.<span> \[1, 2\] </span></div>---

### 1. Перевозка БЕЗ взятия груза во владение (под ответственность)

<div id="bkmrk-%D0%92-%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%BC-%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B5-%D1%8D%D0%BA%D1%81%D0%BF">В данном случае экспедитор выступает исключительно как <span>агент (посредник)</span>. Он выполняет чисто организационную и интеллектуальную работу: подбирает транспорт, планирует маршрут, готовит документы или организует таможенное оформление, но сам к товару не прикасается.<span> \[1, 3, 4\] </span></div><div id="bkmrk-%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%D1%81%D1%8F%3A-%D0%9A"><div>  
</div>- <span>Когда применяется:</span> Клиент своими силами (или силами своих складских рабочих) отгружает товар напрямую в машину фактического перевозчика, которого нанял экспедитор.
- <span>Документооборот:</span> Оформляется <span>только ЭПЭ</span> (задание на организацию логистики). Электронная экспедиторская расписка (ЭЭР) <span>не создается</span>, поскольку факта передачи товара экспедитору не было. В Электронной транспортной накладной (ЭТрН) в качестве грузоотправителя фигурирует сам клиент.<span> \[1, 2\] </span>
- <span>Предел ответственности:</span> Если груз по дороге украдут или разобьют, экспедитор по умолчанию не отвечает за действия перевозчика (если иное прямо не прописано в договоре). Он будет виноват, только если клиент докажет, что экспедитор проявил халатность при выборе перевозчика или допустил грубую ошибку в документах.<span> \[3, 4, 5\] </span>

</div>### 2. Перевозка С ВЗЯТИЕМ груза во владение и под ответственность

<div id="bkmrk-%D0%97%D0%B4%D0%B5%D1%81%D1%8C-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80-%D0%B1%D0%B5%D1%80">Здесь экспедитор берет на себя роль <span>договорного перевозчика (принципала)</span> и полностью отвечает за сохранность груза с момента приемки до момента выдачи.<span> \[5, 6\] </span></div><div id="bkmrk-%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%D1%81%D1%8F%3A-%D0%A1"><div>  
</div>- <span>Когда применяется:</span> Сборные грузы (LTL), перевозки через кросс-докинг или консолидационные склады экспедитора, а также когда экспедитор забирает груз своим брендированным транспортом.
- <span>Документооборот:</span> Наряду с обязательным <span>ЭПЭ</span> экспедитор <span>в обязательном порядке формирует Электронную экспедиторскую расписку (ЭЭР)</span>. Именно ЭЭР подтверждает, что экспедитор взял материальную ответственность за товар на себя. В ЭТрН в роли грузоотправителя часто указывается сам экспедитор.<span> \[1, 2, 7\] </span>
- <span>Предел ответственности:</span> Действует презумпция вины экспедитора. Если с грузом что-то случится в пути, экспедитор обязан выплатить клиенту полную стоимость ущерба, даже если фактически виноват сторонний водитель. Освободиться от ответственности экспедитор сможет, только если докажет форс-мажор.<span> \[5, 6, 8, 9\] </span>

</div>---

### Применение в субэкспедировании (цепочки экспедиторов)

<div id="bkmrk-%D0%A1%D1%83%D0%B1%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%E2%80%94-"><span>Субэкспедирование</span> — это схема, при которой Главный экспедитор (которого нанял Клиент) привлекает для выполнения задачи другого экспедитора (Субэкспедитора).</div><div id="bkmrk-%D0%92-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5">В электронном документообороте (ЭДО) это порождает каскадную цепочку документов, где один и тот же участник меняет роли:</div>```unset
[Клиент] --(ЭПЭ №1 / ЭЭР №1)--> [Главный экспедитор] --(ЭПЭ №2 / ЭЭР №2)--> [Субэкспедитор]

```

<div dir="ltr" id="bkmrk--2"></div>### Сценарий А: Субэкспедирование БЕЗ взятия во владение

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8">Если Главный экспедитор нанимает Субэкспедитора только для того, чтобы тот «нашел машину» через свои каналы:</div><div id="bkmrk-%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82-%D0%AD%D0%9F"><div>  
</div>1. Клиент отправляет <span>ЭПЭ №1</span> Главному экспедитору.
2. Главный экспедитор перевыпускает задание и отправляет <span>ЭПЭ №2</span> Субэкспедитору.
3. Расписки (ЭЭР) в этой цепочке <span>вообще не выпускаются</span>, так как никто из посредников груз физически не трогает. Товар загружается со склада Клиента сразу в машину конечного перевозчика.<span> \[1, 2\] </span>

</div>### Сценарий Б: Субэкспедирование С ВЗЯТИЕМ под ответственность

<div id="bkmrk-%D0%A1%D0%B0%D0%BC%D1%8B%D0%B9-%D1%87%D0%B0%D1%81%D1%82%D1%8B%D0%B9-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8">Самый частый сценарий в крупных логистических хабах и при мультимодальных перевозках:</div><div id="bkmrk--3"></div><div id="bkmrk-%D0%97%D0%B2%D0%B5%D0%BD%D0%BE-%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%E2%80%94-%D0%93%D0%BB%D0%B0%D0%B2%D0%BD"><div>  
</div>1. <span>Звено Клиент — Главный экспедитор:</span> Клиент создает <span>ЭПЭ №1</span>. Как только Главный экспедитор забирает груз, он подписывает и отправляет Клиенту <span>ЭЭР №1</span>, подтверждая, что взял товар под свою материальную ответственность.<span> \[1, 2, 7\] </span>
2. <span>Звено Главный экспедитор — Субэкспедитор:</span> Для Субэкспедитора Главный экспедитор теперь сам становится «Клиентом». Он формирует <span>ЭПЭ №2</span> (в рамках своего договора с субэкспедитором). При передаче груза на терминал или в машину Субэкспедитора, тот выпускает <span>ЭЭР №2</span> на имя Главного экспедитора.<span> \[1, 2, 10\] </span>

</div>> <div><span>Важный юридический нюанс:</span> При субэкспедировании с ответственностью Главный экспедитор полностью отвечает перед Клиентом по <span>ЭЭР №1</span>. Если Субэкспедитор потеряет груз, Клиент все равно потребует деньги с Главного экспедитора. И уже после этого Главный экспедитор в порядке регресса будет взыскивать убытки с Субэкспедитора, используя как доказательство <span>ЭЭР №2</span>.<span> \[6, 7\] </span></div>

---

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D1%82%D0%B5-%D0%B2">Если вы планируете выстраивать цепочки субэкспедирования, подскажите: вы выступаете в роли <span>главного экспедитора</span> или <span>субподрядчика</span>? Могу детально разобрать, какие именно <span>поля и титулы</span> в ЭПЭ/ЭЭР вам необходимо контролировать для минимизации рисков.</div><div id="bkmrk-%5B1%5D-https%3A%2F%2Fwww.diad">  
<div>[1] [https://www.diadoc.ru](https://www.diadoc.ru/articles/85987-formaty_elektronnyh_ekspeditorskih_dokumentov)</div><div>[2] [https://zakupki-kontur.ru](https://zakupki-kontur.ru/news/elektronnye-ekspeditorskie-dokumenty-pravila-raboty-s-2026-goda/)</div><div>[3] [https://www.vantraa.nl](https://www.vantraa.nl/en/expertise/our-expertise/transport-logistics/forwarding/)</div><div>[4] [https://ship4wd.com](https://ship4wd.com/logistics-shipping/what-freight-forwarder-is-legally-responsible-for)</div><div>[5] [https://rapsinews.ru](https://rapsinews.ru/judicial_analyst/20260603/311899766.html)</div><div>[6] [https://www.consultant.ru](https://www.consultant.ru/document/cons_doc_LAW_43006/c2104a857e48950319cfdda8a0ba0262aa1d3605/)</div><div>[7] [https://esphere.ru](https://esphere.ru/blog/vidy-epd-v-2026-godu-chast-vtoraya-dogovor-frakhtovaniya-poruchenie-ekspeditoru-ekspeditorskaya-rasp/)</div><div>[8] [https://www.advgazeta.ru](https://www.advgazeta.ru/novosti/vs-napomnil-o-prezumptsii-viny-ekspeditora-yurlitsa-za-utratu-nedostachu-ili-povrezhdenie-gruza/)</div><div>[9] [https://brace-lf.com](https://brace-lf.com/informaciya/kontraktnoe-pravo/otvetstvennost-ekspeditora-za-nesokhrannost-gruza)</div><div>[10] [https://pravo.ru](https://pravo.ru/opinion/252147/)</div></div><div id="bkmrk--5"></div>## Мы выступаем от имени Главного экспедитора. Производим мультимодальную контейнерную перевозку из Шанхая во Владивосток морем, Владивосток-Москва по ЖД, доставка до склада клиента на Авто.  
Можем ли мы не брать груз в ответственность на весь маршрут, если мы субэкспедируем все 3 плеча перевозки?

<div id="bkmrk-%D0%9D%D0%B5%D1%82%2C-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%D1%81%D0%BD%D1%8F%D1%82%D1%8C"><span>Нет, полностью снять с себя материальную ответственность перед клиентом на всем маршруте в такой схеме вы не можете.</span></div><div id="bkmrk-%D0%94%D0%B0%D0%B6%D0%B5-%D0%B5%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D1%81%D1%83%D0%B1%D1%8D%D0%BA%D1%81%D0%BF">Даже если вы субэкспедируете 100% маршрута (море + ЖД + авто) и физически не прикасаетесь к контейнеру, с точки зрения закона РФ вы остаетесь <span>Главным экспедитором (Генеральным подрядчиком)</span>.<span> \[1\] </span></div><div id="bkmrk-%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%81%D0%BD%D0%BE-%D1%81%D1%82.-805-%D0%93%D0%9A-">Согласно <span>ст. 805 ГК РФ</span> и актуальной судебной практике Верховного Суда РФ, привлечение третьих лиц (субподрядчиков) <span>не освобождает Главного экспедитора от ответственности перед Клиентом</span>. Любые пункты в договоре в духе *«Экспедитор не отвечает за действия третьих лиц / порчу груза в пути»* признаются судами <span>ничтожными</span>, так как они прямо нарушают императивные нормы ФЗ № 87 «О транспортно-экспедиционной деятельности».<span> \[1, 2, 3\] </span></div><div id="bkmrk-%D0%9E%D0%B4%D0%BD%D0%B0%D0%BA%D0%BE-%D0%B2%D1%8B-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82%D0%B5-%D0%B3%D1%80%D0%B0">Однако вы можете грамотно минимизировать риски и выстроить зеркальную систему претензий.</div>---

### Как это работает на практике и где ваши риски

<div id="bkmrk-%D0%9F%D1%80%D0%B8-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BC%D0%BE%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-">При мультимодальной перевозке цепочка выглядит так:  
`Клиент` ➔ `Вы (Главный экспедитор)` ➔ `3 разных Субподрядчика (линия, РЖД/оператор, автоперевозчик)`</div><div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%BD%D0%B0-%D0%BA%D0%B0%D0%BA%D0%BE%D0%BC-%D1%82%D0%BE-%D0%B8%D0%B7-">Если на каком-то из этапов контейнер вскроют, зальют водой или уронят, Клиент не будет разбираться, кто виноват. Он выставит претензию <span>вам</span>, и вы будете обязаны выплатить ему ущерб.<span> \[1, 4\] </span></div><div id="bkmrk-%D0%9D%D0%BE-%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD-%D0%B4%D0%B0%D0%B5%D1%82-%D0%B2%D0%B0%D0%BC-%D0%BF%D1%80">Но закон дает вам право <span>регресса</span>: выплатив деньги Клиенту, вы перевыставляете эту сумму тому субэкспедитору/перевозчику, на чьем плече произошло ЧП.<span> \[1\] </span></div>### Инструменты защиты для Главного экспедитора

<div id="bkmrk-%D0%A7%D1%82%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B5-%D0%BE%D1%81%D1%82%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D0%BA%D1%80">Чтобы не остаться крайним при субэкспедировании, вам необходимо внедрить три уровня защиты:</div>### 1. Зеркальные договоры и жесткие ЭПЭ/ЭЭР с субподрядчиками

<div id="bkmrk-%D0%A1-%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%BC-%D1%81%D1%83%D0%B1%D0%BF%D0%BE%D0%B4%D1%80%D1%8F%D0%B4%D1%87%D0%B8"><div>  
</div>- С каждым субподрядчиком на каждом плече у вас должен быть подписан договор <span>с принятием груза в ответственность</span> (с выдачей вам Электронной экспедиторской расписки — ЭЭР или сквозного коносамента/накладной).
- <span>Море (Шанхай — Владивосток):</span> Субэкспедитор или морская линия обязаны выдать морской коносамент (Bill of Lading), где вы или ваш агент указаны в качестве получателя/нотифай-парти.
- <span>ЖД (Владивосток — Москва):</span> ЖД-экспедитор/оператор оформляет железнодорожную накладную (СМГС/ГУ-27).
- <span>Авто (Москва — Склад):</span> Автоперевозчик принимает ЭПЭ и подписывает ЭТрН (электронную транспортную накладную), где в Титуле 2 (Т2) водитель расписывается в приемке груза.

</div>### 2. Коммерческие акты на стыках плеч (Критически важно!)

<div id="bkmrk-%D0%A1%D0%B0%D0%BC%D0%B0%D1%8F-%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5">Самая большая проблема мультимодальных перевозок — определить, <span>где именно</span> повредили груз. Если контейнер приедет в Москву с сорванной пломбой или помятым боком, автоперевозчик скажет, что «так забрал с ЖД», ЖД скажет, что «так приехало из порта», а порт — что «такой сгрузили с судна».</div><div id="bkmrk-%D0%9E%D0%B1%D1%8F%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D1%81%D1%83%D0%B1%D0%BF%D0%BE%D0%B4%D1%80%D1%8F%D0%B4%D1%87%D0%B8"><div>  
</div>- Обязуйте субподрядчиков проводить <span>осмотр контейнера и сверку пломб</span> на каждом стыке (Причал ➔ ЖД-тупик; ЖД-станция ➔ Автомашина).
- В случае малейших расхождений или повреждений (даже царапин на контейнере) субподрядчик обязан составить <span>коммерческий акт</span> (или акт общей формы) и прислать вам фото. Только так вы сможете доказать, какой именно субподрядчик отвечает за ущерб.

</div>### 3. Страхование ответственности экспедитора

<div id="bkmrk-%D0%9F%D0%BE%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D1%83-%D1%81%D1%83%D0%B4%D0%B5%D0%B1%D0%BD%D1%8B%D0%B5-%D1%80">Поскольку судебные разбирательства с РЖД или морскими линиями могут длиться годами, а клиент потребует деньги сразу, оформите <span>полис страхования ответственности экспедитора</span>. При наступлении страхового случая (например, опрокидывание фуры на автоплече или повреждение на ЖД) страховая компания выплатит ущерб клиенту, а затем сама займется судами с виновным субподрядчиком.<span> \[5, 6\] </span></div>---

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D0%B0%D0%BC-%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE%2C">Если вам необходимо, я могу подсказать, какие <span>формулировки по переходу ответственности и фиксации повреждений на стыках</span> лучше всего прописать в договоре с вашими субподрядчиками. Информацию по какому плечу (море, ЖД или авто) разобрать подробнее?</div><div id="bkmrk-%5B1%5D-https%3A%2F%2Frapsinew">  
<div>[1] [https://rapsinews.ru](https://rapsinews.ru/judicial_analyst/20260603/311899766.html)</div><div>[2] [https://www.consultant.ru](https://www.consultant.ru/law/podborki/upuschennaya_vygoda_transportnaya_jekspediciya/)</div><div>[3] [https://13.rospotrebnadzor.ru](https://13.rospotrebnadzor.ru/content/verhovnyy-sud-rossiyskoy-federacii-razyasnil-ekspeditor-prinyavshiy-na-sebya-obyazannosti)</div><div>[4] [https://www.consultant.ru](https://www.consultant.ru/law/podborki/otvetstvennost_perevozchika_pered_jekspeditorom/)</div><div>[5] [https://docs.cntd.ru](https://docs.cntd.ru/document/901866414)</div><div>[6] [https://katsaylidi.ru](https://katsaylidi.ru/blog/otvetstvennost-jekspeditora-za-gruz/)</div></div><div id="bkmrk--8"></div><div id="bkmrk--9"></div>## В каких сценариях применимо поручение экспедитору без принятия в ответственность?

<div id="bkmrk-%D0%9F%D0%BE%D1%80%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80"><span>Поручение экспедитору без принятия груза в ответственность</span> применяется в сценариях, когда вы выступаете исключительно как <span>информационный, юридический или организационный посредник (агент)</span>.<span> \[1, 2\] </span></div><div id="bkmrk-%D0%92-%D0%BB%D0%BE%D0%B3%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B5-%D0%B8-%D0%93%D0%9A-%D0%A0%D0%A4-">В логистике и ГК РФ этот формат официально называется <span>«выполнение услуг без принятия груза во владение»</span>. Поручение экспедитору (ЭПЭ) в этом случае выполняет роль заявки-задания на услуги, но сопутствующая экспедиторская расписка (ЭЭР), запускающая материальную ответственность, <span>не выпускается</span>.<span> \[1, 2, 3\] </span></div><div id="bkmrk-%D0%9D%D0%B8%D0%B6%D0%B5-%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D1%8B-4-%D0%BE%D1%81%D0%BD">Ниже приведены 4 основных практических сценария, когда Главный экспедитор оформляет ЭПЭ без принятия ответственности:</div>### 1. Чистое посредничество («Диспетчеризация»)

<div id="bkmrk-%D0%92%D1%8B-%D0%BD%D0%B0%D1%88%D0%BB%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0">Вы нашли для клиента фактического перевозчика, согласовали с ним ставку и условия, но ваш персонал и техника к грузу не прикасаются.</div><div id="bkmrk-%D0%9A%D0%B0%D0%BA-%D1%8D%D1%82%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%3A-%D0%9A%D0%BB"><div>  
</div>- <span>Как это работает:</span> Клиент оформляет на вас Поручение (ЭПЭ). Вы одобряете его (выпускаете Титул 2), подтверждая, что обязуетесь организовать рейс. На погрузку приезжает машина нанятого вами перевозчика. Клиент сам передает груз напрямую водителю.<span> \[1, 2\] </span>
- <span>Документооборот:</span> Оформляется ЭПЭ + ЭТрН (Электронная транспортная накладная). В ЭТрН в Титуле 1 грузоотправителем значится ваш <span>Клиент</span>, а перевозчиком — <span>фактический исполнитель</span> (линия, автопарк). Вы в накладной можете быть указаны только в роли «Лица, организовавшего перевозку». Вашей подписи в графах приема/сдачи груза нет.<span> \[1, 4\] </span>

</div>### 2. Консалтинг, таможенное оформление и документальное сопровождение

<div id="bkmrk-%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D0%BD%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D1%82-%D0%B2%D0%B0%D1%81-">Клиент нанимает вас не для физического перемещения контейнера, а для преодоления юридических и бюрократических барьеров (например, на стыке плеч в порту Владивостока).</div><div id="bkmrk-%D0%9A%D0%B0%D0%BA-%D1%8D%D1%82%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%3A-%D0%92-"><div>  
</div>- <span>Как это работает:</span> В рамках мультимодального ЭПЭ вашей задачей является: подача деклараций, организация фитосанитарного/ветеринарного контроля, оплата портовых сборов, переоформление внутрипортовых документов.
- <span>Документооборот:</span> Ваша подпись стоит только под ЭПЭ и актом выполненных услуг. Контейнер все время находится на балансе и под ответственностью морской линии, а затем — терминала порта.<span> \[5\] </span>

</div>### 3. Схема с прямой переадресацией ответственности (Прямой коносамент / накладная)

<div id="bkmrk-%D0%AD%D1%82%D0%BE%D1%82-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B9-%D1%87%D0%B0%D1%81%D1%82%D0%BE-">Этот сценарий часто используют, чтобы легально «обойти» материальную ответственность Главного экспедитора перед клиентом по ГК РФ.</div><div id="bkmrk-%D0%9A%D0%B0%D0%BA-%D1%8D%D1%82%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%3A-%D0%9A%D0%BB-1"><div>  
</div>- <span>Как это работает:</span> Клиент дает вам Поручение (ЭПЭ) организовать плечо (например, Шанхай — Владивосток). Вы нанимаете морскую линию, но просите её выписать Сквозной морской коносамент (или ЖД-накладную) <span>напрямую на имя вашего Клиента</span> в качестве грузополучателя, а не на вашу компанию.
- <span>Результат:</span> Вы выполнили поручение по организации, но юридически право владения и риски по транспортному документу перешли напрямую от линии к вашему клиенту.

</div>### 4. Организация перевозок спецтехники, самоходных машин или выкупленных контейнеров (SOC)

<div id="bkmrk-%D0%A1%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B9%2C-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0">Сценарий, когда товар перемещается «своим ходом» или на условиях, где сохранность обеспечивает специфика самого груза, а экспедитор лишь фрахтует место.</div><div id="bkmrk-%D0%9A%D0%B0%D0%BA-%D1%8D%D1%82%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%3A-%D0%92%D1%8B"><div>  
</div>- <span>Как это работает:</span> Вы фрахтуете место на судне под личные порожние контейнеры клиента (SOC-контейнеры) или организуете перегон спецтехники под управлением водителей заказчика. Вы отвечаете по Поручению только за своевременное предоставление слота/разрешений, но не за сохранность имущества.

</div>---

### Главное правило безопасности для Главного экспедитора:

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%D0%B5-%D0%BF%D0%BE">Если вы работаете по любому из этих сценариев и не хотите отвечать за повреждение груза, <span>в вашем договоре транспортной экспедиции с клиентом НЕ должно быть фразы</span>:</div><div id="bkmrk-%C2%AB%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80-%D0%BF%D1%80%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5"><div>  
</div>- *«Экспедитор принимает на себя обязательства по доставке груза и отвечает за его сохранность с момента принятия до момента выдачи»*.

</div><div id="bkmrk-%D0%92%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D1%8D%D1%82%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82">Вместо этого предмет договора должен звучать так:</div><div id="bkmrk-%C2%AB%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80-%D0%BE%D0%B1%D1%8F%D0%B7%D1%83%D0%B5%D1%82%D1%81"><div>  
</div>- *«Экспедитор обязуется за вознаграждение <span>организовать выполнение</span> услуг, привлекая третьих лиц от своего имени, но за счет Клиента, <span>без принятия груза во владение Экспедитора</span>»*.<span> \[2, 6\] </span>

</div><div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D0%B0%D0%BC-%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82%D1%81%D1%8F%2C-">Если вам требуется, мы можем составить <span>формулировку для предмета договора</span>, которая разграничит ваши обязанности по организации и освободит от рисков физической порчи груза. Написать такой пункт?</div><div id="bkmrk-%5B1%5D-https%3A%2F%2Fkontur.r">  
<div>[1] [https://kontur.ru](https://kontur.ru/logistika/spravka/84869-elektronnoe_poruchenie_ekspeditoru)</div><div>[2] [https://event.kontur.ru](https://event.kontur.ru/logistika-perevozki-s-privlecheniem-ehkspeditora-id-16404)</div><div>[3] [https://www.diadoc.ru](https://www.diadoc.ru/docs/forms/47321-poruchenie_expeditoru)</div><div>[4] [https://astral.ru](https://astral.ru/aj/elem/kak-oformit-etrn-pri-raznykh-stsenariyakh-gruzoperevozki/)</div><div>[5] [https://www.diadoc.ru](https://www.diadoc.ru/docs/forms/47321-poruchenie_expeditoru)</div><div>[6] [https://www.klerk.ru](https://www.klerk.ru)</div></div>## В каких случаях Главный экспедитор не должен брать на себя ответственность за груз?

<div id="bkmrk-%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80-%D0%B8">Главный экспедитор имеет полное право и <span>прямые коммерческие показания</span> не брать на себя материальную ответственность за груз в тех случаях, когда он физически и технологически не может контролировать его сохранность.</div><div id="bkmrk-%D0%9D%D0%B8%D0%B6%D0%B5-%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D1%8B-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2">Ниже приведены основные случаи, когда вам, как Главному экспедитору, <span>строго рекомендуется</span> исключать пункт о принятии груза под свою ответственность в договоре и Поручении экспедитору (ЭПЭ):</div>### 1. Перевозка закрытых, опломбированных контейнеров (FCL) без вашего участия в погрузке

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2-%D0%A8%D0%B0%D0%BD%D1%85%D0%B0%D0%B5-%D1%84%D0%B0%D0%B1%D1%80%D0%B8%D0%BA">Если в Шанхае фабрика сама загружает товар в контейнер, вешает свою пломбу, а вы подключаетесь только на этапе фрахта судна.</div><div id="bkmrk-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D0%B1%D1%80%D0%B0%D1%82%D1%8C-"><div>  
</div>- <span>Почему нельзя брать ответственность за груз:</span> Вы не знаете, что внутри, как товар закреплен и не побьется ли он о стенки контейнера при качке.
- <span>Как действовать:</span> Вы принимаете ответственность <span>исключительно за целостность пломбы и внешнее состояние контейнера</span>, но не за его содержимое. В ЭПЭ и договоре фиксируется: *«Прием груза осуществляется по наружному осмотру контейнера и номерам пломб отправителя»*.

</div>### 2. Сверхдорогие, уникальные или высокорисковые грузы

<div id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B7%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA">Перевозка электроники, оборудования на миллионы долларов, фармацевтики с жестким температурным режимом или опасных грузов (ADR).</div><div id="bkmrk-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D0%B1%D1%80%D0%B0%D1%82%D1%8C--1"><div>  
</div>- <span>Почему нельзя брать ответственность за груз:</span> В случае ЧП (например, аварии на ЖД или поломки реф-контейнера) сумма убытков может мгновенно обанкротить вашу экспедиторскую компанию.
- <span>Как действовать:</span> Вы выступаете исключительно как организатор (агент). Обязанность по страхованию самого груза (Cargo Insurance) полностью возлагается на Клиента, либо вы страхуете его за счет клиента, но выгодоприобретателем в полисе указывается сам Клиент.

</div>### 3. Использование контейнеров и транспорта самого Заказчика (SOC-контейнеры)

<div id="bkmrk-%D0%A1%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B9%2C-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D0%BA%D0%BB%D0%B8%D0%B5">Сценарий, когда клиент предоставляет свои собственные (или арендованные им напрямую) контейнеры, а вы лишь покупаете для них «место» на судне или ЖД-платформе.</div><div id="bkmrk-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D0%B1%D1%80%D0%B0%D1%82%D1%8C--2"><div>  
</div>- <span>Почему нельзя брать ответственность за груз:</span> Если контейнер окажется дырявым, и груз зальет дождем, или если у контейнера в пути оторвется балка из-за износа металла, это будет виной владельца оборудования (Клиента).
- <span>Как действовать:</span> В Поручении прописывается, что экспедитор отвечает только за предоставление слота/платформы, а техническое состояние транспортного оборудования обеспечивает Заказчик.

</div>### 4. Сложные мультимодальные цепочки с «непрозрачными» государственными монополиями

<div id="bkmrk-%D0%92-%D0%B2%D0%B0%D1%88%D0%B5%D0%BC-%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B5-%D0%BF%D1%80%D0%B8">В вашем маршруте присутствует ЖД-плечо (Владивосток — Москва). Взаимодействие с РЖД или крупными инфраструктурными терминалами часто идет по жестким внутренним уставам, где отсудить у них реальный ущерб крайне сложно.</div><div id="bkmrk-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D0%B1%D1%80%D0%B0%D1%82%D1%8C--3"><div>  
</div>- <span>Почему нельзя брать ответственность за груз:</span> Если вы возьмете груз под ответственность перед клиентом, то клиент взыщет с вас 100% ущерба по ГК РФ. А вот вы с РЖД по их Уставу сможете взыскать лишь копейки. Эта разница станет вашим чистым убытком.
- <span>Как действовать:</span> Договор составляется по агентской схеме. Вы обязуетесь организовать перевозку, а в случае повреждения груза на ЖД-плече обязуетесь передать Клиенту все права для прямой подачи претензии фактическому виновнику (ЖД-оператору).

</div>### 5. Отсутствие технической возможности проверить груз при приемке

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%BF%D0%BE-%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D1%83-%D0%A8%D0%B0%D0%BD">Если по маршруту Шанхай — Владивосток — Москва груз идет навалом или это сборный груз, но у вас нет своего склада во Владивостоке для его пересчета при перевалке с моря на ЖД.</div><div id="bkmrk-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D0%B1%D1%80%D0%B0%D1%82%D1%8C--4"><div>  
</div>- <span>Почему нельзя брать ответственность за груз:</span> Вы физически не можете проверить, не украли ли часть коробок в порту во время перевалки, пока груз не прибудет в Москву.
- <span>Как действовать:</span> Исключать выдачу Экспедиторской расписки. Использовать только Поручение без владения.

</div>---

### Как это правильно зафиксировать в документах:

<div id="bkmrk-%D0%A7%D1%82%D0%BE%D0%B1%D1%8B-%D0%BB%D0%B5%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE-%D0%BD%D0%B5-%D0%B1%D1%80">Чтобы легально не брать ответственность в этих случаях, ваша связка документов должна выглядеть так:</div><div id="bkmrk-%D0%92-%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%3A-%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B8%D1%80"><div>  
</div>1. <span>В Договоре:</span> Формулировка *«Экспедитор оказывает услуги без принятия груза в свое владение и ведение»*.
2. <span>В ЭПЭ (Поручении):</span> В поле «Вид экспедиторских услуг» четко писать: *«Организация перевозки (без принятия груза под ответственность Экспедитора)»*.
3. <span>Экспедиторская расписка:</span> <span>Не оформляется</span> ни в каком виде.

</div><div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D1%85%D0%BE%D1%82%D0%B8%D1%82%D0%B5-%D0%BF%D0%BE%D0%B4%D1%81%D1%82">Если вы хотите подстраховать текущую перевозку Шанхай — Москва, напишите, <span>застрахован ли сейчас этот груз самим клиентом</span>? Могу подсказать, как правильно прописать в ЭПЭ оговорку о страховании, чтобы снять риски с вашей компании.</div><div id="bkmrk--13"></div><div id="bkmrk--14"></div>## То есть не стоит принимать ответственность за груз на весь мультимодальный маршрут в первом ЭПЭ от Клиента к нам?

<div id="bkmrk-%D0%90%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D0%BE-%D0%B2%D0%B5%D1%80%D0%BD%D0%BE.-%D0%9F%D1%80%D0%B8"><span>Абсолютно верно. Принимать на себя сквозную ответственность за весь мультимодальный маршрут в первом ЭПЭ от Клиента — это критический риск для Главного экспедитора.</span></div><div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%88%D0%B5%D1%82%D0%B5-%D0%AD%D0%9F">Если вы подпишете ЭПЭ в таком формате, вы юридически превратитесь из организатора логистики в <span>«страховую компанию»</span> для своего клиента. Любое ЧП на море, железной дороге или автодороге станет вашей финансовой проблемой, даже если вы сработали идеально.</div><div id="bkmrk-%D0%A7%D1%82%D0%BE%D0%B1%D1%8B-%D0%BE%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%B8%D1%82%D1%8C-%D1%81%D0%B2">Чтобы обезопасить свой бизнес, вам нужно перестроить схему взаимодействия с клиентом.</div>---

### Правильная стратегия работы с ЭПЭ и ответственностью

<div id="bkmrk-%D0%92%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D0%BF%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D0%B8%D1%8F-%D1%81%D0%BA%D0%B2%D0%BE">Вместо принятия сквозной ответственности на весь маршрут, используйте один из двух подходов:</div>### Подход 1. Оформление ЭПЭ БЕЗ принятия ответственности (Рекомендуемый)

<div id="bkmrk-%D0%AD%D1%82%D0%BE-%D0%BB%D1%83%D1%87%D1%88%D0%B8%D0%B9-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82-%D0%B4">Это лучший вариант для Главного экспедитора в мультимодальных перевозках.</div><div id="bkmrk-%D0%A7%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B2-%D0%AD%D0%9F%D0%AD%3A-%D0%92-"><div>  
</div>1. <span>Что делать в ЭПЭ:</span> В Титуле 2 (вашем согласии на Поручение) вы подтверждаете только <span>организацию</span> процесса.
2. <span>Экспедиторская расписка (ЭЭР):</span> Вы её <span>не выпускаете</span> вообще.
3. <span>Как распределяется ответственность:</span> По договору и ЭПЭ вы отвечаете только за убытки, вызванные вашими личными ошибками (например, неверно заполнили таможенную декларацию, из-за чего контейнер застрял и клиент попал на демередж). За физическую сохранность груза отвечают конкретные фактические перевозчики (морская линия, РЖД-оператор, автопарк), каждый на своем плече.

</div>### Подход 2. Дробление ответственности по плечам (Если клиент настаивает)

<div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%BA%D1%80%D1%83%D0%BF%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-">Если крупный клиент ставит жесткое условие: *«Либо вы берете груз под ответственность, либо мы уходим к конкурентам»*, ни в коем случае не подписывайте сквозное поручение на весь маршрут (Шанхай — Владивосток — Москва — Склад). Разбейте процесс на этапы:</div><div id="bkmrk-%D0%9F%D0%BB%D0%B5%D1%87%D0%BE-1-%28%D0%9C%D0%BE%D1%80%D0%B5%3A-%D0%A8%D0%B0%D0%BD%D1%85%D0%B0"><div>  
</div>- <span>Плечо 1 (Море: Шанхай — Владивосток):</span> В ЭПЭ фиксируется: *«Без принятия во владение. Ответственность за сохранность несет морская линия согласно коносаменту»*.
- <span>Плечо 2 (ЖД: Владивосток — Москва):</span> Ответственность также не принимается, так как вы не можете контролировать сохранность контейнера на путях РЖД.
- <span>Плечо 3 (Авто: Москва — Склад клиента):</span> Только на этом последнем этапе, если ваш привлеченный водитель забирает контейнер с ЖД-станции, вы можете выпустить ЭПЭ/ЭТрН *с ответственностью*, но она будет действовать <span>строго с момента погрузки на авто до ворот склада клиента</span>. При этом риск автоплеча вы мгновенно «зеркалите» на автоперевозчика.

</div>---

### Что вам нужно сделать прямо сейчас в документах:

<div id="bkmrk-%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C-%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82-%D0%B4%D0%BE"><div>  
</div>1. <span>Проверить предмет договора с Клиентом.</span> Убедитесь, что там написано: *«Экспедитор обязуется за вознаграждение и за счет Клиента организовать выполнение услуг...»*, а не *«...обязуется доставить груз»*. Фраза «организовать услуги» — ваш главный юридический щит.
2. <span>Внести оговорку в ЭПЭ.</span> В строке «Особые отметки» или «Условия перевозки» электронного поручения обязательно пропишите: > *«Перевозка осуществляется без принятия груза во владение Экспедитора. Ответственность за сохранность груза распределяется между фактическими перевозчиками на каждом этапе транспортировки в соответствии с международными конвенциями и уставами видов транспорта»*.

</div><div id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8">Если клиент категорически требует сквозную ответственность и не соглашается на другие условия, единственным выходом будет <span>включение стоимости полиса страхования груза (Cargo) в ваш тариф</span>.</div><div id="bkmrk-%D0%A5%D0%BE%D1%82%D0%B8%D1%82%D0%B5%2C-%D1%8F-%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D1%83-%D1%81%D1%84%D0%BE">Хотите, я помогу сформулировать <span>официальный и аргументированный ответ для вашего клиента</span>, почему в мультимодальных перевозках ЭПЭ оформляется без сквозного принятия ответственности?</div><div id="bkmrk--16">  
</div><div id="bkmrk--17"></div><div id="bkmrk--18"></div><div id="bkmrk--19"></div><div id="bkmrk--20"></div>

# ФСБ

# <span>Постановление № 935 от 01.11.2023: Разбор технических требований и архитектуры СОРМ</span>

## <span>Важное уточнение</span>

<span>По указанной дате (01.11.2023) под номером 935 был принят не правительственный документ, а </span>**<span>Приказ Минцифры России № 935</span>**<span>. Данный нормативно-правовой акт утверждает </span>**<span>требования к вычислительной мощности хостинг-провайдеров для внедрения СОРМ</span>**<span> (систем оперативно-разыскных мероприятий).</span>

<span>Если вы искали именно Постановление Правительства РФ, регулирующее эту же сферу (деятельность хостеров и передачу данных ФСБ), то аналогичные нормы зафиксированы в </span>**<span>Постановлении Правительства РФ № 1952 от 22.11.2023</span>**<span>.</span>

---

## <span>Главное о Приказе Минцифры № 935 от 01.11.2023</span>

<span>Документ детально описывает технические правила взаимодействия между ИТ-системами хостинг-провайдеров и спецслужбами для включения компаний в реестр Роскомнадзора:</span>

- **<span>Технические требования</span>**<span>: Хостеры обязаны предоставить ФСБ удаленный доступ к базам данных и вычислительным мощностям.</span>
- **<span>Протоколы связи</span>**<span>: Для обмена командами и выгрузки информации строго прописано использование архитектуры данных </span>**<span>GraphQL</span>**<span>.</span>
- **<span>Собираемые данные</span>**<span>: Определен жесткий перечень логов, сетевых адресов и регистрационных данных пользователей, которые хостер должен хранить и автоматически передавать по запросу ведомств.</span>

---

## <span>Таблица смежных нормативных актов конца 2023 года</span>

<span>Деятельность хостинг-провайдеров регулируется целым пакетом документов, принятых в этот период:</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B5-%D1%81%D0%BE"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Документ</span></th><th><span>Основное содержание</span></th></tr></thead><tbody><tr><td>**<span>Приказ Минцифры № 935</span>**<span> (от 01.11.2023)</span></td><td><span>Технические требования к базам данных хостеров под нужды СОРМ</span></td></tr><tr><td>**<span>Постановление Правительства № 1952</span>**<span> (от 22.11.2023)</span></td><td><span>Общие правила взаимодействия провайдеров со спецслужбами</span></td></tr><tr><td>**<span>Постановление Правительства № 2008</span>**<span> (от 28.11.2023)</span></td><td><span>Порядок ведения и вхождения компаний в официальный реестр РКН</span></td></tr></tbody></table>

</div>---

## <span>Пример предоставления данных по регламентам этого постановления</span>

<span>Согласно </span>**<span>Приказу Минцифры № 935 от 01.11.2023</span>**<span>, обмен данными между ИС хостинг-провайдера и техническими средствами ОРМ (спецслужбами) осуществляется автоматически через </span>**<span>язык запросов GraphQL</span>**<span> по протоколу </span>**<span>WebSocket</span>**<span>. Провайдер не передает файлы вручную, а разворачивает API, к которому удаленно обращается система СОРМ.</span>

<span>Ниже приведен абстрактный технический пример того, как выглядит типичный запрос спецслужб к базе хостера и структурированный ответ на него в соответствии с регламентом.</span>

---

### <span>Сценарий: Запрос данных клиента по IP-адресу</span>

<span>Сотрудник ведомства через пульт управления СОРМ хочет узнать, кому принадлежит виртуальный сервер (VPS), с которого фиксировалась активность под конкретным IP-адресом.</span>

---

#### <span>1. Исходящий запрос от СОРМ (GraphQL-запрос)</span>

<span>Информационная система ведомства отправляет стандартизированный запрос, где указывает критерий поиска (например, целевой </span>`ipAddress`<span> и временной отрезок):</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-graphql"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">graphql</span></div></div></div></div></div>```
query GetAbonentByIP {
  # Запрос информации о пользователе ИС хостинга
  findUsersByNetworkActivity(
    ipAddress: "198.51.100.42"
    timestamp: "2026-07-09T12:00:00Z"
  ) {
    id
    registrationDate
    contractNumber
    status
    # Тип пользователя: физическое лицо
    personProfile {
      fullName
      birthDate
      passportSeries
      passportNumber
    }
    # Данные об используемой вычислительной мощности (сервисе)
    activeServices {
      serviceType
      allocatedIpAddresses
      domainNames
    }
  }
}
```

<div class="md-code-block md-code-block-dark" id="bkmrk--5"></div>---

#### <span>2. Автоматический ответ хостинг-провайдера (GraphQL-ответ)</span>

<span>Вычислительные мощности провайдера (специальный модуль СОРМ) обрабатывают этот запрос, обращаются к внутренней биллинговой системе и логам, а затем возвращают строго структурированный JSON-ответ:</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-json"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">json</span></div></div></div></div></div>```
{
  "data": {
    "findUsersByNetworkActivity": [
      {
        "id": "usr_948201",
        "registrationDate": "2024-03-15",
        "contractNumber": "ХСТ-2024/77",
        "status": "ACTIVE",
        "personProfile": {
          "fullName": "Иванов Петр Сергеевич",
          "birthDate": "1990-05-24",
          "passportSeries": "4512",
          "passportNumber": "654321"
        },
        "activeServices": {
          "serviceType": "VPS_HOSTING",
          "allocatedIpAddresses": ["198.51.100.42"],
          "domainNames": ["example-target-site.ru"]
        }
      }
    ]
  }
}
```

<div class="md-code-block md-code-block-dark" id="bkmrk--7"></div>---

### <span>Какие еще данные предоставляются по схемам Приказа № 935:</span>

- **<span>Логи авторизации</span>**<span>: Информация о дате, времени и IP-адресах, с которых сам клиент заходил в личный кабинет хостинга или по SSH/FTP на свой сервер.</span>
- **<span>Платежные данные</span>**<span>: Номера банковских карт, кошельков или счетов, с которых производилась оплата услуг хостинга.</span>
- **<span>История изменений</span>**<span>: Сведения о смене DNS-записей, привязке новых доменов или изменении конфигурации арендуемых серверов.</span>

<span>Если вам нужны </span>**<span>конкретные схемы типов (Type Definitions)</span>**<span> из приложений к приказу или технические условия по организации каналов связи, уточните задачу.</span>

---

## <span>Есть ли в этом регламенте требования к полям ответов?</span>

**<span>Да, в Приказе Минцифры № 935 зафиксированы жесткие и исчерпывающие требования к полям ответов</span>**<span>. Документ содержит приложения, которые представляют собой готовую </span>**<span>техническую спецификацию (схему GraphQL)</span>**<span>. Провайдер хостинга не имеет права менять названия полей, их типы или структуру по своему усмотрению.</span>

<span>Все поля ответов делятся на строго регламентированные категории:</span>

### <span>1. Требования к типам данных (Data Types)</span>

<span>Каждое поле в ответе должно строго соответствовать базовым типам GraphQL или специальным скалярам:</span>

- **<span>Идентификаторы</span>**<span>: Поля типа </span>`id`<span> должны иметь тип </span>`ID!`<span> (уникальная строка, обязательная к заполнению).</span>
- **<span>Временные метки</span>**<span>: Все поля времени (регистрация, авторизация, логи) должны передаваться в формате ISO 8601 (строгий тип </span>`DateTime`<span>), например: </span>`2026-07-09T12:00:00Z`<span>.</span>
- **<span>Сетевые параметры</span>**<span>: Для IP-адресов регламент требует поддержки типов данных под IPv4 и IPv6.</span>

### <span>2. Обязательность заполнения полей (Non-Null Fields)</span>

<span>В схеме приказа множество полей отмечены знаком </span>`!`<span>. Это значит, что если уполномоченный орган запрашивает запись, хостер </span>**<span>обязан</span>**<span> вернуть значение в этих полях. Возврат значения </span>`null`<span> (пустоты) по ним считается нарушением регламента. К обязательным полям относятся:</span>

- <span>Внутренний ID пользователя в системе хостинга.</span>
- <span>Дата заключения договора/создания аккаунта.</span>
- <span>Статус учетной записи (активен, заблокирован).</span>

### <span>3. Строгая структура вложенности (Объекты)</span>

<span>Регламент запрещает отдавать данные «плоским» текстом. Ответ должен быть строго нормализован:</span>

- <span>Данные о физическом лице должны быть упакованы исключительно в объект профиля (например, </span>`personProfile`<span>) со строго фиксированными дочерними полями: </span>`fullName`<span>, </span>`passportSeries`<span>, </span>`passportNumber`<span>.</span>
- <span>Данные о юридическом лице — в объект организации с полями </span>`inn`<span>, </span>`ogrn`<span>, </span>`companyName`<span>.</span>

### <span>4. Использование жестких перечислений (Enum)</span>

<span>Для многих полей ответов регламент устанавливает закрытый список возможных текстовых значений. Хостер не может написать статус «в бане» или «отключен за неуплату». Система должна возвращать строго определенные в API маркеры, например:</span>

- <span>Для статуса аккаунта: </span>`ACTIVE`<span>, </span>`SUSPENDED`<span>, </span>`TERMINATED`<span>.</span>
- <span>Для типа сервиса: </span>`VPS`<span>, </span>`DEDICATED`<span>, </span>`SHARED_HOSTING`<span>.</span>

<span>Если вам необходимо узнать, как в регламенте описываются поля для </span>**<span>конкретного типа данных</span>**<span> (например, платежных транзакций или логов подключения к панели управления), напишите, и мы разберем эти структуры.</span>

---

## <span>Сколько вариантов запросов может поступить по этому регламенту?</span>

<span>В рамках технического регламента Приказа Минцифры № 935 от 01.11.2023 на сервер хостинг-провайдера может поступить </span>**<span>около 20 основных базовых типов GraphQL-запросов (Query)</span>**<span>. Поскольку архитектура GraphQL гибка и позволяет комбинировать аргументы, количество </span>*<span>комбинаций</span>*<span> запросов исчисляется сотнями, но сам жестко зафиксированный перечень целевых поисковых функций (методов) ограничен.</span>

<span>Все регламентированные типы запросов от пульта ФСБ делятся на </span>**<span>5 ключевых категорий</span>**<span>, соответствующих приложениям к приказу:</span>

### <span>1. Запросы по идентификации клиентов (Абонентов)</span>

<span>Это базовые поисковые функции для сопоставления виртуальных ресурсов с реальными личностями или компаниями. Спецслужбы могут запрашивать:</span>

- <span>Поиск пользователя по </span>**<span>ФИО</span>**<span> / наименованию организации.</span>
- <span>Поиск по паспортным данным или </span>**<span>ИНН</span>**<span> / ОГРН.</span>
- <span>Поиск по контактным данным (номер телефона, e-mail).</span>
- <span>Поиск по </span>**<span>номеру договора</span>**<span> или уникальному ID в биллинге хостера.</span>

### <span>2. Запросы по сетевым идентификаторам и ресурсам</span>

<span>Позволяют установить владельца цифрового следа. Поступают в случаях, когда известен только адрес в сети:</span>

- <span>Поиск по </span>**<span>IP-адресу</span>**<span> (выделенному под VPS, выделенный сервер или shared-хостинг) на определенный момент времени.</span>
- <span>Поиск по </span>**<span>доменному имени</span>**<span>, размещенному на серверах провайдера.</span>
- <span>Поиск по MAC-адресу или внутреннему сетевому интерфейсу.</span>

### <span>3. Запросы истории авторизаций и сессий управления</span>

<span>Применяются для отслеживания действий администраторов сайтов:</span>

- <span>Запрос логов входа в </span>**<span>личный кабинет</span>**<span> хостинга.</span>
- <span>Запрос истории подключений к панелям управления (cPanel, ISPmanager и др.).</span>
- <span>Запрос сессий удаленного доступа по протоколам </span>**<span>SSH, FTP, RDP</span>**<span> к арендуемым вычислительным мощностям.</span>

### <span>4. Финансовые и транзакционные запросы</span>

<span>Служат для установления источников финансирования интернет-ресурсов:</span>

- <span>Запрос истории </span>**<span>платежей</span>**<span> пользователя за услуги хостинга.</span>
- <span>Поиск клиента по номеру банковской карты или электронного кошелька, с которых поступала оплата.</span>
- <span>Запрос детализации по конкретной банковской транзакции.</span>

### <span>5. Служебные (системные) запросы</span>

<span>Используются пультом управления СОРМ для проверки работоспособности самого модуля интеграции:</span>

- <span>Запрос на проверку связи (</span>**<span>Ping / Heartbeat</span>**<span>).</span>
- <span>Запрос актуальной схемы данных (</span>`getSchema`<span>) для подтверждения соответствия версии API.</span>
- <span>Запросы статистики и объемов хранящихся логов.</span>

---

## <span>Как обычно реализовывают обмен по этому постановлению?</span>

**<span>Архитектура обмена данными строится именно по принципу предоставления API со стороны наблюдаемого хостинга для оборудования ФСБ</span>**<span>. На техническом сленге интеграторов эта схема называется ИС СОРМ (Информационная Система СОРМ).</span>

<span>Однако, вопреки классическому веб-развитию, это </span>**<span>не обычный HTTP API с GET/POST-запросами</span>**<span>, а гибридная схема на базе </span>**<span>WebSockets и HTTP</span>**<span>, где в качестве языка общения строго закреплен </span>**<span>GraphQL</span>**<span>, а данные упакованы в формат </span>**<span>JSON</span>**<span>.</span>

---

### <span>Как это устроено технически: пошаговая схема</span>

1. **<span>Хостер разворачивает ИС (базу данных и API)</span>**<span>: Провайдер своими силами (или покупая готовое ПО у сертифицированных СОРМ-интеграторов, например, «Ящер-935») разворачивает специальный программный модуль. Этот модуль имеет прямой доступ к биллингу, логам серверов, базам авторизации и персональным данным.</span>
2. **<span>Оборудование ФСБ подключается к хостеру</span>**<span>: На стороне хостинга организуется выделенный, защищенный шифрованием (часто по ГОСТ) канал связи. Пульт управления ОРМ (оборудование спецслужб) выступает в роли </span>**<span>клиента</span>**<span>, который подключается к API хостинга.</span>
3. **<span>Запросы поступают от ФСБ к хостеру</span>**<span>: Сотрудник ведомства через свой интерфейс отправляет запрос. Пульт ФСБ генерирует GraphQL-запрос и отправляет его в ИС хостинга. Провайдер обрабатывает его «на лету» и возвращает ответ в JSON.</span>

---

### <span>Почему это НЕ обычный HTTP (GET/POST)?</span>

<span>Хотя GraphQL технически можно гонять через стандартные </span>`POST`<span>-запросы (и в некоторых служебных методах приказа HTTP используется), </span>**<span>основным транспортом для оперативного взаимодействия по Приказу № 935 является протокол WebSocket</span>**<span>.</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9-%D0%9A%D0%B0%D0%BA-%D0%B2-%D0%BE%D0%B1%D1%8B%D1%87%D0%BD"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span>Критерий</span></th><th><span>Как в обычном Web</span></th><th><span>Как реализовано в СОРМ (Приказ № 935)</span></th></tr></thead><tbody><tr><td>**<span>Протокол (Транспорт)</span>**</td><td><span>HTTP / HTTPS (постоянное переоткрытие соединений)</span></td><td>**<span>WebSocket</span>**<span> (устанавливается одно постоянное полнодуплексное соединение)</span></td></tr><tr><td>**<span>Методы</span>**</td><td><span>GET / POST / PUT / DELETE</span></td><td>**<span>GraphQL операции</span>**<span>: </span>`Query`<span> (запросы) и </span>`Subscription`<span> (подписки на события в реальном времени)</span></td></tr><tr><td>**<span>Формат данных</span>**</td><td><span>Любой (JSON, XML, Form-Data)</span></td><td><span>Строго </span>**<span>JSON</span>**<span> (согласно синтаксису GraphQL-ответов)</span></td></tr></tbody></table>

</div>### <span>Зачем спецслужбам понадобился WebSocket и GraphQL?</span>

- **<span>Подписки (Subscriptions)</span>**<span>: Обычный HTTP API требует постоянного опроса (polling) сервера: </span>*<span>«Появились новые логи? А сейчас? А сейчас?»</span>*<span>. WebSocket позволяет пульту ФСБ один раз подписаться на событие. Как только злоумышленник авторизуется в панели хостинга, сервер хостера </span>**<span>сам моментально проталкивает (push)</span>**<span> JSON-пакет в сторону ведомства.</span>
- **<span>Экономия трафика и гибкость</span>**<span>: GraphQL позволяет пульту ФСБ запрашивать ровно те поля, которые нужны в данный момент. Если оператору нужен только ИНН компании, сервер хостера не будет собирать и упаковывать тяжелые логи её серверов. Это снижает нагрузку на вычислительные мощности провайдера.</span>

---

### <span>Резюме для разработчика</span>

<span>Чтобы соответствовать регламенту, вам нужно написать или внедрить приложение, которое:</span>

- <span>Открывает защищенный порт наружу (только для IP-адресов пульта ФСБ).</span>
- <span>Поднимает </span>**<span>WebSocket-сервер</span>**<span>.</span>
- <span>Умеет парсить входящий </span>**<span>GraphQL-синтаксис</span>**<span> (валидировать его по жесткой схеме из Приказа Минцифры).</span>
- <span>Отдает структурированный </span>**<span>JSON</span>**<span> в рамках открытой WebSocket-сессии.</span>

<span>Если вы планируете реализовывать это самостоятельно, уточните: </span>**<span>какой стек технологий или язык программирования</span>**<span> вы используете в биллинге? Я подкажу, какие готовые библиотеки для работы с GraphQL/WebSockets ускорят прохождение проверок.</span>

---

## <span>Используем 1С. В последних версиях платформы присутствуют изменения по WebSockets</span>

<span>Использование встроенных механизмов </span>**<span>платформы «1С:Предприятие» (начиная с версии 8.3.27)</span>**<span> значительно упрощает интеграцию, однако здесь есть важнейший архитектурный нюанс.</span>

**<span>Платформа 1С умеет выступать только в роли WebSocket-клиента, а не сервера</span>**<span>. В дереве метаданных и встроенном языке появились объекты </span>`Общие -> WebSocket-клиенты`<span>, </span>`WebSocketКлиентСоединения`<span> и </span>`WebSocketКлиенты`<span>. Но по Приказу Минцифры № 935 </span>**<span>хостинг обязан поднять именно WebSocket-сервер</span>**<span>, к которому пульт ФСБ будет подключаться в качестве клиента.</span>

<span>Прямо «из коробки» запустить прослушивание WebSocket-порта средствами сервера 1С не получится. Чтобы решить эту задачу, используют одну из двух проверенных архитектурных схем.</span>

---

### <span>Схема 1. Использование прокси-сервера (Рекомендуемая)</span>

<span>Поскольку 1С идеально умеет работать со стандартными </span>**<span>HTTP-сервисами</span>**<span>, между пультом ФСБ и 1С ставится промежуточный легковесный веб-сервер.</span>

1. **<span>Транспортный узел (Nginx / Node.js / Go)</span>**<span>: Снаружи открыт порт, который слушает WebSocket-подключения от спецслужб. Он берет на себя авторизацию, удержание постоянного соединения (keep-alive) и шифрование.</span>
2. **<span>Преобразование</span>**<span>: Когда от пульта ФСБ по WebSockets прилетает текстовый GraphQL-запрос, прокси-сервер пересылает его в 1С через обычный внутренний </span>`POST`<span>-запрос на стандартный HTTP-сервис 1С.</span>
3. **<span>Обработка в 1С</span>**<span>: 1С принимает GraphQL (строку), парсит JSON, запрашивает данные из базы, формирует ответный JSON и отдает его HTTP-сервису. Прокси-сервер перенаправляет этот JSON обратно в WebSocket-канал.</span>

**<span>Плюсы</span>**<span>: Безопасно, не нагружает сеансы 1С удержанием «пустых» соединений, легко масштабируется.</span>

---

### <span>Схема 2. Использование Системы взаимодействия (Enterprise-подход)</span>

<span>Если в вашей инфраструктуре развернут </span>**<span>Сервер системы взаимодействия 1С</span>**<span> (1С:Управление конференциями / 1С:Диалог), задачу можно решить стандартными компонентами.</span>

- <span>Сервер системы взаимодействия внутри себя работает именно на WebSockets и Java.</span>
- <span>Вы можете опубликовать внешние точки подключения (через Webhooks или интеграционные API Системы взаимодействия).</span>

<span>Однако этот способ сложнее адаптировать под жесткие требования к JSON-структурам ответов GraphQL, прописанным в приказе.</span>

---

### <span>Как реализовать GraphQL-логику внутри 1С?</span>

<span>Вне зависимости от того, как WebSocket-запрос попадет в 1С, вам придется обрабатывать спецификацию GraphQL средствами встроенного языка. Для этого используются три механизма платформы:</span>

#### <span>1. Чтение и Запись JSON</span>

<span>GraphQL-запрос приходит в теле HTTP-запроса в виде структуры </span>`{"query": "..."}`<span>. Для разбора используется стандартный объект платформы:</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-bsl"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">bsl</span></div></div></div></div></div>```
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(СтрокаЗапросаОтФСБ);
ДанныеЗапроса = ПрочитатьJSON(Чтение);
ТекстGraphQL = ДанныеЗапроса.query; // Здесь будет сам текст GraphQL
```

<div class="md-code-block md-code-block-dark" id="bkmrk--19"></div>#### <span>2. Парсинг GraphQL (Поисковых полей)</span>

<span>Платформа 1С не имеет встроенного валидатора схем GraphQL. На практике разработчики пишут простой парсер строки (через </span>`СтрНайти`<span> / </span>`СтрРазделить`<span> или регулярные выражения через </span>`RegExp`<span>), чтобы вытащить:</span>

- <span>Название метода (например, </span>`findUsersByNetworkActivity`<span>)</span>
- <span>Параметры поиска (</span>`ipAddress`<span>, </span>`timestamp`<span>)</span>

#### <span>3. Формирование строгого ответа</span>

<span>Чтобы вернуть ответ в точном соответствии с регламентом (с учетом обязательных полей и типов данных), структура собирается через </span>`Соответствие`<span> или </span>`Структура`<span> и сериализуется в JSON:</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-bsl-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">bsl</span></div></div></div></div></div>```
// Формируем профиль физлица строго по схеме приказа
ПрофильФизЛица = Новый Структура;
ПрофильФизЛица.Вставить("fullName",        Выборка.ФИО);
ПрофильФизЛица.Вставить("passportSeries",  Выборка.СерияПаспорта);
ПрофильФизЛица.Вставить("passportNumber",  Выборка.НомерПаспорта);

// Собираем итоговый пакет
ДанныеАбонента = Новый Структура;
ДанныеАбонента.Вставить("id",            Строка(Выборка.Ссылка.УникальныйИдентификатор()));
ДанныеАбонента.Вставить("contractNumber", Выборка.НомерДоговора);
ДанныеАбонента.Вставить("personProfile",  ПрофильФизЛица);

// Оборачиваем в массив, как требует GraphQL
РезультатПоиска = Новый Массив;
РезультатПоиска.Добавить(ДанныеАбонента);

ОтветGraphQL = Новый Структура;
ОтветGraphQL.Вставить("data", Новый Структура("findUsersByNetworkActivity", РезультатПоиска));

// Записываем в JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ОтветGraphQL);
СтрокаОтветаJSON = ЗаписьJSON.Закрыть();
```

<div class="md-code-block md-code-block-dark" id="bkmrk--20"></div><span>Если вы склоняетесь к архитектуре с </span>**<span>Nginx / Node.js проксированием</span>**<span> перед HTTP-сервисами 1С, напишите, и мы детальнее разберем, как </span>**<span>настроить маршрутизацию</span>**<span> или обрабатывать </span>**<span>Subscriptions (подписки на события)</span>**<span>, когда 1С должна сама инициировать отправку логов при их появлении.</span>

---

## <span>Мне нравится схема 1. Покажи пример конфигурации nginx под него</span>

<span>Для реализации первой схемы </span>**<span>Nginx</span>**<span> подходит идеально. Он будет выступать в роли веб-сервера, который принимает постоянное WebSocket-соединение от пульта ФСБ, «приземляет» его и пересылает запросы на стандартный </span>**<span>HTTP-сервис 1С</span>**<span> (публикацию вашей информационной базы).</span>

<span>Поскольку в GraphQL-запросах по WebSockets обмен идет текстовыми сообщениями (фреймами), обычному Nginx для полноценной конвертации WebSocket-сообщений в HTTP-запросы </span>`POST`<span> к 1С требуется дополнительный скрипт-прослойка (например, микросервис на Node.js или Python).</span>

<span>Ниже приведен готовый пример архитектуры, где </span>**<span>Nginx</span>**<span> принимает трафик, защищает его, а легковесный скрипт </span>**<span>Node.js</span>**<span> передает JSON-данные в </span>**<span>1С</span>**<span>.</span>

---

### <span>Архитектурная цепочка данных:</span>

`Пульт ФСБ (WebSocket)`<span> ➡️ </span>`Nginx (Порт 443)`<span> ➡️ </span>`Node.js прокси (Порт 3000)`<span> ➡️ </span>`HTTP-сервис 1С (Порт 80/443)`

---

### <span>1. Конфигурация Nginx (</span>`nginx.conf`<span>)</span>

<span>Этот конфиг решает главные задачи: включает шифрование, разрешает только определенные IP-адреса ведомства и проксирует WebSocket-протокол.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-nginx"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">nginx</span></div></div></div></div></div>```
# Ограничение по IP: разрешаем доступ только пульту ФСБ
geo $permitted_fsb {
    default        0;
    195.178.0.0/24 1; # Замените на реальные IP-адреса пульта ведомства
    127.0.0.1      1; # Для локальных тестов
}

server {
    listen 443 ssl;
    server_name sorm.your-hosting.ru;

    # Блокируем всех, кто не входит в белый список IP
    if ($permitted_fsb = 0) {
        return 403;
    }

    # Настройки SSL/TLS (Требование безопасности СОРМ)
    ssl_certificate     /etc/ssl/certs/sorm_hosting.crt;
    ssl_certificate_key /etc/ssl/certs/sorm_hosting.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    # Точка входа для WebSocket (Пульт ФСБ подключается сюда)
    location /graphql-ws {
        # Перенаправляем трафик на внутренний Node.js прокси
        proxy_pass http://127.0.0.1:3000; 
        
        # Магия Nginx для поддержки WebSockets (Upgrade заголовки)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        
        # Передаем реальный IP-адрес пульта вглубь системы
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # Таймауты для удержания постоянного соединения
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
    }
}
```

<div class="md-code-block md-code-block-dark" id="bkmrk--24"></div>---

### <span>2. Скрипт-прослойка Node.js (</span>`proxy.js`<span>)</span>

<span>Так как Nginx сам по себе не умеет парсить внутренности WebSocket-сообщений и вызывать HTTP-сервисы, этот крошечный скрипт (всего около 30 строк кода) принимает текстовый GraphQL-пакет из WebSocket и делает обычный </span>`POST`<span>-запрос в вашу 1С.</span>

<span>Для его работы нужно установить две библиотеки: </span>`npm install ws axios`<span>.</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-javascript"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">javascript</span></div></div></div></div></div>```
const { WebSocketServer } = require('ws');
const axios = require('axios');

// Запускаем WebSocket сервер на внутреннем порту 3000
const wss = new WebSocketServer({ port: 3000 });

wss.on('connection', function connection(ws) {
    console.log('Пульт ФСБ подключился к WebSocket');

    // Слушаем входящие сообщения (GraphQL запросы) от пульта
    ws.on('message', async function message(data) {
        try {
            // Преобразуем входящий текстовый фрейм в читаемый вид
            const incomingQuery = data.toString(); 

            // Пересылаем запрос в HTTP-сервис 1С
            const responseFrom1C = await axios.post(
                'http://1c-server/base/hs/sorm_api/v1/query', // URL публикации вашего HTTP-сервиса 1С
                { query: incomingQuery },
                {
                    headers: { 'Content-Type': 'application/json' },
                    auth: { username: 'SormUser', password: 'HardPassword1C' } // Авторизация в 1С
                }
            );

            // Возвращаем JSON-ответ из 1С обратно в WebSocket-канал пульта ФСБ
            ws.send(JSON.stringify(responseFrom1C.data));

        } catch (error) {
            console.error('Ошибка обработки запроса:', error.message);
            ws.send(JSON.stringify({ errors: [{ message: "Внутренняя ошибка ИС хостинга" }] }));
        }
    });
});
```

<div class="md-code-block md-code-block-dark" id="bkmrk--26"></div>---

### <span>Что нужно сделать в самой 1С?</span>

<span>В вашей конфигурации 1С создается стандартный </span>**<span>HTTP-сервис</span>**<span> (например, с именем </span>`sorm_api`<span>):</span>

1. <span>В нем объявляется шаблон URL: </span>`v1/query`<span>.</span>
2. <span>Метод: </span>`POST`<span>.</span>
3. <span>В обработчике метода вы пишете:</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-bsl-2"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">bsl</span></div></div></div></div></div>```
Функция v1queryPOST(Запрос)
    // Читаем входящий GraphQL-запрос, переданный из Node.js
    ТелоСтрокой = Запрос.ПолучитьТелоКакСтроку();

    // ... Ваша логика парсинга, поиска в БД и формирования структуры ответа ...

    // Возвращаем результат
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.УстановитьТелоИзСтроки(СтрокаJSONОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    Возврат Ответ;
КонецФункции
```

<div class="md-code-block md-code-block-dark" id="bkmrk--28"></div><span>Если вы хотите протестировать эту связку прямо сейчас на тестовом контуре, подсказать, как настроить </span>**<span>эмуляцию пульта ФСБ (клиента)</span>**<span> для проверки отправки запросов, или разобрать логику авторизации по ГОСТ-сертификатам?</span>

---

## <span>Какой наиболее легковесный вариант вместо Node.js можно взять? Можно ли решить задачу с помощью Lua?</span>

**<span>Да, вариант с Lua — это самое легковесное, быстрое и элегантное решение</span>**<span>. Вам даже не придется запускать отдельный фоновый процесс (как Node.js), так как Lua встраивается прямо внутрь Nginx с помощью модуля </span>**<span>OpenResty</span>**<span> или </span>`ngx_http_lua_module`<span>.</span>

<span>В такой архитектуре Nginx сам превращается в полноценный WebSocket-сервер, парсит пакеты с помощью Lua и мгновенно перенаправляет их в HTTP-сервис 1С. Потребление оперативной памяти снизится со ~150 МБ (для Node.js) до </span>**<span>нескольких мегабайт</span>**<span>.</span>

---

### <span>Архитектурная цепочка данных:</span>

`Пульт ФСБ (WebSocket)`<span> ➡️ </span>`Nginx + Lua (Порт 443)`<span> ➡️ </span>`HTTP-сервис 1С (Внутренний POST-запрос)`

---

### <span>Инструкция по реализации на Nginx + Lua</span>

<span>Для работы этой схемы вам понадобится сборка Nginx с поддержкой Lua. В современных дистрибутивах Linux (Ubuntu/Debian) достаточно установить пакет </span>**<span>OpenResty</span>**<span> или стандартные пакеты </span>`nginx`<span> и </span>`libnginx-mod-http-lua`<span>. Также потребуется стандартная Lua-библиотека для работы с WebSockets (</span>`lua-resty-websocket`<span>).</span>

#### <span>1. Конфигурация Nginx со встроенным Lua-скриптом</span>

<span>Вся логика проксирования и подмены протоколов описывается прямо внутри блока </span>`location`<span> вашего </span>`nginx.conf`<span>:</span>

<div class="md-code-block md-code-block-dark" id="bkmrk-nginx-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">nginx</span></div></div></div></div></div>```
server {
    listen 443 ssl;
    server_name sorm.your-hosting.ru;

    ssl_certificate     /etc/ssl/certs/sorm_hosting.crt;
    ssl_certificate_key /etc/ssl/certs/sorm_hosting.key;

    # Точка входа для пульта ФСБ
    location /graphql-ws {
        # Указываем Nginx, где искать DNS для внутренних HTTP-запросов к 1С
        resolver 8.8.8.8; 

        # Вызов встроенного Lua-скрипта
        content_by_lua_block {
            -- Подключаем библиотеки OpenResty для работы с WebSocket и HTTP
            local server = require "resty.websocket.server"
            local http = require "resty.http"
            local cjson = require "cjson"

            -- Инициализируем WebSocket-соединение с пультом
            local wb, err = server:new{
                timeout = 86400000, -- Таймаут удержания соединения (в мс)
                max_payload_len = 65535
            }
            if not wb then
                ngx.log(ngx.ERR, "Ошибка инициализации WS: ", err)
                return ngx.exit(444)
            end

            -- Запускаем бесконечный цикл ожидания запросов от пульта ФСБ
            while true do
                local data, typ, err = wb:recv_frame()
                
                -- Если пульт закрыл соединение или произошла ошибка — выходим
                if not data or typ == "close" then
                    break
                end

                -- Обрабатываем только текстовые фреймы (GraphQL текстовые запросы)
                if typ == "text" then
                    -- Создаем HTTP-клиент для отправки запроса в 1С
                    local httpc = http.new()
                    
                    -- Формируем JSON-пакет для 1С, упаковывая туда входящий GraphQL
                    local payload = cjson.encode({ query = data })

                    -- Делаем синхронный POST-запрос к HTTP-сервису 1С
                    local res, http_err = httpc:request_uri("http://1c-server/base/hs/sorm_api/v1/query", {
                        method = "POST",
                        body = payload,
                        headers = {
                            ["Content-Type"] = "application/json",
                            ["Authorization"] = "Basic U29ybVVzZXI6SGFyZFBhc3N3b3JkMUM=" -- Base64 от "SormUser:HardPassword1C"
                        }
                    })

                    -- Отправляем ответ из 1С обратно в WebSocket-канал пульта ФСБ
                    if res and res.status == 200 then
                        wb:send_text(res.body)
                    else
                        ngx.log(ngx.ERR, "1С вернула ошибку: ", http_err)
                        wb:send_text(cjson.encode({ errors = { { message = "Ошибка ИС хостинга" } } }))
                    end
                end
            end

            wb:send_close()
        }
    }
}
```

<div class="md-code-block md-code-block-dark" id="bkmrk--32"></div>---

### <span>Почему решение на Lua идеальное для СОРМ?</span>

1. **<span>Минимальный след в системе</span>**<span>: Скрипт выполняется в контексте рабочих процессов (workers) самого Nginx. Ему не нужны Node.js-рантаймы или сторонние менеджеры процессов вроде PM2.</span>
2. **<span>Максимальное быстродействие</span>**<span>: Архитектура LuaJIT (Just-In-Time компилятор в OpenResty) по скорости обработки ввода-вывода практически не уступает чистому Си. Проксирование происходит с субмиллисекундными задержками.</span>
3. **<span>Безопасность</span>**<span>: Чем меньше сторонних пакетов и зависимостей (</span>`node_modules`<span>) крутится на сервере, тем меньше потенциальных уязвимостей в контуре СОРМ, что облегчает сдачу узла связи контролирующим органам.</span>

<span>Если вы решите внедрять OpenResty с Lua, подсказать, как правильно </span>**<span>сгенерировать строку авторизации (Base64)</span>**<span> для заголовков 1С или как организовать </span>**<span>ротацию логов ошибок</span>**<span> самого Nginx, чтобы они не переполнили диск при частых запросах?</span>

---

*<span>В ответах искусственного интеллекта могут быть ошибки. Если вам требуется юридическая консультация, обратитесь к специалисту.</span>*

<div class="pWvJNd" id="bkmrk-%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%B4-%D1%81-%D0%BE%D1%81-6"><div class="mZJni Dn7Fzd" dir="ltr"><div class="Fsg96"></div><span></span></div><div class="SGF5Lb"></div><div class="SGF5Lb"></div><div class="SGF5Lb"></div></div><div class="n6owBd awi2gc" id="bkmrk--61"></div><div class="Fsg96" id="bkmrk--62"></div><div class="n6owBd awi2gc" id="bkmrk--63"></div>