diadoc / diadocapi-docs

HTTP API documentation - http://api-docs.diadoc.ru/
41 stars 90 forks source link

AcquireCounteragent и запрос со вложением, требующим подпись #661

Open root-poison opened 4 years ago

root-poison commented 4 years ago

В описании метода https://diadoc-sdk.readthedocs.io/ru/latest/http/AcquireCounteragent.html есть пункт: "Нельзя принять взаимным запросом приглашение со вложением, требующим подписи. Для принятия такого приглашения через API необходимо подписать вложенный документ с помощью метода PostMessagePatch. Сразу после подписания вложенного документа будет установлено отношение партнерства." Нигде не вижу примера или более детального описания как в таком случае принять приглашение, если оно требует подписи. К примеру для PostMessagePatch необходим MessageId, которого не вижу в списке контрагентов со статусом "InvitesMe". Подскажите, как правильно организовать этот процесс.

root-poison commented 4 years ago

Нашел MessageId и EntityId в разделе InvitationDocumentId в контрагенте. В MessagePatchToPost добавляю ReceiptAttachment с ParentEntityId = EntityId и SignedContent = подписанный документ из запроса, который получаю через /V2/GetDocflows. В итоге при отправке PostMessagePatch получаю ошибку: "(400) MessagePatchToPost.Receipts[0]: Data at the root level is invalid. Line 1, position 1" Подскажите, где ошибка?

NataliaShumikhina commented 4 years ago

В MessagePatchToPost вам нужно использовать не ReceiptAttachment, а Signatures - указать ParentEntityId = EntityId и Signature - сама подпись

root-poison commented 4 years ago

Большое спасибо, получилось! Надо бы добавить в документацию этот момент.