diadoc / diadocsdk-csharp

Official Diadoc SDK for C#
MIT License
35 stars 63 forks source link

Документ ТОРГ-2 как подписать через SDK? #1063

Closed ArtMooStyle closed 1 year ago

ArtMooStyle commented 1 year ago

Добрый день! Подскажите каким образом подписать документ ТОРГ-2 через SDK?

var generatedReceipt = diadocApi.GenerateReceiptXml( authToken, BoxId, messageId, documentId, // здесь указываем идентификатор титула, т.к. мы создаём ИоП именно к нему new Signer { SignerDetails = new SignerDetails { FirstName = "Иван", Patronymic = "Иванович", Surname = "Иванов", Inn = "7750370238", JobTitle = "директор" } }); var response = diadocApi.PostMessagePatch(authToken, messagePatchToPost); Пробовал таким методом, однако статус документа на портале не изменился. Можете пожалуйста помочь?

ilzag commented 1 year ago

Добрый день! GenerateReceiptXml генерирует ИоП (извещения о получении), а не подписывает документ. Схема подписи входящих документов проста:

  1. Выясните, с каким типом документа (TypeNameId) имеете дело;
  2. С помощью GetDocumentTypes определите, требуется ли для данного документа титул получателя, либо этот документ однотитульный.
  3. С помощью этого же метода подготовьте титул получателя, если требуется - в теле ответа есть ссылки на нужные xsd-схемы.
  4. С помощью PostMessagePatch отправьте титул получателя с подписью, либо подпись (в случае с однотитульным документом).

Если требуется, можем разобрать на вашем примере, что именно поставило вас в тупик. Переоткройте тикет с телом вашего запроса и ссылкой на документ в Диадоке.