Coder Social home page Coder Social logo

Comments (8)

SLenik avatar SLenik commented on May 29, 2024 4

Кажется Вы путаете сообщение и документ.

Если прибегать к аналогиям из электронной посты, получается:
Message - переписка между двумя пользователями,
MessageId - тема писем, по которой Ваш почтовый клиент "собирает" переписку в разговор,
Entity - вложение в каком-либо одном электронном письме,
EntityId - идентификатор Вложения в каком-либо одном конкретном письме, по которому можно быстро найти его во всей переписке.

Ближе же к Вашему вопросу: скорее всего Ваш код содержит чуть больше кода (пардон за каламбур):

// Структура для формирования отправляемого сообщения
var diadocMessageToPost = new MessageToPost
{
  FromBoxId = <от кого>,
  ToBoxId = <кому>,
};

// Какой-либо отправляемый в сообщении документ (например формализованный ТОРГ-12)
var torg12 = new XmlDocumentAttachment
{
  SignedContent = new SignedContent
  {
    Content = <Данные формализованеного ТОРГ-12>,
    Signature = <Данные подписи этого документа>
  },
  CustomDocumentId = new Guid().ToString() // Понадобится в дальнейшем
}

// Добавляем документ к сообщению
diadocMessageToPost.XmlTorg12SellerTitles.Add(torg12)

// Собственно, отправка сообщения
var response = Api.PostMessage(authToken, messageToPost);

В ответе Вам вернулся объект Message, содержащий информацию о данных, которые ушли получателю.
Среди этих данных (responce.Entities) есть и ТОРГ-12 - найти его можно например так:

var sentDocument = responce.Entities.First(entity => string.Compare(entity.DocumentInfo?.CustomDocumentId ?? "",
torg12.CustomDocumentId, StringComparison.OrdinalIgnoreCase) == 0)

И теперь, зная responce.MessageId и sentDocument.EntityId, Вы можете вызвать метод API.GetDocument для получения данных по отправленнному Вами документу.

from diadocsdk-csharp.

des1roer avatar des1roer commented on May 29, 2024 1

иными словами EntityId все же обязательный, а получать его нужно из response

response.Entities[0].EntityId

from diadocsdk-csharp.

atytsky avatar atytsky commented on May 29, 2024

Читайте внимательней документацию, там есть ответы на большинство вопросов.

entityId: идентификатор документа из сообщения (может отсутствовать, если указан, то возвращаются не все сущности, а только связанные с данным документом);

from diadocsdk-csharp.

des1roer avatar des1roer commented on May 29, 2024

PathAndQuery=/V3/GetDocument?boxId=b107078171734a0a9c6366a29ec39584%40diadoc.ru&messageId=852919d9-507a-4c61-b910-d22527739d16&entityId, AdditionalMessage=Could not find or parse entityId query param, StatusCode=BadRequest, DiadocErrorCode: Http.BadRequest ---> System.Net.WebException: Удаленный сервер возвратил ошибку: (400) Недопустимый запрос.

from diadocsdk-csharp.

des1roer avatar des1roer commented on May 29, 2024

пробую var invoiceDocument = Api.GetDocument(authToken, box, "852919d9-507a-4c61-b910-d22527739d16", null);

как если бы параметр был обязательным

from diadocsdk-csharp.

des1roer avatar des1roer commented on May 29, 2024

так мне при отправке SendInvoiceXml я получаю responce.MessageId

этого же в принципе должно хватить для поиска?

from diadocsdk-csharp.

atytsky avatar atytsky commented on May 29, 2024

И ведь правда же - ошибся в предыдущем комментарии. @SLenik все верно написал.
Вам нужно получить идентификатор документа, EntityId и передать его в GetDocument.

Идентификатор документа можно найти внутри сообщения Message, там будут вложенные сущности. EntityId как раз нужно взять из них, и передать как EntityId при вызове GetDocument

from diadocsdk-csharp.

atytsky avatar atytsky commented on May 29, 2024

Да, например так.

from diadocsdk-csharp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.