3.2.4.3. Метод CreateDraft |
Метод предназначен для создания черновика ТКТ с электронным документом.
При использовании этого метода все электронные документы должны быть упакованы в ТКТ.
|
BaseURL
Тестовый:
Продуктовый:
Авторизация
Для авторизации используются заголовки Integrator-Id и Assistant-Key.
Метод запроса и endpoint
POST {{BaseURL}}/1.3/api/createdraft/{{containername}}
|
Переменная containername - это название контейнера, в который отправляется файл. Может иметь любое значение.
Заголовки запроса
Integrator-Id: {{IntId}}
Assistant-Key: {{token}}
Content-type: application/zip
|
Пример тела запроса
Тело запроса состоит из ТКТ в двоичном (binary) формате.
Описание заголовков и параметров запроса
Заголовки
Заголовок
|
Описание
|
Integrator-Id
|
Идентификатор интеграционного решения.
Формат идентификатора:
COMPANY_AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA
|
Assistant-Key
|
Маркер временного доступа (Authorization token), который можно получить, используя методы авторизации.
|
Content-type
|
MIME тип ресурса (тип передаваемого контента).
|
Query параметры
У запроса нет query параметров.
Параметры тела запроса
Тело запроса состоит из ТКТ в двоичном (binary) формате.
Пример запроса curl--header 'Integrator-Id: {{IntID}}' \
--header 'Assistant-Key: {{token}}' \
--header 'Content-Type: application/zip' \
--data '@/{{filePath}}'
|
Заголовки ответа
API-Version: {{API-Version}}
X-AspNet-Version: {{ASP-version}}
LB: {{libraryVersion}}
Content-Type: {{contentType}}
|
Пример тела успешного ответа (200 OK)
При успешном ответе тело ответа отсутствует.
Пример тела ответа с ошибкой{
"Details": "В контейнере отсутствуют файлы, указанные в meta.xml",
"AdditionalData": "Файл в контейнере, отмеченный как тело документа, не найден или оказался пустым: Invoice/ON_NSCHFDOPPR_2AL-6A53EC3E-D4FC-4B7F-92AF-5FDE54E84FA6-00000_2AL-3F398DB4-6472-45BD-A414-CABCF05C77CE-00000_20241226_76D8F549-A60E-404F-A8A0-02C01A7435ED.xml",
"ApiErrorCode": 2105,
"CommonDescription": "Некорректный транспортный контейнер",
"DocflowInfo": null,
"StatusCode": 400
}
|
Описание заголовков и параметров ответа
Заголовки
Заголовок
|
Описание
|
API-Version
|
Версия API.
|
X-AspNet-Version
|
Версия ASP.NET технологии, поддерживающей веб-приложение.
|
LB
|
Версия библиотеки.
|
Content-Type
|
Необязательный, присутствует только в ответе с ошибкой.
MIME тип ресурса (тип передаваемого контента)
|
Параметры тела ответа
|
Пример кода C#
public void CreateDraft(string containerPath)
{
try
{
byte[] postData = File.ReadAllBytes(containerPath);
}
catch (Exception ex)
{
Assert.Fail ("File not found");
}
string containerName = Path.GetFileName(containerPath);
// Call CreateDraft method to send the read TTC
var request = (HttpWebRequest)WebRequest.Create(API_srv + "API/CreateDraft/" + containerName);
request.Headers.Add("Integrator-Id", "vendor_id");
request.Headers.Add("Assistant-Key", @"decryptedToken");
request.Method = "POST";
request.ContentType = "application/zip";
request.ContentLength = postData.Length;
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(postData, 0, postData.Length);
}
// Response
var response = (HttpWebResponse)request.GetResponse();
Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
}
|