Добавление файла в формате base64 к заказу с указанным номером (UploadFileForSimpleReserveV2)
Добавление файлов к заказу через API аналогично стандартному прикреплению файлов к заказу вручную.
В интерфейсе добавление файлов к заказу происходит следующим образом:
- 1.1 Пример запроса
- 1.2 Пример ответа
- 1.3 Пример ошибки
- 1.4 Тест
- 2 SOAP 1.1
- 3 SOAP 1.2
Далее в списке заказов выбирается нужный заказ и в разделе "Файлы" добавляются необходимые документы:
При успешной загрузке файл появится в списке:
Для загрузки средствами API загружаемый файл необходимо конвертировать в формат base64. Это можно сделать каким-либо онлайн-конвертером (например, этим):
1) выбрать нужный файл на компьютере (или мышью зажать и перетянуть файл в обозначенную область экрана):
2) Нажать "Convert to Base64!";
3) Скопировать результат конвертирования из появившегося ниже поля:
4) Далее вставить полученный текст в запрос API.
Пример запроса
HTML/XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru">
<soapenv:Header>
<cor:AuthHeader>
<!--Optional:-->
<cor:Token>6bdc0e49-****-****-bd7c-047077f26c36</cor:Token>
</cor:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<cor:UploadFileForSimpleReserveV2>
<!--Optional:-->
<cor:fileBase64>JVBERi0xLjQKJeLjz9MNCjQgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL
0ltYWdlCi9OYW1lIC9JbTAKL1dpZHRoIDM1MDcKL0hlaWdodCAyNDgwCi9CaXRzUGVyQ29tcG9uZW50IDgKL0N
vbG9yU3BhY2UgL0RldmljZVJHQgovRmlsdGVyIC9EQ1REZWNvZGUKL0xlbmd0aCA1IDAgUgo+PgpzdHJlYW0K/
===================================дается в сокращении================================
9j/4AAQSkZJRgABAgEBLAEsAAD/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/2wBDAA8KCw0LCQ8
NDA0REA8SFycZFxUVFzAiJBwnODE7OjcxNjU+RlpMPkJVQzU2TmpPVV1gZGVkPEtudm1idVpiZGH/xAC1EAACA
QMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ
1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz</cor:fileBase64>
<!--Optional:-->
<cor:fileName>Кокер_служебка.pdf</cor:fileName>
<cor:id_Reserve>1759835</cor:id_Reserve>
<cor:id_FileType>100</cor:id_FileType>
<!--Optional:-->
<cor:travelDocumentNumber>null</cor:travelDocumentNumber>
</cor:UploadFileForSimpleReserveV2>
</soapenv:Body>
</soapenv:Envelope>
где:
Token - токен агента;
string fileBase64 - содержимое файла в формате base64;
string fileName - удобное название файла с расширением (например, Кокер_служебка.pdf);
int id_Reserve - номер заказа, к которому добавляем файл;
id_FileType - тип добавляемого файла из следующего списка:
<StableFileType id_FileType="1" Name="Счет" NameLatin="Account"/>
<StableFileType id_FileType="2" Name="Акт" NameLatin="Act"/>
<StableFileType id_FileType="3" Name="Счет фактура" NameLatin="Waybill"/>
<StableFileType id_FileType="4" Name="Накладная" NameLatin="Bargaining12"/>
<StableFileType id_FileType="5" Name="Квитанция" NameLatin="Invoice"/>
<StableFileType id_FileType="6" Name="МСО" NameLatin="MSO"/>
<StableFileType id_FileType="7" Name="Файл билета или ваучер" NameLatin="EKTK"/>
<StableFileType id_FileType="8" Name="Отчет агента" NameLatin="AgentReport"/>
<StableFileType id_FileType="9" Name="Заявка" NameLatin="Request"/>
<StableFileType id_FileType="10" Name="Ваучер на заселение" NameLatin="ArrivalVoucher"/>
<StableFileType id_FileType="11" Name="Подтверждение от поставщика" NameLatin="VerificationFromSupplier"/>
<StableFileType id_FileType="12" Name="Электронный билет" NameLatin="ETicket"/>
<StableFileType id_FileType="13" Name="Авторизационные документы" NameLatin="AuthDocuments"/>
<StableFileType id_FileType="14" Name="Приказ" NameLatin="Order"/>
<StableFileType id_FileType="15" Name="Служебное задание" NameLatin="UtilityJob"/>
<StableFileType id_FileType="16" Name="Страховой полис" NameLatin="InsurancePolicy"/>
<StableFileType id_FileType="100" Name="Прочее" NameLatin="Other"/>;
string travelDocumentNumber - необязательный параметр.
Можно передавать null - номер билета, ваучера и т. д., или, если вы вкладываете в заказ самодельный билет, используйте вместе с id_FileType = 7.
Пример ответа
HTML/XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UploadFileForSimpleReserveV2Response xmlns="http://corteos.ru">
<UploadFileForSimpleReserveV2Result>
<Trace ResponseDate="2019-09-26T15:02:36.4018156+03:00" SessionID="83XDN33LRPHU" IP="212.233.125.182" WebSite="https://demo.corteos.ru"/>
<Errors/>
<ResponseDetails>3040894</ResponseDetails>
</UploadFileForSimpleReserveV2Result>
</UploadFileForSimpleReserveV2Response>
</soap:Body>
</soap:Envelope>
где:
ResponseDetails - номер заказа, к которому был успешно прикреплен файл.
Пример ошибки
Причина ошибки:
Файл pdf был некорректно сконвертирован и в код попали лишние символы: "data:application/pdf;base64,JVBERi..."
Highlight
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UploadFileForSimpleReserveV2Response xmlns="http://corteos.ru">
<UploadFileForSimpleReserveV2Result>
<Trace ResponseDate="2019-09-26T16:13:21.6981409+03:00" SessionID="83XDN33LRPHU" IP="212.233.125.182" WebSite="https://demo.corteos.ru"/>
<Errors>
<UniversalApiError Type="FormatException" Text="Входные данные не являются действительной строкой Base-64, поскольку содержат символ в кодировке, отличной от Base 64, больше двух символов заполнения или недопустимый символ среди символов заполнения. "/>
</Errors>
<ResponseDetails>0</ResponseDetails>
</UploadFileForSimpleReserveV2Result>
</UploadFileForSimpleReserveV2Response>
</soap:Body>
</soap:Envelope>
Тест
Форма для тестирования доступна только для запросов от локальных компьютеров.
SOAP 1.1
В следующем примере показаны запрос и ответ SOAP 1.1.
Вместо элементов-заполнителей следует подставить фактические значения.
Запрос
HTML/XML
Ответ
HTML/XML
SOAP 1.2
В следующем примере показаны запрос и ответ SOAP 1.2.
Вместо элементов-заполнителей следует подставить фактические значения.
HTML/XML
HTML/XML