Постановка задач на отправку ЭПЛ

Запрос: POST documents/epl/send
HTTP-заголовки:
Authorization: Bearer access_token
Content-Type: application/json
Accept: application/json

Тело запроса:

{
    "OperatorId": "string",                     // идентификатор оператора ЭДО или EDI-провайдера
    "Documents": [                              // список документов для отправки
        {
            "Id": "guid",                       // идентификатор документа
            "MinTransId": "string",             // идентификатор в ГИС ЭПД
            "ContentFileName": "string",        // имя файла документа с расширением
            "ContentLinkId": "string",          // ссылка на контент документа в архиве
            "SignatureFileName": "string",      // имя файла подписи
            "SignatureLinkId": "string",        // ссылка на подпись в архиве
            "Commentary": "string",             // комментарий к документу
            "Number": "string",                 // наименование документа
            "Date": "YYYY-MM-DD",               // дата документа
            "PowerOfAttorney": {                // данные доверенности (МЧД)
            },
            "Carrier": {                        // сведения о владельце ТС
            },
            "Medic": {                          // сведения о медработнике
            },
            "TechnicalInspector": {             // сведения о техническом инспекторе
            }
            "OdometerController": {             // организация, ответственная за заполнение данных одометра
            }
            "DriverIds": [                      // перечень идентификаторов пользователей, которые являются водителями
            ]
        }
    ]
}

Описание запроса

Запрос позволяет поставить одну или несколько задач на отправку ЭПЛ одному оператору ЭДО, который задается полем OperatorId.

Для операторов ЭДО OperatorId - это код оператора, присвоенный ФНС (например, «2AL», «2AE», «2BM», и т.д.).

Адресация документа

Каждый документ содержит адресную информацию: от кого и кому он отправляется.

Отправитель задается идентификатором ящика в поле Carrier и, опционально, идентификатором подразделения. Структура Carrier:

{
    "BoxId": "string",          // идентификатор ящика отправителя
    "DepartmentId": "string"    // идентификатор подразделения отправителя
}

Идентификатор подразделения указывается, если пакет нужно отправить из подразделения, а не из головной организации отправителя. Ящик отправителя должен быть подключен и настроен в Продукте (см. Операторы).

Cведения о медработнике, техническом инспекторе и организации, ответственной за заполнение данных одометра, задаются в полях Medic, TechnicalInspector и OdometerController соответственно. Для задания каждого из полей необходимо заполнить структуру:

{
    "BoxId": "string",          // идентификатор ящика получателя
    "DepartmentId": "string"    // идентификатор подразделения получателя
    "FnsId": "string",          // ФНС-идентификатор получателя
    "Inn": "string",            // ИНН получателя
    "Kpp": "string"             // КПП получателя
}

Для адресации получателя существует три способа:

  • Указать идентификатор ящика получателя в поле BoxId и, опционально, идентификатор подразделения в поле DepartmentId. Идентификатор подразделения указывается, если пакет нужно отправить в подразделение, а не в головную организацию получателя.

  • Указать ФНС-идентификатор получателя в поле FnsId.

  • Указать ИНН и КПП получателя в полях Inn и Kpp. КПП не указывается, если получатель - ИП.

Примечание

Указывать адресную информацию получателя нужно одним из трех способов. Использовать более одного способа нельзя.

Идентификаторы ящиков, подразделений и ФНС-идентификаторы

Идентификатор ящика - это идентификатор учетной записи организации в сервисе оператора ЭДО. Формат идентификаторов ящиков и подразделений зависит от выбранного оператора.

ФНС-идентификатор - это идентификатор участника ЭДО. Он выдается оператором при подключении организации и указывается в атрибутах ИдФайл формализованных вложений. Обычно ФНС-идентификатор - это строка вида «код оператора + guid».

В общем случае идентификатор ящика и ФНС-идентификатор - это разные данные. В частном случае они могут совпадать.

Структура данных документа

Для каждого документа в поле DocumentId задается его идентификатор в системе, которая выполняет отправку, имя файла с расширением и имя файла подписи.

Примечание

Имя файла должно быть сформировано из значения атрибута ИдФайл плюс расширение xml.

Содержимое документа передается по ссылке, которая указана в поле ContentLinkId. Содержимое должно быть предварительно сохранено в архиве.

Для каждого документа нужно задать поле MinTransId - идентификатор документа в ГИС ЭПД Минтранса России.

Вместе с документом можно передать произвольный текстовый комментарий к нему в поле Comment. Комментарий не должен быть длинее 2000 символов. Он будет передан получателю, только если сервис выбранного оператора поддерживает передачу комментариев. В противном случае значение поля будет проигнорировано.

В поле DriverIds можно задать идентификаторы пользователей, которым в мобильном приложении будет доступен этот ЭПЛ.

Подпись передается по ссылке, которая указана в поле SignatureLinkId. Подпись должна быть предварительно сохранена в архиве.

Если для подписанта нужно указать доверенность (МЧД), то следует заполнить структуру PowerOfAttorney.

Формирование подписей

Продукт поддерживает два способа формирования подписей:

  • Локальное подписание - в этом случае формирование ЭП выполняется с помощью сертификата, установленного на машине пользователя средствами, работающими на этой же машине.

  • Серверное подписание - в этом случае формирование ЭП выполняется с помощью Crypto API Продукта. Сертификат для создания ЭП должен быть доступен для Crypto API.

В обоих случаях порядок отправки не меняется:

Ответ на запрос

Запрос ставит задачи на отправку интеграционному модулю Продукта и возвращает идентификаторы поставленных задач в виде коллекции:

[
    1,
    2,
    3,  // и т. д.
]

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