Механизмы загрузки данных по заказам и командировкам. Описание структур.
Ниже приведены ссылки на основные механизмы для работы с заказами:
Получение токена для разграничения прав доступа;
Чтобы работать с заказами, прежде всего необходимо получить токен для работы с API. Для этого нужен какой-либо пользователь с админскими правами, который подключен ко всем ST (Service Team). Также желательно, чтобы данного пользователя в дальнейшем никогда не удаляли.
Токен можно сразу сгенерировать со сроком годности несколько лет и потом никогда больше этого не делать.
Перегенерировать токен позднее может быть полезно в том случае, если сотрудник, который его знал, уволился и вы боитесь, что токен может быть скомпрометирован и использован для того, чтобы проводить несанкционированные действия с заказами клиентов.
Для генерации токена используется следующий метод - https://домен/XmlGate/V3/Authorization.asmx:
HTML/XML
POST /XmlGate/V3/Authorization.asmx HTTP/1.1
Host: booking.transtour.ru
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://corteos.ru/Login"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Login xmlns="http://corteos.ru">
<Email>string</Email>
<Password>string</Password>
<validityDate>dateTime</validityDate>
</Login>
</soap:Body>
</soap:Envelope>
HTML/XML
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LoginResponse xmlns="http://corteos.ru">
<LoginResult>
<AuthToken>
<TokenValue>guid</TokenValue>
<DateValid>dateTime</DateValid>
</AuthToken>
</LoginResult>
</LoginResponse>
</soap:Body>
</soap:Envelope>
Форматы запросов и ответов указаны в документе "Получение токена для API".
После того, как у вас появится токен, вы сможете, используя его, выгружать заказы и добавлять к заказам файлы.
Для выгрузки заказов используйте сервис Выгрузка заказа по номеру (GetSimpleReserveByIdV2).
Для добавления в заказ документа используйте сервис Добавление файла в формате base64 к заказу с указанным номером (UploadFileForSimpleReserveV2). Он принимает такие параметры:
string fileBase64 - содержимое файла в формате base64;
string fileName - название файла (например, bill-12333.pdf);
int id_Reserve - номер заказа, к которому добавляем файл;
string travelDocumentNumber - необязательный параметр. Можно передавать null - номер билета, ваучера и т. д., или, если вы вкладываете в заказ самодельный билет, используйте вместе с id_FileType = 7.
Полный список типов файлов:
<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="100" Name="Прочее" NameLatin="Other"/>
Чтобы выполнить кодирование в формат base64, можно воспользоваться любым онлайн-конвертером (например, этим).
Нажимаем на кнопку загрузки на страничке конвертера:
Выбираем файл и нажимаем кнопку "Открыть". Конвертер загрузит файл и проведет его кодирование в формат BASE64, после чего предложит варианты, в каком формате отдать код. Выбираем опцию "Show code":
Выбираем вариант "For use in <img> elements:" и нажимаем кнопку "Copy to Clipboard":
Теперь возвращаемся в наш редактор и вставляем код в нужное место запроса:
____