Шаблоны, черновики и отложенное подписание титулов ЭТрН
Эта страница описывает, как подготовить титул электронной транспортной накладной (ЭТрН) заранее и отправить его после проверки или подписи.
Способы отправить титул без подписи
Заранее подготовить титул ЭТрН можно с помощью шаблона, черновика или отложенного подписания. Эти способы отличаются местом хранения документа до отправки, возможностью отредактировать и подписать подготовленный документ. Общая разница между этими вариантами описана в разделе Шаблон, черновик или неотправленный документ.
Шаблон |
Черновик |
Отложенное подписание |
|
|---|---|---|---|
Метод API |
|||
Признак |
— |
|
|
Где хранится документ до отправки |
В ящике получателя шаблона |
В ящике организации-отправителя, в черновиках |
В исходящих документах организации-отправителя |
Кто подписывает итоговый документ |
Организация-отправитель итогового документа
(идентификатор ящика |
Организация, из ящика которой создан черновик
(идентификатор ящика |
Организация, из ящика которой создан документ
(идентификатор ящика |
Кто может редактировать содержимое до отправки |
Организация, которая создает итоговый документ из
шаблона, — только в случае, если
указаны настройки редактирования
|
Черновик нельзя редактировать как документ через API.
Можно изменить реквизиты сообщения и добавить
подписи при отправке, если не установлен признак
|
Организация-отправитель — только в случае, если
указаны настройки редактирования
|
Нужен ли идентификатор ящика |
|
Только |
|
Содержимое |
XML в кодировке Base64 |
XML в кодировке Base64 |
XML в кодировке Base64 |
* EditingSettingId — настройка редактирования; определяет, какие поля документа разрешено изменить перед отправкой. Подробнее — на странице Настройки редактирования.
** LockDraft — настройка для защиты черновика от изменений: ее можно указать при создании черновика в структуре MessageToPost.
Выбор способа зависит от вашего сценария:
Чтобы оформить титул Т1 от имени другой организации (например, от имени лица, осуществляющего погрузку, или экспедитора) и направить его в ящик другой организации, отправьте шаблон.
Чтобы сохранить черновик титула и затем отправить его в ящик перевозчика, создайте черновик.
Чтобы создать документ, подписать и отправить его в ящик перевозчика позже, используйте отложенное подписание.
Шаблон
Шаблон — предварительно заполненный титул Т1 без подписи. Подробнее о шаблонах и сценариях их использования — на странице Работа с шаблонами.
Составитель шаблона не подписывает титул Т1. Это делает грузоотправитель или лицо, осуществляющее погрузку (ЛОП).
Используя настройки редактирования, можно недозаполнить шаблон и отредактировать документ перед отправкой. Если настройка задана, составитель шаблона может оставить определенные поля пустыми, и грузоотправитель дополнит документ перед отправкой.
При отправке шаблона нужно указать двух адресатов:
получателя шаблона;
получателя итогового документа.
Отправка шаблона
Чтобы отправить шаблон, вызовите метод PostTemplate. Содержимое шаблона передайте в поле UnsignedContent: для шаблона не нужно указывать подпись.
При вызове метода укажите следующие идентификаторы ящиков:
маршрут шаблона:
FromBoxId— идентификатор ящика организации, которая создает шаблон;ToBoxId— идентификатор ящика грузоотправителя: он получит шаблон и подпишет титул Т1.
маршрут будущего документа:
MessageFromBoxId— идентификатор ящика грузоотправителя;MessageToBoxId— идентификатор ящика перевозчика, будущего получателя подписанного титула Т1.
Алгоритм отправки документа из шаблона:
Вызовите метод PostTemplate и сохраните из ответа идентификатор сообщения
MessageIdшаблона и идентификатор сущностиEntityIdтитула Т1.Когда грузоотправитель получит шаблон в своем ящике, вызовите метод TransformTemplateToMessage и укажите в запросе:
BoxId— идентификатор ящика грузоотправителя;TemplateId— идентификатор сообщенияMessageIdшаблона;DocumentId— идентификатор сущностиEntityIdтитула Т1; поле входит в список преобразований документовDocumentTransformations.
В результате появится исходящее, но еще неотправленное сообщение от грузоотправителя перевозчику.
Если для шаблона задан идентификатор настройки редактирования
EditingSettingId, грузоотправитель может дополнить документ, созданный из шаблона. Для этого вызовите метод PostMessagePatch (V4) и передайте список операций редактированияEditingPatches. Дополнить документ можно только до того, как грузоотправитель подпишет титул Т1.Грузоотправитель подписывает титул Т1 квалифицированной электронной подписью (КЭП). Чтобы добавить подпись, вызовите метод PostMessagePatch (V4) и передайте ее в списке подписей
Signatures. После добавления подписи Диадок отправит титул Т1 перевозчику.
Примечание
Созданный из шаблона титул Т1 уходит от лица грузоотправителя, а не от лица вашей организации. Составитель шаблона готовит только его содержимое.
Пример тела запроса метода PostTemplate с настройкой редактирования:
{
"FromBoxId": "{{boxId_author}}",
"ToBoxId": "{{boxId_shipper}}",
"MessageFromBoxId": "{{boxId_shipper}}",
"MessageToBoxId": "{{boxId_carrier}}",
"DocumentAttachments": [
{
"TypeNamedId": "LogisticsWaybill",
"Function": "reception",
"Version": "kl_trn_mt_05_01",
"UnsignedContent": {
"Content": "{{content_t1}}"
},
"EditingSettingId": "9D2B3E4A-7F1C-4E55-A6D0-1E8C5F2B9A37"
}
]
}
Пример тела запроса метода PostTemplate без настройки редактирования:
{
"FromBoxId": "{{boxId_author}}",
"ToBoxId": "{{boxId_shipper}}",
"MessageFromBoxId": "{{boxId_shipper}}",
"MessageToBoxId": "{{boxId_carrier}}",
"DocumentAttachments": [
{
"TypeNamedId": "LogisticsWaybill",
"Function": "reception",
"Version": "kl_trn_mt_05_01",
"UnsignedContent": {
"Content": "{{content_t1}}"
}
}
]
}
Черновик
Черновик — титул без подписи. Черновик доступен только организации, которая его создала: отправить черновик другой организации нельзя. Подробнее о черновиках — в разделе Создание черновика.
Черновик используют в следующих случаях:
Поэтапное заполнение титула — промежуточное сохранение (доступно только при
StrictDraftValidation = false).Передача на подпись другому лицу.
Передача водителю на предварительное согласование.
Создание черновика
Чтобы создать черновик, вызовите метод PostMessage (V3) и установите признак IsDraft = true. В веб-интерфейсе Диадока такой черновик можно будет найти в разделе «Черновики». Он не подписан и не считается исходящим.
Черновик нужно создать в ящике отправителя: для этого в запросе нужно указать идентификатор ящика FromBoxId. Идентификатор ящика получателя ToBoxId можно не указывать. Если в черновике его не было, укажите его при отправке.
Документ может быть либо черновиком, либо с отложенной отправкой: поэтому в запросе можно указать только один признак: IsDraft или DelaySend.
Пример тела запроса метода PostMessage для черновика титула Т1:
{
"FromBoxId": "{{fromBoxId}}",
"IsDraft": true,
"DocumentAttachments": [
{
"TypeNamedId": "LogisticsWaybill",
"Function": "reception",
"Version": "kl_trn_mt_05_01",
"SignedContent": {
"Content": "{{content_t1}}"
}
}
]
}
Для отправки черновика вызовите метод SendDraft.
Правила работы с черновиком
Признак
IsDraftне нужно переводить вfalse: для отправки документа его нужно удалить из запроса. Если вы не планируете создавать черновик, уберите признакIsDraftи признак внутреннего сообщенияIsInternal: так документ не станет черновиком и внутренним документом. Оставленный признакIsDraft— частая причина, по которой документ вместо отправки контрагенту оказывается в черновиках.Обычно в черновик вкладывают полностью заполненное содержимое документа, иначе он не пройдет проверку.
Для черновика действуют те же самые требования формата, что и для документа. Чтобы отключить проверку формата, установите
StrictDraftValidation = falseв структуре MessageToPost: так можно сохранить частично заполненный титул. При вызове метода SendDraft черновик будет проверен перед отправкой. Обратите внимание, если одновременно установлен признакLockDraft = true, проверка будет выполнена независимо от значенияStrictDraftValidation. Перед отправкой черновика методом SendDraft проверка будет выполнена повторно, и некорректный документ отправлен не будет.Удаление черновика необратимо. Черновик можно удалить в веб-интерфейсе Диадока или с помощью метода RecycleDraft, но отменить удаление будет нельзя.
Содержимое черновика нельзя отредактировать через API (доступно только через веб-интерфейс). Чтобы заменить содержимое через API, удалите черновик и создайте новый. Реквизиты сообщения и подписи можно добавить при отправке методом SendDraft, если не установлен признак
LockDraft.
Отложенное подписание
Отложенное подписание — сценарий, когда документ сохраняется в ящике без подписи с возможностью подписать его позже — через API или в веб-интерфейсе. Подробнее об отложенной отправке — в разделе Отложенная отправка.
Отправка документа с отложенным подписанием
Для отправки документа с отложенным подписанием вызовите метод PostMessage (V3) и установите признак DelaySend = true. Уберите из запроса признак IsDraft и подпись.
Подписать такой документ можно с помощью метода PostMessagePatch (V4) или вручную в веб-интерфейсе Диадока. Подписание основной подписью равносильно отправке.
Пример тела запроса метода PostMessage для титула Т1 с отложенным подписанием:
{
"FromBoxId": "{{fromBoxId}}",
"ToBoxId": "{{toBoxId}}",
"DelaySend": true,
"DocumentAttachments": [
{
"TypeNamedId": "LogisticsWaybill",
"Function": "reception",
"Version": "kl_trn_mt_05_01",
"SignedContent": {
"Content": "{{content_t1}}"
}
}
]
}