Comments (8)
Кажется Вы путаете сообщение и документ.
Если прибегать к аналогиям из электронной посты, получается:
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.
иными словами EntityId все же обязательный, а получать его нужно из response
response.Entities[0].EntityId
from diadocsdk-csharp.
Читайте внимательней документацию, там есть ответы на большинство вопросов.
entityId: идентификатор документа из сообщения (может отсутствовать, если указан, то возвращаются не все сущности, а только связанные с данным документом);
from diadocsdk-csharp.
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.
пробую var invoiceDocument = Api.GetDocument(authToken, box, "852919d9-507a-4c61-b910-d22527739d16", null);
как если бы параметр был обязательным
from diadocsdk-csharp.
так мне при отправке SendInvoiceXml я получаю responce.MessageId
этого же в принципе должно хватить для поиска?
from diadocsdk-csharp.
И ведь правда же - ошибся в предыдущем комментарии. @SLenik все верно написал.
Вам нужно получить идентификатор документа, EntityId и передать его в GetDocument.
Идентификатор документа можно найти внутри сообщения Message, там будут вложенные сущности. EntityId как раз нужно взять из них, и передать как EntityId при вызове GetDocument
from diadocsdk-csharp.
Да, например так.
from diadocsdk-csharp.
Related Issues (20)
- Как подписать неформализированый tovtorg_05_02_01 входящий документ HOT 2
- Документы с промежуточным получателем (proxyBoxId)
- что нужно написать ,для выбора (Доп. соглашение к договору) в (ProformaInvoice) HOT 5
- (ResolutionRequestTask.Send): ##100[Ошибка сервера Диадок]code:404, HTTP
- Как получить из подписи данные юр. лица
- Invalid API client id HOT 1
- Подписание актов Торг2
- Верно ли мы определяем дату приемки - AcceptanceDate
- GetDocflowEvents не возвращает события. HOT 1
- Работа с двутитульными документами
- Ошибка при с МЧД HOT 5
- УПД со сведениями о прослеживаемых товарах. графа 14 Стоимость товара, подлежащего прослеживаемости
- Ошибка - Попытка установить соединение была безуспешной . diadoc-api.kontur.ru:443
- Статус Контрагента
- Ограничение на частоту отправки запросов в API Диадкок
- Получить поле «группа» у контрагента. HOT 4
- Текст ошибки в API при аннулировании в роуминге
- Как получить табличную часть документа? HOT 1
- Отсутствует сущность, на которую ссылается направление на подписание
- Получить документы по id шаблона
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diadocsdk-csharp.