Тревел-политики (ТП) (Travel_Policy)
Для проведения любой операции необходимо пройти авторизацию.
WSDL можно скачать с демо-сайта: https://demo.corteos.ru/XmlGate/V3/StaticData/TravelPolicies/TravelPolicyManagement.asmx?wsdl
Для работы в продуктовой среде необходимо заменить demo.corteos.ru на свой домен (на котором работают пользователи вашей компании).
В API реализованы следующие методы для работы с ТП:
ListByGroupV2 - получение списка ТП агентом по группе клиента. Для выполнения запроса требуется получить контекст агента.
Для выполнения остальных запросов необходимо получить контекст клиента:
GetV2 - получение ТП по первичному ключу (id_Policy);
SaveV2 - сохранение ТП;
ListV2 - получение списка ТП для компании клиента;
DeleteV2 - удаление ТП.
Разберем эти методы более подробно.
Получение списка тревел-политик договора (ListByGroupV2)
Для запроса списка тревел-политик по договору необходимо авторизоваться под агентом. Контекст клиента необязателен, то есть можно перебрать сразу несколько договоров и ТП по ним.
Значение id_Agreement - это ID договора в системе:
Запрос:
HTML/XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru">
<soapenv:Header>
<cor:AuthHeader>
<!--Optional:-->
<cor:Token>60738f57-****-****-ad8e-af5129b1b1f2</cor:Token>
</cor:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<cor:AgreementGet>
<cor:idAgreement>7554</cor:idAgreement>
</cor:AgreementGet>
</soapenv:Body>
</soapenv:Envelope>
Ответ:
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>
<AgreementGetResponse xmlns="http://corteos.ru">
<AgreementGetResult deleted="false">
<DateCreate>2019-03-18T12:15:23.443</DateCreate>
<DateChanged>2019-05-23T11:37:16.877</DateChanged>
<ExtensionData/>
<id_Agreement>7554</id_Agreement>
<id_CustomerGroup>8158</id_CustomerGroup>
<id_ProviderGroup>6031</id_ProviderGroup>
<IsCustomerApproved>true</IsCustomerApproved>
<IsSupplierApproved>true</IsSupplierApproved>
<id_ServiceTeam>1000</id_ServiceTeam>
<IsTest>false</IsTest>
<LimitDate>2019-04-22T00:00:00</LimitDate>
<ProviderName>SuperProvider</ProviderName>
<ProviderGUID>9A027BC3-5A53-4A66-8C61-3A0BEE5C7F26</ProviderGUID>
<CustomerName>ООО "Ромашка"</CustomerName>
</AgreementGetResult>
</AgreementGetResponse>
</soap:Body>
</soap:Envelope>
Далее для запроса тревел-политик организации ООО "Ромашка" потребуется значение поля id_CustomerGroup - в данном примере это "8158".
id_CustomerGroup также можно найти на вкладке "Общие" интересующего договора:
Запрос ТП:
HTML/XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru">
<soapenv:Header>
<cor:AuthHeader>
<!--Optional:-->
<cor:Token>60738f57-*-*-ad8e-af5129b1b1f2</cor:Token>
</cor:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<cor:ListByGroupV2>
<cor:idGroup>8158</cor:idGroup>
</cor:ListByGroupV2>
</soapenv:Body>
</soapenv:Envelope>
Метод принимает следующие параметры:
id_Group (обязательный) - идентификатор группы клиента
id_ReserveType (необязательный) - идентификатор типа заказа, по которому получаем ТП. Если не передавать ничего, будет возвращен список всех доступных ТП
Version (необязательный) - идентификатор версии ТП для обеспечения версионности. Если не передавать ничего, будет возвращен список всех доступных ТП
Ответ (ТП в ответе указаны по дате добавления, сортировка "раньше-позже"):
компактный вид:
развернутый вид (часть):
HTML/XML